Professional Documents
Culture Documents
Hyperchem Full Manual
Hyperchem Full Manual
for Windows®
Getting Started
Hypercube, Inc.
Publication HC70-00-01-00 January 2002
Copyright © 2002 Hypercube, Inc.
All rights reserved
The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This
publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN
CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.
Hypercube Trademarks
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows , Windows NT, and Windows 95 are
trademarks of Microsoft Corporation.
MM2 is a trademark of Dr. Norman Allinger, University of Georgia.
CHARMm is a registered trademark of Accelrys Inc.
IBM is a registered trademark of International Business Machines Inc.
All other brand and product names are trademarks or registered trademarks of their respective holders.
PRINTED IN USA
Table of Contents
Introduction 1
iii
3. Installing HyperChem 7 on Client machines. . . . 11
Hardware-Licensed Standalone Installation . . . . . . . . . . 12
How the Hardware Lock Works . . . . . . . . . . . 13
Before Installing the Hardware Lock . . . . . . . . . . 13
Types of Standalone Hardware Locks . . . . . . . 13
Replacing the Hardware Lock . . . . . . . . . 14
Installation Instructions . . . . . . . . . . . . . . 14
Installing the Hardware Lock . . . . . . . . . . . . 15
Converting a Hardware Lock to a Software Lock . . . . . . 16
Hardware-Licensed Network Installation . . . . . . . . . . . 16
Installation Instructions . . . . . . . . . . . . . . 16
1. Install the SuperPro Server Software . . . . . . 16
3. Installing HyperChem 7 on Client machines. . . . 18
Evaluation Installation . . . . . . . . . . . . . . . . . 19
Windows NT, 2000 or XP Professional Issues . . . . . . . . . . 19
Technical Support . . . . . . . . . . . . . . . . . . 20
Obtaining Support from Your Dealer . . . . . . . . . . 20
Obtaining Support from Hypercube, Inc. . . . . . . . . 20
HyperChem Discussion Group . . . . . . . . . . . . 21
iv Table of Contents
Using the Mouse . . . . . . . . . . . . . . . . . . 29
Keyboard Alternatives . . . . . . . . . . . . . . . . . 31
Keyboard Shortcuts . . . . . . . . . . . . . . . . . . 32
Opening a Sample File . . . . . . . . . . . . . . . . . 33
Scrolling Through the List of Files . . . . . . . . . . 34
Changing Directories . . . . . . . . . . . . . . 35
Selecting a File . . . . . . . . . . . . . . . . 35
Using Display Settings . . . . . . . . . . . . . . . . . 37
Using Labels . . . . . . . . . . . . . . . . . 38
Using Different Molecular Renderings . . . . . . . . . 39
Exiting HyperChem . . . . . . . . . . . . . . . . . 43
For More Information . . . . . . . . . . . . . . . . . 44
Table of Contents v
Lesson 4 Translating, Rotating, and Scaling Molecules 69
Skills Covered in This Lesson . . . . . . . . . . . . . . . 69
Reopening a HIN file. . . . . . . . . . . . . . . . . . 69
XY Translation . . . . . . . . . . . . . . . . . . . 70
Z Translation . . . . . . . . . . . . . . . . . . . . 72
Using the Zoom Tool . . . . . . . . . . . . . . . . . 73
Centering and Scaling . . . . . . . . . . . . . . . . . 74
XY Rotation . . . . . . . . . . . . . . . . . . . . 75
Z Rotation . . . . . . . . . . . . . . . . . . . . . 76
Z Clipping . . . . . . . . . . . . . . . . . . . . . 76
Clearing the Workspace . . . . . . . . . . . . . . . . . 79
Practice Exercises . . . . . . . . . . . . . . . . . . . 79
For More Information . . . . . . . . . . . . . . . . . 80
vi Table of Contents
Lesson 7 Selecting and Displaying Subsets 99
Skills Covered in This Lesson. . . . . . . . . . . . . . . 99
Creating an Alpha Helix . . . . . . . . . . . . . . . . 99
Labeling the Ends . . . . . . . . . . . . . . . . . . 100
Selecting the Backbone . . . . . . . . . . . . . . . . 102
Coloring the Backbone . . . . . . . . . . . . . . . . 104
Displaying Only the Backbone . . . . . . . . . . . . . . 104
Displaying the Side Chains . . . . . . . . . . . . . . . 105
Complementing a Subset . . . . . . . . . . . . . . . . 106
Rectangular Selection . . . . . . . . . . . . . . . . . 107
Spherical Selection . . . . . . . . . . . . . . . . . . 108
Naming a Selection . . . . . . . . . . . . . . . . . . 110
Selecting a Ring . . . . . . . . . . . . . . . . . . . 111
Selecting a Side Chain . . . . . . . . . . . . . . . . . 111
For More Information . . . . . . . . . . . . . . . . . 112
Table of Contents ix
Lesson 13 Electronic Properties of Proteins 209
Skills Covered in This Lesson . . . . . . . . . . . . . . 209
Before You Begin . . . . . . . . . . . . . . . . . . 210
Reading In and Displaying the Molecule . . . . . . . . . . 210
Choosing the Area of Interest . . . . . . . . . . . . . . 211
Choosing a Classical-quantum Boundary . . . . . . . . . . 213
Calculating a Wave Function . . . . . . . . . . . . . . 214
Using the Results in Other Calculations. . . . . . . . . . . 217
Practice Exercises . . . . . . . . . . . . . . . . . . 217
For More Information . . . . . . . . . . . . . . . . 218
x Table of Contents
Optimizing the Ground State of Ethylene. . . . . . . . . . . 241
Orbitals of Ground State Ethylene . . . . . . . . . . . . . 242
CI and the Electronic Spectrum of Ethylene . . . . . . . . . . 244
Geometry and Energy of Triplet Ethylene . . . . . . . . . . . 246
Practical Exercises . . . . . . . . . . . . . . . . . . 248
For More Information . . . . . . . . . . . . . . . . . 248
Table of Contents xi
Creating Other Programs . . . . . . . . . . . . . . . 276
For More Information . . . . . . . . . . . . . . . . 276
Index 305
xii
Introduction
1
• “HyperChem Data,” which discusses a module for performing
database operation with HyperChem. Use this part to find out
about retrieving and storing molecules and results from Hyper-
Chem in a database.
2 Introduction
Introduction
Chapter 1
Installing HyperChem
Introduction
This chapter contains information on the following:
• System Requirements
• Registering HyperChem
• Licensing Options
• Software-Licensed Standalone Installation
• How the Software-License Works
• Installation Instructions
• Software-Licensed Network Installation
• Installation Instructions
• Network Version
• Hardware-Licensed Standalone Installation
• How the Hardware Lock Works
• Before Installing the Hardware Lock
• Installation Instructions
• Installing the Hardware Lock
• Converting a Hardware Lock to a Software Lock
• Hardware-Licensed Network Installation
• Installing the Network License Server Software
• Evaluation Installation
• Windows NT, 2000 or XP Professional Issues
• Technical Support
Installing HyperChem 3
System Requirements
Readme File
After you install HyperChem, be sure to read the readme.txt file.
The readme.txt file contains information on late developments
that are not be included in the HyperChem documentation set.
To access the readme.txt file, open the HyperChem Release 7 folder
on the Windows Start Menu and choose Readme.
System Requirements
Computer
An IBM compatible PC with an Intel Pentium II or compatible
CPU (or appropriate emulator such as Virtual PC).
Memory
HyperChem requires a minimum of 32Mb of RAM. It is recom-
mended that you have 128Mb or more of RAM for better perfor-
mance.
Storage/Disk space
The full installation of HyperChem requires about 150 Mb of disk
space. The minumal installation requires about 52 MB. Additional
disk space will be required depending on the computational run-
time requirements.
CD-ROM
A CD-ROM or compatible DVD device is required to install the
HyperChem software.
4 Chapter 1
Registering HyperChem
Display
HyperChem recommends video displays capable of at least 1024 x
768 resolution at High Color (16 bit depth). The minimul display
capablilites supported are 640 x 480 resolution at 8 bit, 256 color
depth. It is recommended that you use more than 256 colors.
Visualization of the "Save As HTML" pages created by HyperChem
and the Raytrace feature require High Color (16 bit depth).
Pointing Devices
A Microsoft mouse or other pointing device compatible with
Microsoft Windows is required.
Optional Hardware
You can use the Microsoft Windows settings to add and choose a
printer if you want to print the molecular images created with
HyperChem.
Registering HyperChem
Your HyperChem package includes a license agreement that you
should read carefully. It explains our obligations to you, and yours
to us. After reading the agreement, fill out the registration card and
mail it back to us.
Licensing Options
The unified product CD-ROM offers a variety of licensing options
that must be specified during the installation of the product
according to the type of license you have received from Hyper-
cube, Inc.
Installing HyperChem 5
Software-Licensed Standalone Installation
6 Chapter 1
Software-Licensed Standalone Installation
Installation Instructions
Standalone installation is carried out as follows:
1. Install the software-locked standalone version of HyperChem
on your local PC.
2. Learn the locking codes (fingerprint of your local PC) of our
local PC by either trying to execute HyperChem or by running
the echoid.exe program included with your installation.
3. E-mail license@hyper.com with your HyperChem serial num-
ber and the locking codes generated in the previous step.
4. Hypercube, Inc. will e-mail back to you the license key (as a
file) that will unlock your software. Place this file (license.lic)
in an appropriate place on your PC such as in the HyperChem
Program folder.
5. Try executing HyperChem again. This time open the
license.lic file at the appropriate time as requested to perma-
nently install your license. From then on, your local copy of
HyperChem will run as long as the license.lic file remains in
the specified folder.
Licensing HyperChem
When licensing HyperChem for the first time, execute Hyper-
Chem from the Start Menu. The Client Activator will start and
present the option to Activate Now. Select this option to display
the locking code. Send an email message to license@hyper.com
with the following information:
• Name
• Email address
• Postal Address
• Telephone number
• Fax number
• Serial Number
• Locking code
• Name of dealer where purchased
Installing HyperChem 7
Software-Licensed Network Installation
8 Chapter 1
Software-Licensed Network Installation
Installation Instructions
1. Install the Sentinel License Manager Software
On the computer which is to act as a license key server, insert the
HyperChem 7 CD to start the Setup program. If the initial install
screen does not appear, start the Setup program by double clicking
on the 'setup.exe' filename or the setup icon from the CD.
Proceed, following the on-screen instructions. Select to install the
'Purchased Product' for product type and 'Networked' for license
type. Then select to install the 'Network License Server' and select
'Software-locked' for the license server type.
After entering your registration and dealer information, you will
be presented with a choice for the destination folder. Choose a
name for the License server directory (e.g. C:\Hyper7_Server) and
click Finish. This will install the SentinelLM software components
on the target machine. Once this step is completed, the setup pro-
gram will exit. (This document assumes that C:\Hyper7_Server is
the folder to which the license server application is installed from
this point forward.)
Using a file browser open the license server folder
(C:\Hyper7_Server). You will find folders named 'Admin' and
'Server'. The 'Admin' folder contains utilities for the network
administrator to install the licence and maintain the license server
and the 'Server' folder contains the server application.
Installing HyperChem 9
Software-Licensed Network Installation
• Postal address
• Telephone number
• Fax number
• Name of dealer where purchased
• Serial number
• Locking code
• Number of network licenses purchased
• A list of IP subnets (maximum of 7) from which the client
computers will access the license server.
On receipt of this information, Hypercube, Inc. will generate a
license key and send it to you via e-mail. When you receive the
email containing the license file, copy the attached file to a safe
location on your computer, and install the license following the
steps here.
A. Start the License Manager Service
To install and start the license server under Windows NT, 2000 or
XP, execute "loadls.exe" from license server folder (usually
'C:\Hyper7_Server\server\winnt'). This utility will prompt you for
the location of the 'lservnt.exe' server file. Click "Add" to install
and start the SentinelLM service.
To start the license server under Windows 95, 98 or ME, first start
the 'MS-DOS Prompt' and change to the license server folder (usu-
ally 'C:\Hyper7_Server\server\win9x'). Then execute 'lserv9x.exe'
to start the server.
B. Install the license
At the command prompt change to the License Manager adminis-
tration tools folder (usually 'C:\Hyper7_Server\admin'). Then
install the license by typing 'lslic -F licensefile.lic' where 'license-
file.lic' is the license file you received from Hypercube, Inc. (Be sure
to type a capital letter for the -F command.)
C. Confirm the installation
Two utilities are provided for querying the License Manager Soft-
ware to confirm the proper installation of the license. A graphical
program, "wlmadmin.exe" will scan the subnet for SentinelLM
servers and return the number of licenses installed, current usage,
and other diagnostic information. A command-line utility,
’lsmon.exe’ gives similar information. These utilities are installed
10 Chapter 1
Software-Licensed Network Installation
Installing HyperChem 11
Hardware-Licensed Standalone Installation
12 Chapter 1
Hardware-Licensed Standalone Installation
Installing HyperChem 13
Hardware-Licensed Standalone Installation
Installation Instructions
Important: Make sure that the hardware lock is not present on the
parallel port or USB port while installing HyperChem. Also, if you
are updating the hardware lock driver, called the Sentinel System
Driver, make sure to remove the hardware lock. The driver instal-
lation may cause the hardware lock to become damaged.
1. Insert the HyperChem 7 CD into a CD or compatible drive.
2. If the Windows Autorun feature is enabled, the installation
options will be displayed automatically. If the installation
options do not appear, open the Windows Start Menu and
choose Run. The Run dialog box opens.
3. Enter the following command in the open text box:
D:setup
14 Chapter 1
Hardware-Licensed Standalone Installation
Installing HyperChem 15
Hardware-Licensed Network Installation
16 Chapter 1
Hardware-Licensed Network Installation
Installation Instructions
1. Install the SuperPro Server Software
A. Install the SuperPro Server software
On the computer which is to act as a license key server, insert the
HyperChem 7 CD to start the Setup program. If the initial install
screen does not appear, start the Setup program by double clicking
on the 'setup.exe' filename or the setup icon from the CD.
Proceed, following the on-screen instructions. Select to install the
'Purchased Product' for product type and 'Networked' for license
type. Then select to install the 'Network License Server' and select
'Hardware-licensed' for the license server type.
After entering your registration and dealer information, you will
be presented with a choice for the destination folder. Choose a
name for the License server directory (e.g. C:\Hyper7_Server) and
click Finish. This will install the Sentinel System Driver and the
SuperPro Server application. (This document assumes that
C:\Hyper7_Server is the folder to which the license server applica-
tion is installed from this point forward.)
Important: Make sure that the Sentinel System Driver is completely
installed before attaching the parallel port or USB port hardware
lock. Damage to the hardware lock is possible if the lock is present
during the driver installation. Rebooting the computer will be
required on Windows 95, 98 and ME, to install the Sentinel System
Driver. Also, if you are updating the Sentinel System Driver, make
sure to remove the hardware lock.
B. Installing the Hardware lock
When installing the parallel port hardware lock, you should shut
down the server and all parallel port devices. Place the hardware
lock on the license server computer and restart the system. The
USB hardware lock may be installed while the system is running.
C. Start the SuperPro Server
To install and start the license server under Windows NT, 2000 or
XP, execute ’loadlserv.exe’ from license server folder (usually
'C:\Hyper7_Server\server\winnt'). This utility will prompt you for
the location of the 'lservnt.exe' server file. Click "Install Service" to
install and start the SentinelLM service.
Installing HyperChem 17
Hardware-Licensed Network Installation
To start the license server under Windows 95, 98 or ME, first start
the 'MS-DOS Prompt' and change to the license server folder (usu-
ally 'C:\Hyper7_Server\server\win9x'). Then execute
'spnsrv9x.exe' to start the server.
D. Confirm the installation
A monitor utility is provided to query the SuperPro Server for cur-
rent license usage. The utility will scan the subnet and report the
number of licenses that are installed and in use on all running
servers in the subnet.
Important: If a router (gateway) is present between the license
server computer and the HyperChem clients, the licensing mech-
anism will not be able to use the broadcast method of locating the
license server. Other network equipment may also block broadcast
calls. If this is the case, make sure that the name resolution is pos-
sible between the two subnets. For further information, contact
Hypercube, Inc. Technical Support "support@hyper.com".
For further information on the Rainbow Technologies SuperPro
server and monitor utility, please consult the accompanying Sen-
tinel SuperPro System Administrator's Guide (SentinelSP Sys
Admin Guide.pdf). Use Adobe Acrobat Reader to view the Guide.
18 Chapter 1
Evaluation Installation
Evaluation Installation
A special evaluation option is available for those users who wish to
run HyperChem for a before purchasing the software. The Evalu-
ation is a fully functional version of HyperChem that contains a
free time-limited license. This option is intended for product eval-
uation, and will expire after the evaluation period is over. After
expiration, HyperChem will no longer function. The setup screen
will guide you through the evaluation version installation.
Installing HyperChem 19
Windows NT, 2000 or XP Professional Issues
Technical Support
20 Chapter 1
Technical Support
If you think that you have found a bug or error in the software, or
if you have suggestions for improvements or features that you
would like to see in it, please contact us by E-mail at
support@hyper.com
or by the routes for support described in the information in the
product package.
Installing HyperChem 21
Technical Support
22 Chapter 1
Chapter 2
Learning HyperChem
Introduction
This chapter outlines how HyperChem works; it has four main
parts:
23
Using On-line Help
Before you begin, make sure that the installation and configura-
tion procedures in Chapter 1, “Installing HyperChem,” is complete.
24 Chapter 2
Tutorial 1
HyperChem Basics
25
Lesson Information covered Time to
complete
26 Tutorial 1
Lesson 1
Getting Started
Starting HyperChem
To start HyperChem:
1. Click on the Start button, then Programs, then HyperChem
Release 7. You should see a green beaker icon labelled Hyper-
Chem Professional. Click on this item to start HyperChem.
Depending on the version of Windows you are using you may
also see the green beaker icon in other contexts.
The HyperChem window opens. Depending upon the version
of HyperChem you are using, the window may look slightly
different from that below. The differences are not important in
this context.
27
Parts of the HyperChem Window
maximize/restore button
Control-menu button title bar minimize button Exit
button
menu bar
workspace
mouse pointer
Title Bar
The title bar shows the name of the file you are working on. If you are
working on a file not previously saved, the name appears as untitled.
Menu Bar
The menu bar contains the names of the different HyperChem
menus: File, Edit, Build, Select, Display, Databases, Setup, Com-
pute, Annotations, Cancel, Script, and Help.
Tool Bar
The left side of the Tool bar contains the eight tools icons that you
use to draw, select, display, and move atoms and molecules. To the
28 Lesson 1
Using the Mouse
right are the four tool icons associated with annotations. To the
right of this are the toolbar icons which provide shortcuts for oper-
ations such as reading and writing files, copying and pasting struc-
tures, and using the on-line help.
Workspace
The workspace is where HyperChem displays the current molecu-
lar system.
Status Line
The status line shows information such as the number of atoms in
the molecule that is currently displayed, the status of a calculation,
or an energy or gradient value. When you choose a menu item, a
brief description of the item appears in the status line.
Help
You use the Help menu to gain access to on-line help.
Maximize/Minimize Buttons
This button expands a window to its maximum size. Some win-
dows take up the entire screen when they’re maximized; others
change just slightly. You can restore a window to its original size
by clicking the Maximize button again.
Getting Started 29
Using the Mouse
30 Lesson 1
Keyboard Alternatives
Keyboard Alternatives
HyperChem provides standard Windows keyboard alternatives to
using the mouse.
Each menu in the title bar has an underlined letter. When you
press the [Alt] button and this letter, the menu opens.
Getting Started 31
Keyboard Shortcuts
Keyboard Shortcuts
HyperChem also has various keyboard shortcuts. Use the follow-
ing shortcuts when you want to avoid using the equivalent menus
or menu items:
[Ctrl] + [N] Same as New on the File menu.
[Ctrl] + [O] Same as Open on the File menu.
[Ctrl] +[S] Same as Save on the File menu.
32 Lesson 1
Opening a Sample File
Getting Started 33
Opening a Sample File
3. L-click on Open.
The Open File dialog box appears:
34 Lesson 1
Opening a Sample File
scroll boxes
Changing Directories
If the file you want is not in the current directory, the Directories
list box lets you change to a different directory or disk drive.
Selecting a File
To select a file:
1. In the Files list box, go to the Samples/Aromatic directory and
L-click on c60.hin.
HyperChem displays that name in the File Name text box.
Note: You can also enter a filename by entering it in the File Name text
box.
When a filename is highlighted, any comments contained
within the file appears in the Comments text box at the bot-
tom of the Open File dialog box.
Getting Started 35
Opening a Sample File
36 Lesson 1
Using Display Settings
Getting Started 37
Using Display Settings
Using Labels
If the molecule is displayed with labels, remove them using steps
1 and 2. Otherwise, skip to “To use labels.”
To use labels:
1. L-click on Labels.
The labels dialog box appears.
2. Choose Symbol as the atom label type, and then choose OK.
The dialog box closes and the molecule is labeled by atomic
symbol.
38 Lesson 1
Using Display Settings
2. Choose Balls in the list, and then click on the “tab” at the top
labelled Balls to show the Balls Options property sheet:
Getting Started 39
Using Display Settings
40 Lesson 1
Using Display Settings
Getting Started 41
Using Display Settings
This representation gives you a good idea of the shape and vol-
ume occupied by the molecule.
7. Choose Rendering on the Display menu to open the dialog box
once more.
8. Choose Balls and Cylinders. Then go to the Balls property sheet
by clicking on the Balls tab at the top of the dialog box, and
turn on the Shading and Highlight options (both marked
with ✓). Then choose OK to close the dialog box.
42 Lesson 1
Exiting HyperChem
9. Press the [F2] key to restore the previous rendering options. This
is the equivalent of selecting Last Rendering on the Display
menu, and returns the display to the sticks and dots that were
used before the most recent change to the rendering options.
10. Open the Rendering dialog box again, choose Sticks, and then
choose OK.
The molecule appears in its original stick rendering.
Exiting HyperChem
For now, exit HyperChem.
To exit HyperChem:
1. Select Exit on the File menu.
If the program warns you about saving changes to the file,
click on “No”.
The window closes.
Getting Started 43
For More Information
44 Lesson 1
Lesson 2
Basic Drawing and Editing
Techniques
Reopening HyperChem
To reopen HyperChem:
1. Point to the HyperChem icon in the WorkSpace.
2. Double-click on the icon.
The HyperChem window opens.
45
Drawing Atoms
Drawing Atoms
To draw an atom:
1. Open the Element Table dialog box.
There are two ways to do this:
The Default Element dialog box lets you choose the default ele-
ment from the periodic table.
2. If you click on the Properties... button, a box showing the phys-
ical properties of the currently-selected element are displayed.
Or, if you shift-click on an element button, the properties for
that element are displayed. Try this for carbon (C):
46 Lesson 2
Drawing Atoms
Drawing Bonds
Normally, instead of drawing unbonded atoms, you draw bonded
atoms:
To draw a bond:
1. Move the cursor above the first carbon you drew.
2. Press and hold down the left mouse button.
This is the location of the first atom of the bond you are
drawing.
3. Continue to hold down the left mouse button and drag
(L-drag) diagonally toward the top of the workspace.
48 Lesson 2
Drawing Bonds
50 Lesson 2
Selecting Atoms
Now that you know how to draw atoms and bonds, you learn basic
selection techniques.
Selecting Atoms
In this exercise, you learn basic selection techniques by selecting
atoms. First, you must set the level of selection (atoms, residues, or
molecules) that you want.
To select atoms:
1. L-click on the Selection tool and move the cursor into the
workspace.
The cursor assumes the shape of the Selection tool. This means
HyperChem is in selection mode.
2. L-click on one of the atoms you created.
This highlights the atom. When you select items, they are
highlighted in the workspace.
Note: You can set the type of highlight you want in the Prefer-
ences dialog box. Preferences is on the File menu.
52 Lesson 2
Selecting Groups of Atoms
To deselect atoms:
1. R-click on an unbonded atom.
The atom is no longer highlighted.
2. R-click on the middle of a selected bond.
The atoms at the end of the bond (and any bonds to them) are
no longer highlighted.
54 Lesson 2
Deleting Atoms
Deleting Atoms
To delete a single atom or a bond:
1. L-click on the Drawing tool to get into drawing mode.
2. R-click on the atom you want to delete, or on the middle of the
bond you want to delete.
The atom or bond disappears.
56 Lesson 2
Lesson 3
Creating Small Molecules
in 2D and 3D
Now that you can draw atoms and bonds, you are ready to draw a
2D sketch of a molecule. Although HyperChem lets you draw mol-
ecules of any size, for practical reasons we recommend you limit
these drawings to small and medium-size molecules.
In this exercise, you draw the backbone of 1-hydroxy-3-phenyl-2-
propene. Only the connectivity of the molecule is relevant. Don’t
worry about angles between bonds or the length of the bonds you
are drawing.
After you draw the 2D sketch, you modify the drawing and use the
HyperChem Model Builder to produce a 3D representation of the
molecule.
Reopening HyperChem
1. Reopen HyperChem, if necessary.
2. Expand the HyperChem window to full size.
57
Drawing a 2D Sketch
Drawing a 2D Sketch
To draw the 2D sketch:
1. Double-click on the Drawing tool.
The Element Table dialog box opens.
2. Turn Allow Arbitrary Valence on and Explicit Hydrogens off.
When you draw with Explicit Hydrogens turned off, hydrogen
atoms are not automatically added.
3. Choose Carbon, then close the dialog box.
Carbon is set as the default element and the dialog box closes.
4. Draw the following:
58 Lesson 3
Saving Your Work in a File
7. L-click on OK.
HyperChem saves your drawing on disk in a file named
propene.hin. The filename appears in the title bar at the top of
the screen.
The next time you use Save to save this file, the dialog box is
not displayed.
60 Lesson 3
Changing Bond Orders
62 Lesson 3
Labeling Atoms
Labeling Atoms
Before you start editing atoms, make it easier to see what you’re
doing by labeling the atoms.
To label atoms:
1. Select Labels on the Display menu.
The Labels dialog box disappears and all atoms are labeled with
the atomic symbol C.
64 Lesson 3
Invoking the Model Builder
66 Lesson 3
Saving the Structure
69
XY Translation
XY Translation
You use the XY translation tool to move molecules or selected
atoms along the plane of the computer screen.
You can control this tool different ways, just as you can most tools
in the tool bar.
In this exercise, you do XY translation first by L-click-dragging in
the workspace, and later by specifying a value in the Translation
dialog box.
70 Lesson 4
XY Translation
Z Translation
In the previous exercise, you moved the molecule back and forth
across the plane of the computer screen by L-dragging the XY
translation tool across the workspace and by opening the Transla-
tion dialog box.
In this exercise, you move the molecule toward and away from you
(along the z axis) using the Z translation tool.
72 Lesson 4
Using the Zoom Tool
74 Lesson 4
XY Rotation
XY Rotation
To rotate one or more molecules around the x or y axis or both
axes, use the XY rotation tool.
Z Rotation
With the Z rotation tool, you can rotate molecules around the
z axis.
Z Clipping
The Z clipping tool helps you look inside molecules by showing
you atoms within a “slice” of a molecule.
The “slice” or clipping slab for the molecular system has a front and
back plane that are parallel to each other and the computer screen.
Only atoms between the planes are visible.
The default clipping slab sets the clipping planes so that you can
see the complete molecule or molecular system.
To help you see where the clipping slab is, the Z Clip dialog box
shows you a view from above the system with the clipping planes
behind and in front of the molecule. It also lets you change the
values interactively or set explicit values for both planes.
76 Lesson 4
Z Clipping
3. Point to the scroll box that controls the back clipping slab.
4. L-drag the scroll box down until a back part of the molecule is
clipped.
When you drag the scroll box, the value changes in the Slab
text box for the back clipping plane.
5. L-click on OK.
The dialog box disappears. The back part of the molecule is
clipped in the workspace.
78 Lesson 4
Clearing the Workspace
Practice Exercises
Try some of these practice exercises:
1. Rotate and translate a molecule while Show Inertial Axes on
the Display menu is on.
2. If you have several molecules on the screen you can select one
of them by choosing Molecules on the Select menu, and rotate
it alone around its center of mass by using R-drag instead of L-
drag.
80 Lesson 4
Lesson 5
Measuring Structural
Properties
Creating a 2D Sketch
To get into drawing mode:
1. If necessary, reopen HyperChem.
2. Select the Drawing tool.
81
Editing the Sketch
82 Lesson 5
Building the 3D Structure
Atom Characteristics
To get information on atom characteristics:
1. On the Select menu, make sure that Atoms is chosen and that
Multiple Selections is not.
2. L-click on the Selection tool.
3. L-click on the oxygen atom.
The selected atom is highlighted and the atom characteristics
appear in the status line.
84 Lesson 5
Measuring Bond Distances
The status line shows the atom number, the atom type, and
the charge for the current molecular mechanics force field. It
also shows the x, y, and z coordinates of the atom.
The Build menu items Set Atom Type, Set Charge, and Constrain
Geometry become active. This lets you specify non-default
atomic properties for the Model Builder.
4. Select other atoms and compare atom characteristics shown in
the status line.
When you select a bond, the Build menu item Constrain bond
length becomes active. This lets you specify non-default bond
lengths for the Model Builder.
86 Lesson 5
Measuring Torsion Angles
88 Lesson 5
Hydrogen Bonds
Hydrogen Bonds
To help you confirm favorable conditions for hydrogen bonding,
HyperChem calculates and displays hydrogen bonds.
A hydrogen bond is formed if the hydrogen-donor distance is less
than 3.2 Ångstroms and the angle made by covalent bonds to the
donor and acceptor atoms is less than 120 degrees. You may need
to rotate the –NH2 group or the –OH group (see “Rotating a Side
Chain” on page 124) in order to meet these conditions before you
can display a hydrogen bond for this structure.
Practice Exercises
Try these practice exercises:
1. Measure improper angles and improper torsion angles.
2. Set builder constraints using Constrain Geometry, Constrain
Bond Length, Constrain Bond Angle, and Constrain Bond Torsion
on the Build menu.
3. Modify a model-built structure using Set Bond Length and Set
Bond Angle on the Edit menu.
90 Lesson 5
Skills Covered in This Lesson
Lesson 6
Creating a Polypeptide
Thus far in this tutorial you have learned how to build a molecule
from scratch, and how to display a molecule by reading in coordi-
nates from a HIN file. In this lesson, you create a polypeptide by
sequentially selecting residues from the HyperChem amino acid
library. The structure you build is bradykinin, a hormone-like pep-
tide that inhibits inflammatory reactions.
Creating a Polypeptide 91
Building and Displaying a Polypeptide
92 Lesson 6
Creating a Zwitterion
Creating a Zwitterion
The peptide you created has a bare residue at each end. This is
exactly how it would exist if it were in the middle of a peptide
chain. The N-terminal end has HN- and the C-terminal end has
-CO. In this exercise, you convert the ends of the peptide to zwit-
terionic form by modifying the N- and C- terminal residues.
Creating a Polypeptide 93
Site-specific Mutagenesis
oxygen added to
C-terminal end
Site-specific Mutagenesis
Site-specific mutagenesis plays an important role in protein engi-
neering. Substituting a particular amino acid at a critical site can
change the structure and properties of a protein, and therefore, its
function.
To replace a residue:
First, label the peptide by residue to facilitate seeing what you are
modifying.
1. Select Labels on the Display menu.
2. L-click on Name+Seq as the option for labeling residues, and
then choose OK.
94 Lesson 6
Site-specific Mutagenesis
Creating a Polypeptide 95
Site-specific Mutagenesis
96 Lesson 6
Saving the Structure
Practice Exercises
1. Create a nucleic acid using Nucleic Acids on the Databases
menu.
Creating a Polypeptide 97
For More Information
98 Lesson 6
Lesson 7
Selecting and
Displaying Subsets
99
Labeling the Ends
100 Lesson 7
Labeling the Ends
6. Select Symbol as the atom label type, and then choose OK.
The N-terminal nitrogen and C-terminal carbon atom should
be labeled like this:
102 Lesson 7
Selecting the Backbone
104 Lesson 7
Displaying the Side Chains
Complementing a Subset
Sometimes, it might be helpful to select or display only the parts
of a molecular system not currently selected. You can do this using
Complement Selection on the Select menu.
106
Rectangular Selection
Rectangular Selection
To select all atoms in a 3D rectangle:
1. Select Show Hydrogens and then click on Show All on the Display
menu.
2. Make sure Select Sphere on the Select menu is not turned on.
3. L-click on the Selection tool to get into selection mode.
4. Starting in the top-left corner of the workspace, LR-drag
towards the bottom-right corner like this:
Spherical Selection
To select atoms within a volume about a given atom:
1. R-click in an empty area of the workspace.
This deselects all items in the workspace.
2. Choose Select Sphere on the Select menu.
3. Place the select cursor over the nitrogen atom of the N-
terminal end.
108 Lesson 7
Spherical Selection
Naming a Selection
Often it is helpful to name a selection so that you can conve-
niently display it later. In this exercise, you assign a name to all atoms
included in the current spherical selection.
To name a selection:
1. Choose Name Selection on the Select menu.
The Name Selection dialog box appears.
2. Make sure Other is selected and enter n_sub in the Other text
box.
3. L-click on OK.
HyperChem saves all the highlighted atoms in a selection
named n_sub.
4. R-click in an empty area of the workspace.
This step deselects the selection.
5. Choose Select on the Select menu.
The Select dialog box appears.
6. Choose By Name.
7. Select n_sub from the Names list, and then choose OK.
The selection is selected again.
110 Lesson 7
Selecting a Ring
Selecting a Ring
To select a ring:
1. R-click in an empty area of the workspace.
All items in the workspace are deselected.
2. Double-click on any bond in a phenyl ring.
The ring is selected:
112 Lesson 7
Lesson 8
Working with
Macromolecules
113
Opening the PDB file
114 Lesson 8
Opening the PDB file
7. If the structure appears with labels, use the Labels dialog box
to remove them.
8. Make sure Show Hydrogens is turned off on the Display menu.
6. Choose Yes.
To avoid modifying the PDB file for BPTI, save the file to a different
filename for this lesson.
1. Choose Save As on the File menu.
2. Using the Directories list box, change to the directory where
you want to save your work.
3. Choose HIN as the file format.
4. In the Selection box, L-click after the last slash (/), enter
testbpti, then L-click on Save.
HyperChem saves the modified structure as testbpti.hin.
116 Lesson 8
Displaying the Structure
118 Lesson 8
Displaying the Disulfide Bridges
12. Choose Show All and Scale to Fit on the Display menu.
13. Get into selection mode and R-click in an empty area of the
workspace to deselect the selection.
Note: The cystine residue appears in yellow if you are using the
default colors. Also, if Select Sphere is checkmarked on the Dis-
play menu and you do not LR-drag starting in an empty area
of the workspace, you create a spherical selection, not a rectan-
gular selection.
120 Lesson 8
Selecting the Ring Structure
s-s bond
122 Lesson 8
Site-specific Mutagenesis
hydrogen
bonds
Site-specific Mutagenesis
In Lesson 6 you performed site-specific mutagenesis on bradyki-
nin. In this exercise, you do a series of mutations on the outside of
the structure.
124 Lesson 8
Rotating a Side Chain
7. To finish this lesson, choose New on the File menu, and do not
save the current changes.
126 Lesson 8
Tutorial 2
HyperChem Calculations
127
Lesson Information covered Time to
complete
128 Tutorial 2
Lesson 9
Minimizing the Energy
of a System
So far you have used HyperChem’s basic building, editing, and dis-
play tools. Now you begin using HyperChem’s analysis tools that
will help you understand molecular behavior and interaction.
In this lesson, you minimize the energy of cyclohexane using the
AMBER force field. Before you proceed with this lesson, it is impor-
tant to understand some of the basic concepts of energy minimi-
zation.
Energy minimization alters molecular geometry to lower the
energy of the system, and yields a more stable conformation. As
the minimization progresses, it searches for a molecular structure
in which the energy does not change with infinitesimal changes in
geometry. This means that the derivative of the energy with
respect to all Cartesian coordinates, called the gradient, is near zero.
This is known as a stationary point on the potential energy surface.
If small changes in geometric parameters raise the energy of the
molecule, the conformation is relatively stable, and is referred to
as a minimum. If the energy lowers by small changes in one or more
dimensions, but not in all dimensions, it is a saddle point.
129
Choosing the Force Field
A molecular system can have many minima. The one with the low-
est energy is called the global minimum and the rest are referred to
as local minima.
In this lesson, you calculate three stationary points for cyclohex-
ane: chair, boat, and twist-boat. You perform molecular mechanics
optimization on each form and compare energies to determine the
global minimum energy conformation.
130 Lesson 9
Choosing the Force Field
132 Lesson 9
Measuring Structural Properties of Chair Cyclohexane
Torsion: 60º
4. R-click in an empty area of the workspace to make sure
nothing is selected.
134 Lesson 9
Optimizing the Structure
2. L-click on OK.
136 Lesson 9
Transforming from Chair to Boat Cyclohexane
138 Lesson 9
Measuring the Axial Hydrogens
140 Lesson 9
Remeasuring the Axial Hydrogens
You must select the bonds in this order so that the correct
angle is constrained. The Model Builder calculates geometries
according to the order of selection; specifying a constraint for
this particular torsion only changes the position of carbon 6.
4. Choose Constrain Bond Torsion on the Build menu, select
Other, and enter 30 to set the constraint to 30 degrees. Then
choose OK.
142 Lesson 9
Optimizing Twist Boat Cyclohexane
The chair and twist-boat structures have energies below the boat
structure and the chair form is the global minimum. The absolute
energies from these calculations are not meaningful, but you can
compare relative energies with experiment:
144 Lesson 9
Practice Exercises
Alternatively, you can edit the log file for use with plots or
other documents.
Practice Exercises
1. Repeat this lesson using the MM+ force field and compare
results.
147
Exercise 1: Creating the Isolated Alanine Zwitterion
148 Lesson 10
Exercise 1: Creating the Isolated Alanine Zwitterion
Notice that one carbon has only two hydrogens. You will edit
these hydrogens to become oxygens.
nitrogen atom
150 Lesson 10
Exercise 1: Creating the Isolated Alanine Zwitterion
Except for cutoffs and the dielectric functional form, these val-
ues are standard for the AMBER force field.
4. Choose OK to close the Force Field Options dialog box.
5. Choose OK to close the Molecular Mechanics Force Field dialog
box.
152 Lesson 10
Exercise 1: Creating the Isolated Alanine Zwitterion
than S, then switch to the drawing tool, hold down the [Shift]
key and click on the central carbon.
You can use [Shift]+L-click with the drawing tool to rotate two
neighbors, thus changing chirality. You can also draw wedges
to specify conformation or chirality; see Chapter 8 of the Ref-
erence Manual for details.
4. Change the atom labels back to Symbol and switch back to the
selection tool (if you changed it to the Drawing tool in the last
step).
5. Save the structure as alaz.hin.
154 Lesson 10
Exercise 1: Creating the Isolated Alanine Zwitterion
2. Fill in the dialog box with the values shown, and choose OK to
start the calculation.
After a few moments, the minimization is completed.
The status line displays the following values:
Energy = 18.10
Gradient = 0.10
3. When the optimization is complete, remeasure the O-C’-O
angle and the N-Cα-C’-O torsion:
O-C’-O angle= 123.9º
N-Ca-C’-O torsions = -51 and 99 degreesº
Recall that for the unoptimized structure, the O-C’-O angle
measured 120 degrees and the N-Cα-C’-O torsion angles mea-
sured ±60 degrees and ±120 degrees.
Later in this lesson, you use the N-Cα-C’-O angle to demon-
strate molecular dynamics features of HyperChem, so save this
angle as a named selection.
156 Lesson 10
Exercise 1: Creating the Isolated Alanine Zwitterion
5. Choose OK.
158 Lesson 10
Exercise 2: Solvating the Structure
2. Choose OK.
This places the structure in the center of the box surrounded
by 40 water molecules.
Note: Because the orientations of the water molecules in the box
are not symmetrical, you may end up with fewer than 40 water
molecules after the ones that are too close to your structure are
deleted. If this happens, the results that you get from calculations
may not be quite the same as those given in this lesson. This will
depend on how your structure is oriented before you solvate it.
160 Lesson 10
Exercise 2: Solvating the Structure
162 Lesson 10
Exercise 3: Using Superposition
6. Choose Show Periodic box so that it is not set and only the ala-
nine molecule is shown.
7. Save the file as ala-sol.hin.
164 Lesson 10
Exercise 3: Using Superposition
Merge lets you combine the current system and another sys-
tem that has been stored in a file. This union becomes the cur-
rent system.
4. If necessary, use the Translation tool with the right mouse but-
ton until both structures are in full view.
Superposing Molecules
When a system includes at least two molecules, as in this example,
HyperChem can superpose the molecules. Superposition is based
on the selection of three non-collinear atoms in each molecule. To
begin, the first selected atoms of each molecule are made coinci-
dent. Next, the bonds between the first and second selected atoms
of each molecule are made collinear. Finally, the third selected
atoms of each molecule are put in the same plane.
166 Lesson 10
Exercise 3: Using Superposition
168 Lesson 10
Exercise 4: Simulated Annealing
A dynamics run has three optional phases: heat, run, and cool.
The first phase occurs over a simulation period of heat time,
using the starting temperature to set initial velocities with res-
caling of velocities at temperature increments to reach the sim-
ulation temperature.
In the middle phase, velocities are rescaled only if constant
temperature is selected.
The final phase occurs over a simulation period of cool time,
with rescaling of velocities at temperature increments to reach
the final temperature.
2. Set the Heat time to 0.1 picoseconds.
3. Set the Temperature step to 30K.
Because the gradient is very small in the starting system (cor-
responding to a near-zero temperature), a short heat time of
0.1 picoseconds is used to raise the temperature from a starting
temperature of 100 K to the simulation temperature of 300K
incrementing by a temperature step of 30K.
4. Set the Run time to 0.5 picoseconds.
The temperatures are used here to set up initial atom velocities
or to adjust atom velocities. This kinetic energy might be con-
verted into potential energy during simulation, causing the
calculated temperature to drop. If the temperature eventually
rises (as it does in this example), it means that potential energy
is being converted into kinetic energy as the system moves to
a more stable conformation.
5. Make sure the Periodic boundary conditions option is on.
170 Lesson 10
Exercise 4: Simulated Annealing
To set up averaging:
1. Choose Averages to open the Molecular Dynamics Averages
dialog box.
3. L-click on EKIN, EPOT, ETOT, and ncco in the Average only box,
then L-click on Add to move them to the Avg. & graph box.
172 Lesson 10
Exercise 4: Simulated Annealing
174 Lesson 10
Exercise 5: Langevin and Monte Carlo Simulations
3. Set the Run Steps to 1000. Set Heat and Cool steps to 0.
4. Set the maximum step size, Max Delta, to 0.05 Å.
This sets the maximum trial atomic displacement. If it is too
small only limited sampling of new configurations will occur.
If it is too large, unphysical configurations may be generated.
This reduces the efficiency of the simulation.
5. Set the Simulation Temperature to 300K.
6. Make sure that Periodic boundary conditions is on (✓).
7. Set the Data Collection period to 4 steps.
176 Lesson 10
Advanced Exercises
Advanced Exercises
1. Follow these steps to view playback dynamics:
179
Using Structure Alignment
To do a structure alignment:
1. Choose Align Molecules on the Edit menu.
2. In the Align box choose Secondary, and in the With box choose
Y Axis.
180 Lesson 11
Using Structure Alignment
3. Make sure Minor is turned off; you do not want to specify a sec-
ondary alignment.
4. Choose OK.
The water molecule should be oriented in the workspace like
this:
To display charges:
1. Open the Labels dialog box.
2. Choose Charge as the option for Atom, then choose OK.
The labels show that no charges are set for the molecule.
182 Lesson 11
Calculating a Wave Function
184 Lesson 11
Plotting the Electrostatic Potential
11. Reopen the Plot Molecular Properties Options dialog box and
specify 3D Isosurface instead of 2D Contours.
This will display the electrostatic potential as a 3D surface.
12. Click on the Isosurface Rendering tab to show the Isosurface
Rendering property sheet. Specify an Electrostatic potential con-
tour value of 0.1 in the text box, and select Shaded surface as
the Rendering type.
The surface will show where in 3D space the electrostatic
potential has a value of 0.1 e/a0. The surface will be shaded and
solid.
13. Click on the Isosurface Grid tab to show the Isosurface Grid
property sheet. Specify that the grid should be a Medium grid.
This sheet allows you to select whether the surface should be
drawn with a few points (for a rough picture that is drawn
quickly) or many points (for a smooth picture that takes much
longer to draw).
14. Click on OK to start the calculation of the surface. This will
take a few moments to complete. Then the surface is shown.
186 Lesson 11
Plotting the Electrostatic Potential
15. Reopen the Plot Molecular Properties Options dialog box and
specify 3D Mapped Isosurface.
This will display a surface drawn with a value specified by Total
Charge Density (see the following section) but colored accord-
ing to the electrostatic potential.
16. Click on the Isosurface Rendering tab to show the Isosurface
Rendering property sheet. Specify a Total charge density contour
value of 0.135 in the text box, and select Gouraud shaded sur-
face as the Rendering type.
The surface will show where in 3D space the total charge den-
sity has a value of 0.1 e/a03. The surface will be very smooth
but will take some time to draw.
17. Click on the Mapped Function tab to show the Mapped Func-
tion Options property sheet. Specify a Minimum value of -1.0
and a Maximum value of 1.0. Make sure that the Display Range
Legend option is on (marked with a ✓).
The surface will be colored according to the electrostatic
potential, ranging from one color for a value of 1.0 e/a0 to
another color for a value of -1.0 e/a0. A legend will be drawn,
showing how the surface colors represent different values.
188 Lesson 11
Plotting the Total Spin Density
The total charge density can also be drawn as a 3D Surface, but not
as a Mapped 3D Surface.
190 Lesson 11
Plotting Individual Molecular Orbitals
6. Choose OK.
HyperChem accumulates a grid of values for the orbital 2a1
one “sheet” at a time, and displays the index of each sheet in
the status line.
After a few moments, the 3D isosurface appears.
7. Open the Isosurface Options dialog box by choosing Isosurface
on the Display menu, or by pressing the [F4] key.
This option allows you to change the rendering mode of an
isosurface quickly and easily, without needing to recalculate
the isosurface data.
8. Choose Wire mesh as the Rendering option, use an Orbital con-
tour value of 0.05, and then choose OK.
HyperChem displays the symmetric bonding 2a1 orbital of
water:
9. Reopen the Orbitals dialog box and specify a value of 1 for the
HOMO- offset. Click on Options and use the same options in
the Electronic Options dialog box as you did in step 7 and step
8, but change the Rendering to Jorgensen-Salem.
This displays the 3a1 orbital:
Press the [4] key a few times to rotate the structure. Notice that
in this rendering mode, one lobe of an orbital can hide another
lobe, but the complete molecule is always visible. If your win-
dow color is set to white and bond color is set to black, the
orbitals will be drawn with solid lines for positive lobes and
dashed lines for negative lobes. This rendering mode is useful
for black-and-white printing.
Press the [3] key a few times to restore the original orientation
of the system.
10. Repeat the calculation using a value of 2 for the HOMO- offset
and choose Lines as the Rendering option in the Options dialog
box.
This displays the 1b2 orbital:
192 Lesson 11
Plotting Individual Molecular Orbitals
15. Choose Rotate on the Edit menu, enter an Angle of –90, then
choose OK.
16. L-click on LUMO+ and use the offset values 0 and 1 to display
the unoccupied orbitals.
17. When the Options dialog box is displayed for these orbitals,
choose Shaded surface as the Rendering option and use a value
of 0.05 for the first.
For the second, choose Transparent surface for the isosurface
rendering, and change the molecule rendering to Balls and Cyl-
inders. Open the File/Preferences dialog box and select the Iso-
surface Colors property sheet; change the positive and nega-
tive colors to red and blue.
These orbitals are better viewed with a value of 0.05. As with
other plots, the appearance of the display may vary with the
values used.
194 Lesson 11
Plotting Individual Molecular Orbitals
Advanced Exercises
1. Cyclopropane is a strained organic molecule. Build it by draw-
ing a triangle of carbon atoms and invoking the Model Builder.
The experimental bond lengths of cyclopropane are 1.510Å
(CC bonds) and 1.089Å (CH bonds). Perform a RHF optimiza-
tion of the model-built structure using default convergence
criteria with different methods and compare the results with
experiment.
2. Start a log file, then build and optimize acetone, which has an
experimental heat of formation of –51.9 kcal/mol, and an
experimental dipole moment of 2.88 Debyes, using AM1. Look
in the log file and see the calculated heat of formation.
196 Lesson 11
Lesson 12
Interaction of Water with
N-methylacetamide
197
Creating the NMA Molecule
4. Get into drawing mode, and draw the 2D sketch of the follow-
ing backbone:
198 Lesson 12
Changing from cis- to trans-NMA
200 Lesson 12
Optimizing the NMA Structure
202 Lesson 12
Solvating the Carboxyl Group
The workspace now shows both the NMA and water mole-
cules.
204 Lesson 12
Optimizing a Subset of the System
206 Lesson 12
Advanced Exercises
Advanced Exercises
1. Repeat the molecular mechanics optimization with the new
charges. Manually include polarization by iterating back and
forth from molecular mechanics geometry optimization and
semi-empirical calculations of charges. HyperChem rearranges
the atomic charges based on the new configuration of atoms.
2. Try plotting the charge density for various views of the inter-
acting system.
209
Before You Begin
210 Lesson 13
Choosing the Area of Interest
4. Press the space bar to center the selected residue in the work-
space. Position the residue so it looks like this:
212 Lesson 13
Choosing a Classical-quantum Boundary
214 Lesson 13
Calculating a Wave Function
The plane of the contour plot runs through the center of mass
of the selection and is parallel to the workspace. You can
obtain other views by selecting different parts of the side chain
and rotating the view before replotting (with the Calculate
option off). The number of contours displayed will depend on
the plot options chosen.
If you plot a 3D isosurface for the calculation, using Gouraud
Shading and a Total charge density contour value of 0.09, the
result will look something like the following:
216 Lesson 13
Using the Results in Other Calculations
Practice Exercises
1. Plot other properties, such as the HOMO and LUMO orbitals.
2. Try using 3D Isosurface instead of 2D Contours in the Plot
Molecular Properties and Orbitals dialog boxes. Use Isosurface
on the Display menu (or the [F4] key) to explore the isosurfaces
that result from using different threshold values.
3. Perform a quantum mechanics calculation on other parts of
the system.
218 Lesson 13
Tutorial 3
Ab Initio Calculations
219
220
Skills Covered in This Lesson
Lesson 14
Protonation of Water
Setup Drawing
To prepare for drawing H3O with explicit hydrogens:
1. Choose Explicit Hydrogens on the Build menu.
2. Choose Allow Arbitrary Valence on the Build menu.
If you do not choose Allow Arbitrary Valence then it will be
impossible to draw three bonds from the Oxygen atom since
Oxygen is assumed to have the normal valence of two. Draw-
ing and model building accommodate a formal charge on the
molecular system only if you explicitly specify the formal
charge on an atom using the Build/Set Formal Charge... menu
item. Choosing Allow Arbitrary Valence allows you to draw as
many bonds as you wish.
3. Choose Labels on the Display menu to bring up the Labels dia-
log box.
4. Choose Symbols for a label and dismiss the dialog box by click-
ing on OK.
Creating H3O+
To draw H3O:
1. L-Click once in the working area to create an Oxygen atom.
2. Draw three bonds from the Oxygen atom to create a drawing
of H3O as shown below:
222 Lesson 14
Choosing a Basis Set
Protonation Energy
To calculate the optimized STO-3G energy of H2O + H+:
1. Select the Drawing tool and R-click on one of the Hydrogens
of H3O+ to delete it and form H2O.
224 Lesson 14
Practical Exercises
Practical Exercises
1. Try these calculations with 3-21G and then 6-31G* basis sets.
You will find that the double zeta basis set gives an optimum
geometry for H3O+ that is planar. For larger basis sets, however,
the molecule (at the SCF level) is predicted to be bent. The
anomaly at the 3-21G level is possibly a sign of an unbalanced
basis set. In fact, at the limit of s and p basis functions only,
both H3O+ and its isoelectronic NH3 will both be predicted to
be planar. D-orbitals on the heavy atom are necessary to get a
reasonably accurate prediction of the geometry for these mol-
ecules.
2. Explore the protonation energies of the HF, H2O, NH3, and
CH4 series and compare with experimental results.
3. Explore the reaction between H+ and H2O using ab initio wave
functions and a molecular dynamics trajectory procedure
equivalent to the example included with HyperChem as the
script REACT.SCR.
226 Lesson 14
Lesson 15
Vibrations and Transition
States of Ammonia
Creating Ammonia
To draw ammonia:
1. L-click on Explicit Hydrogens of the Build menu until it is not
selected.
2. Select Default Element of the Build menu to bring up the peri-
odic table dialog box.
3. Double-click on N (Nitrogen) to select this element and simul-
taneously dismiss the periodic table dialog box.
4. L-click on the Drawing tool to select it.
5. L-click once in the workspace to create a single Nitrogen atom.
6. Select Add H & Model Build of the Build menu to create NH3 at
the standard model builder geometry.
227
Choosing a Basis Set
228 Lesson 15
Vibrational Analysis on Pyramidal Ammonia
230 Lesson 15
Optimizing Planar Ammonia
232 Lesson 15
Vibrational Analysis on Planar Ammonia
234 Lesson 15
Finding a Transition State by Synchronous Transit
236
Finding a Transition State by Synchronous Transit
Because the atoms are not matched (an N atom in the reac-
tants cannot become an H atom in the products), the Add but-
ton remains inactive.
13. Choose the N atom in both the Reactant and Product lists.
Because the atoms are matched, the Add button is activated.
238 Lesson 15
Practical Exercises
Practical Exercises
1. Compare the geometry, barrier, and vibrational spectra of
ammonia with experiment.
2. Repeat the calculations with other basis sets.
3. Compare NH3 results with isoelectronic CH3- and OH3+.
240
Lesson 16
Lowest Excited Electronic
State of Ethylene
241
Orbitals of Ground State Ethylene
242 Lesson 16
Orbitals of Ground State Ethylene
244 Lesson 16
CI and the Electronic Spectrum of Ethylene
246 Lesson 16
Geometry and Energy of Triplet Ethylene
Practical Exercises
1. Explore the effects on the π —› π* excitation energy of CI mix-
ing with other singly-excited states. What, for example, is the
excitation energy for a single (π —› π* singlet or triplet) config-
uration?
2. Calculate the barrier to rotation about the C-C bond in both
the singlet ground state and the excited triplet state of ethyl-
ene.
3. Repeat the ethylene calculations for the n—› p* transitions of
formaldehyde.
4. Explore the effects of geometry on the calculated singlet π —›
π* excitation energy using CI. Indirectly argue about the opti-
mum geometry of the singlet excited state.
248 Lesson 16
For More Information
251
252
Lesson 17
Driving HyperChem
from Excel
With HyperChem’s open system design, you can create links with
other Windows applications, such as Microsoft Excel, Microsoft
Word for Windows, Microsoft Visual Basic, and Q&E, by using
the Dynamic Data Exchange (DDE) feature of Windows.
You can create macros and batch calculations using the built-in
scripting capability, access all HyperChem modeling and analysis
tools, and transfer data between Windows applications using the
Clipboard.
This lesson explores the benefits of interfacing HyperChem with
the spreadsheet program, Microsoft Excel. You could also use other
Windows applications that have DDE macro capabilities.
This lesson has three exercises:
253
Lesson Requirements
Lesson Requirements
Before you begin, you must do the following:
1. Install Microsoft Excel on your computer.
2. Have the following files in your HyperChem working direc-
tory:
plot.xls (an example spreadsheet)
plot.xlm (an example Excel macro)
Anthrace.hin
Benzene.hin
Chrysene.hin
Coronene.hin
Naphthal.hin
Phenanth.hin
Pyrene.hin
These files are included with HyperChem.
254 Lesson 17
Exercise 1: Calculations on Sets of Molecules
Excel spreadsheet files (with the extension .xls) can hold input
information for HyperChem calculations and can receive out-
put data from these calculations.
This sample spreadsheet includes the column headings of
Molecule, Total Energy, Stretch, Bend, Torsion, and vdW. In
the first column under the heading Molecule, a list of HIN file-
names (without the .hin extension) appears, for which calcula-
tions will be performed.
Excel provides a macro language for writing DDE messages.
This language, together with HyperChem scripting com-
mands, lets you carry out a set of calculations automatically.
The sample macro file, Plot.xlm, contains HyperChem DDE
commands.
256 Lesson 17
Exercise 1: Calculations on Sets of Molecules
5. Choose OK.
6. Choose OK to close the Molecular Mechanics Force Field dialog
box.
258 Lesson 17
Exercise 1: Calculations on Sets of Molecules
This selects the names of the molecules and the total energies
calculated by the single point calculations.
3. Choose the Chart Wizard button on the Excel toolbar. Select
the Line chart type, and specify “Use First 1 Column(s) for Cat-
egory (X) Axis labels”.
A bar graph displays the total energies in the file chart1. To
change the appearance of the graph — for example, to move
the labels above the axis instead of below it — double-click on
the part of the graph that you want to change to open a dialog
box for formatting.
Chrysene has the largest van der Waals (vdW) energy, because
some hydrogens are very close together, producing some
destabilizing strain in the molecule.
260 Lesson 17
Exercise 2: Manipulating Molecules with Excel
262 Lesson 17
Exercise 3: Plotting Energy vs. Torsion Angle
Creating a Worksheet
Create a new worksheet and enter the values for the torsion angle.
1. Choose New on the File menu and choose Workbook.
264 Lesson 17
Exercise 3: Plotting Energy vs. Torsion Angle
266 Lesson 17
For More Information
four atoms, use named selections and then select the multiple-
atom portion by name in the macro.
4. To finish this lesson, close HyperChem and Excel. Do not save
your changes.
Lesson Requirements
Before you begin, you must install Microsoft Visual Basic on your
computer.
269
Creating a Form
Creating a Form
In Visual Basic, a form is a window that you create and customize.
On forms, you draw graphical objects called controls, which are
used to get user input and to display output. Controls include text
boxes, command buttons, and list boxes.
To create a form:
1. On the toolbox, L-click on the Text box tool.
270 Lesson 18
Creating a Form
Visual Basic gives the text box the default name and caption Text1
and the command button the default name and caption
Command1. For this exercise, you rename the caption of the com-
mand button to Report Calculation.
272 Lesson 18
Entering Visual Basic Code
274 Lesson 18
Creating the Executable File
276 Lesson 18
Tutorial 5
Some Newer Capabilities
Tutorial 5 teaches you about some recent things that have been
added to HyperChem such as annotations, density functional the-
ory, and TNDO. Tutorial 5 has three lessons, as described in the fol-
lowing table:
277
278 Tutorial 4
Lesson 19
DFT Polarizability of H2
Creating H2
To draw and create a Hydrogen molecule:
1. Choose Explicit Hydrogens on the Build menu.
2. Choose Labels... on the Display menu and select Symbols.
3. With the mouse and the drawing icon (left-most icon) draw a
single line on the screen by dragging with the left button
down. If you make a mistake, click with the right button to
279
Choosing an Exchange-Correlation Potential
280 Lesson 19
Choosing an Exchange-Correlation Potential
2. Choose the 6-31G** basis set as shown below. This basis set
adds p-type polarization functions to the double zeta s-type 6-
31G basis set of H2.
rators.
Density Functional Theory (DFT) requires you to evaluate
matrix elements of the Hamiltonian just as in any quantum
mechanical method. In the DFT case, terms in the Hamilto-
nian (the exchange and correlation potentials) have a func-
tional form that is too complicated to allow one to develop
analytic formulas for the appropriate integrals. DFT generally
requires numerical integrations to compute these integrals and
at this point you have to choose a grid for performing these
numerical integrations.
The Standard Grid #1 is a compromise between accuracy and
complexity (number of points on the grid). More points would
give more accurate integrals but would require more computer
time. The Standard Grid #1 grid gives results that are compara-
ble to an Euler-MacLaurin-Lebedev grid with 50 radial points
and 194 angular points. To complete the DFT setup, you next
have to choose a specific density functional.
282 Lesson 19
Choosing an Exchange-Correlation Potential
284 Lesson 19
Polarizability Tensor Calculations
Use the same value of 0.001 which we used before rather than
the default 0.0005. The default value is a compromise between
precision of the change that can be observed and a value that
is rigorously correct only in the limit of zero applied field.
3. Click on Single Point on the Compute menu to repeat the sin-
gle point calculation but this time with the additional request
for a polarizability calculation.
The computation will require 6 total single point calculations
to apply the electric field twice in each of the X, Y, and Z direc-
tions.
You will notice that the YY component is just the 6.33 value
that we had previously computed manually.
286 Lesson 19
Lesson 20
Annotations
This tutorial will introduce you to the four basic annotations - text,
lines, ellipses (circles), and rectangles. It will show you how to cre-
ate annotations and modify their, size, color, and other properties.
HyperChem contains, in addition to its molecular modeling capa-
bility, a simple drawing program designed to create annotations
for molecular systems.
287
Rectangle Annotations
Rectangle Annotations
Rectangle and ellipse annotations behave essentially identically.
This tutorial only illustrates rectangles. You might try equivalent
operations on ellipses yourself.
To explore creating and manipulating a rectangle annotation:
288 Lesson 20
Rectangle Annotations
Annotations 289
Rectangle Annotations
290 Lesson 20
Rectangle Annotations
6. Choose the select tool and L-click in the rectangle away from
the molecule to select the rectangle annotation. The selected
rectangle should have a border that is the selection color
(default=green). If you need to deselect, R-click in empty space.
Practice selecting and deselecting either the rectangle or a por-
tion of the molecule
7. Explore translation and zooming of the selected rectangle
using the translation and zoom tools. Notice that if the mole-
cule is selected it has precedence over any annotation and only
the molecule is affected by the tools. If only annotations are
selected, then those annotations are acted upon by the trans-
late and zoom tools; the other tools are inactive for annota-
tions.
8. Select only the rectangle.
9. Choose Options on the Annotations menu and uncheck Fill Cir-
cles and Rectangles. Choose OK.
Annotations 291
Line Annotations
10. Deselect the rectangle. You should see the fill disappear and
the rectangle look as follows:
11. Select the rectangle again and choose Options on the Annota-
tions menu. Choose line type to be “Dashed”. Deselect the
rectangle. You should see the solid rectangle above become a
dashed rectangle.
Line Annotations
Line annotations behave like ellipses and rectangles apart from not
having a fill. They differ also in possibly having “gravity” to cause
lines to join.
Note: The line annotation has nothing in common with a bond
drawn as a line in the molecular layer using the drawing tool (left-
most tool).
To explore drawing lines:
1. Select the line annotation tool from the tool bar. Draw a few
lines and explore selecting these, coloring them, moving and
zooming them. Explore the use of gravity associated with the
check box in the Options dialog box on the Annotations
menu. Note that only solid lines can be wide.
292 Lesson 20
Text Annotations
Text Annotations
Text annotations and symbol annotations are identical except that
a symbol is a single text character and has a different interface for
its creation. Once a symbol is created, it is just a text annotation
like any other text annotation.
Text annotations differ in their color properties from lines, ellipses,
and rectangles. The color is chosen from among only 16 colors.
They also have unique properties of their own such as font, point
size, centering, underlining, italics, etc.
To explore creating and manipulating text annotations:
1. Click on the text-annotation icon in the tool bar to select the
text tool (resembling the letter A)
2. L-Click above the top left of the previous rectangle. This will
bring up the Annotation Text dialog box,
Annotations 293
Text Annotations
294 Lesson 20
Text Annotations
6. Use the translation tool and position the text properly over the
rectangle as shown below:
Annotations 295
Text Annotations
296 Lesson 20
Saving Annotations
Saving Annotations
Annotations have defined records in HIN files and hence annota-
tions can be saved with or without a molecular system.
To explore annotations in HIN files:
1. Save the above molecule and annotations by choosing Save on
the File menu.
2. After saving the HIN file, choose New on the File Menu.
3. Choose Open on the File menu and read in the file that you
just wrote. The annotations were obviously included in the
HIN file.
Annotations 297
Saving Annotations
298 Lesson 20
Lesson 21
TNDO Parameter Files
299
Default CNDO/INDO Parameters
300 Lesson 21
Inspecting TNDO Parameters
as per the typing rules for Amber (which are borrowed for
TNDO).
Note particularly the value of beta which is 21. This beta quan-
tity is the parameter which is basic to the bond strength and
off-diagonal elements of the Fock matrix. A larger value of beta
should give stronger bonding while a smaller value of beta
ought to give weaker bonding. Before we edit these default val-
ues we ought to create a new parameter file to experiment
with.
Note: You can also inspect parameters for other semi-empirical
methods or molecular mechanics methods. With molecular
mechanics, you will see different parameters depending upon
whether you select an atom, a bond, an angle, or a torsion.
302 Lesson 21
Editing TNDO Parameters
304 Lesson 21
HyperChem®
Modules
Part 1
HyperChem Data
Part 2
HyperNMR
Hypercube, Inc.
Publication HC70-00-02-00 January 2001
Copyright © 2002 Hypercube, Inc.
All rights reserved
The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This
publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN
CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.
Hypercube Trademarks
All other brand and product names are trademarks or registered trademarks of their respective holders.
PRINTED IN USA
Table of Contents
iii
Chapter 2 Tutorials 15
Overview . . . . . . . . . . . . . . . . . . . . . 15
Summary of HyperChem Data . . . . . . . . . . . . . . 15
Tutorials. . . . . . . . . . . . . . . . . . . . . . 16
1. Starting HyperChem Data . . . . . . . . . . . . 16
2. Opening a Database . . . . . . . . . . . . . . 17
3. Querying a Database (SQL GUI Query) . . . . . . . . 21
4. Querying a Database (Substructure Query) . . . . . . . 23
5. Querying a Database (Generic Query) . . . . . . . . . 27
Overview . . . . . . . . . . . . . . . . 27
How It Works . . . . . . . . . . . . . . 27
Example . . . . . . . . . . . . . . . . 28
6. Adding New Fields to a Table . . . . . . . . . . . 29
HSV Fields . . . . . . . . . . . . . . . 31
7. Adding and Removing Records From a Table . . . . . . 32
Adding Records . . . . . . . . . . . . . . 32
Deleting A Record . . . . . . . . . . . . . 35
8. Editing an Existing Record . . . . . . . . . . . . 35
9. Drawing a Molecule . . . . . . . . . . . . . . 36
Background . . . . . . . . . . . . . . . 36
10. Saving and Retrieving a Drawing. . . . . . . . . . 41
11. Creating a New Database . . . . . . . . . . . . 42
Format of Databases . . . . . . . . . . . . 42
New Database Fields . . . . . . . . . . . . 42
Example . . . . . . . . . . . . . . . . 43
12. Using HyperChem with HyperChem Data. . . . . . . 48
Computing Molecular Properties with HyperChem Hcl Scripts
49
Run Script... . . . . . . . . . . . . 49
Output to Log file: . . . . . . . . . . 49
Output to HyperChem Data Table: . . . . . 50
Run Script and Retrieve HIN...: . . . . . . 52
13. Importing HyperChem Data Records into MS Excel . . . . 52
Importing Data into MS Query and Excel . . . 53
14. Saving, Compacting and Repairing Databases . . . . . 53
Creeping Database Size . . . . . . . . . . . 53
Closing a Database . . . . . . . . . . . . . 54
Compacting a Database . . . . . . . . . . . 54
Repairing a Database . . . . . . . . . . . . 54
15. Getting a Molecule from the Database into HyperChem . . 55
iv Table of Contents
Chapter 3 Reference 59
Overview . . . . . . . . . . . . . . . . . . . . . 59
Menu Items . . . . . . . . . . . . . . . . . . . . 59
File Menu . . . . . . . . . . . . . . . . . . 59
New Database... . . . . . . . . . . . . . 59
Open Database . . . . . . . . . . . . . 59
Close Database . . . . . . . . . . . . . 59
Tables . . . . . . . . . . . . . . . . 59
Close Table . . . . . . . . . . . . . . . 59
Compact Database . . . . . . . . . . . . 60
Repair Database . . . . . . . . . . . . . 60
Close Query . . . . . . . . . . . . . . 60
Save Query As . . . . . . . . . . . . . . 60
Import Picture . . . . . . . . . . . . . . 60
Save Picture As. . . . . . . . . . . . . . 60
Get Picture Set . . . . . . . . . . . . . . 60
Edit Menu . . . . . . . . . . . . . . . . . . 60
Copy . . . . . . . . . . . . . . . . . 60
Delete . . . . . . . . . . . . . . . . 60
Align Label . . . . . . . . . . . . . . . 61
Select All . . . . . . . . . . . . . . . 61
Select None. . . . . . . . . . . . . . . 61
Add Record . . . . . . . . . . . . . . . 61
Edit Record . . . . . . . . . . . . . . . 61
Discard Changes . . . . . . . . . . . . . 61
Update Record . . . . . . . . . . . . . . 61
Delete Record . . . . . . . . . . . . . . 61
Query Database . . . . . . . . . . . . . 61
Display Menu . . . . . . . . . . . . . . . . . 62
Refresh Screen . . . . . . . . . . . . . . 62
Clear Screen . . . . . . . . . . . . . . 62
Center Picture . . . . . . . . . . . . . . 62
Tool Menu . . . . . . . . . . . . . . . . . . 62
Select. . . . . . . . . . . . . . . . . 62
Single Bond . . . . . . . . . . . . . . 62
Double Bond . . . . . . . . . . . . . . 62
Right-Side Double Bond . . . . . . . . . . . 62
Left-Side Double Bond . . . . . . . . . . . 63
Triple bond . . . . . . . . . . . . . . . 63
Text . . . . . . . . . . . . . . . . . 63
Rings . . . . . . . . . . . . . . . . . 63
Text Colors . . . . . . . . . . . . . . . 63
Draw Colors . . . . . . . . . . . . . . 63
Table of Contents v
HyperChem Menu . . . . . . . . . . . . . . . 63
Get Hinfile . . . . . . . . . . . . . . . 64
Put Hinfile . . . . . . . . . . . . . . . 64
Delete Hinfile . . . . . . . . . . . . . . 64
Run Script . . . . . . . . . . . . . . . 64
Run Script and Retrieve HIN . . . . . . . . . . 65
Run Script and Delete Records . . . . . . . . . 65
Bond Menu . . . . . . . . . . . . . . . . . 65
Constrained . . . . . . . . . . . . . . . 65
Unconstrained . . . . . . . . . . . . . . 65
Help Menu . . . . . . . . . . . . . . . . . . 65
Drawing Tools . . . . . . . . . . . . . . . . . . . . 66
Part 2: HyperNMR
Chapter 5 HyperNMR 75
Overview . . . . . . . . . . . . . . . . . . . . . 75
vi Table of Contents
Some Basic Ideas. . . . . . . . . . . . . . . . . . . 81
Stand-alone or Combined . . . . . . . . . . . . . 81
Quantum Atoms . . . . . . . . . . . . . . . . 82
NMR Atoms . . . . . . . . . . . . . . . . . 82
Labelled Atoms . . . . . . . . . . . . . . . . 82
Equivalent Atoms . . . . . . . . . . . . . . . 83
Using HyperNMR for calculations . . . . . . . . . . . . . 83
Chapter 8 Tutorials 85
Overview . . . . . . . . . . . . . . . . . . . . . 85
Tutorial I: HyperNMR Basics . . . . . . . . . . . . . . . 85
Starting HyperNMR . . . . . . . . . . . . . . . 85
To start HyperNMR: . . . . . . . . . . . . 85
HyperNMR Window. . . . . . . . . . . . . . . 86
Title Bar . . . . . . . . . . . . . . . . 87
Menu Bar . . . . . . . . . . . . . . . 87
Tool Bar . . . . . . . . . . . . . . . . 87
Workspace . . . . . . . . . . . . . . . 87
Status Line . . . . . . . . . . . . . . . 87
Help . . . . . . . . . . . . . . . . . 87
Control-Menu Button . . . . . . . . . . . 87
Maximize/Minimize Buttons . . . . . . . . . 88
Using the Mouse . . . . . . . . . . . . . . . . 88
Keyboard Alternatives . . . . . . . . . . . . . . 88
To open a menu: . . . . . . . . . . . . . 88
To close a menu: . . . . . . . . . . . . . 88
To choose a menu item: . . . . . . . . . . . 89
To rotate a molecular system: . . . . . . . . . 89
To translate a molecular system: . . . . . . . . 89
Bringing a Molecule into HyperNMR . . . . . . . . . 89
Opening a Sample File . . . . . . . . . . . 89
To open a HIN file: . . . . . . . . . . . . 90
To change directory: . . . . . . . . . . . . 91
To change file type: . . . . . . . . . . . . 91
To scroll through the list: . . . . . . . . . . 92
To select a file: . . . . . . . . . . . . . . 92
Bringing a Molecule in from HyperChem . . . . . . . . 94
Getting a molecule from HyperChem: . . . . . . 94
Changing Renderings . . . . . . . . . . . . . . 94
To open rendering dialog box:. . . . . . . . . 95
Changing Atom Renderings . . . . . . . . . . . . 96
To display labels: . . . . . . . . . . . . . 96
Table of Contents ix
Shielding Constant and Chemical Shift View . . . 145
Spin-Spin Coupling Constant View . . . . . . 147
Spectrum View . . . . . . . . . . . . . 148
Using the Mouse . . . . . . . . . . . . . . . 149
Using the Keyboard . . . . . . . . . . . . . . 151
HyperNMR Menus. . . . . . . . . . . . . . . 151
HyperNMR Coordinate Systems . . . . . . . . . . 152
Viewer’s Coordinate System:. . . . . . . . . 152
Molecular Coordinate System: . . . . . . . . 152
Menus . . . . . . . . . . . . . . . . . . . . . 153
File Menu . . . . . . . . . . . . . . . . . 153
Edit Menu . . . . . . . . . . . . . . . . . 154
View Menu . . . . . . . . . . . . . . . . . 155
Tool Menu . . . . . . . . . . . . . . . . . 157
Setup Menu . . . . . . . . . . . . . . . . . 157
Compute Menu . . . . . . . . . . . . . . . 158
Help Menu . . . . . . . . . . . . . . . . . 159
Tools . . . . . . . . . . . . . . . . . . . . . . 159
Tool Buttons . . . . . . . . . . . . . . . . 159
Manipulating Molecules with the Mouse . . . . . . . 161
Using the mouse to rotate the molecule . . . . . 161
Using the mouse for selection . . . . . . . . 161
Using the mouse for zooming and translation . . . 161
Keyboard Equivalents for Mouse Actions . . . . . . . 162
Dialog Boxes . . . . . . . . . . . . . . . . . . . 162
Open File Dialog Box . . . . . . . . . . . . . . 163
Save As Dialog Box . . . . . . . . . . . . . . 164
Start Log Dialog Box . . . . . . . . . . . . . . 165
Preferences Dialog Box . . . . . . . . . . . . . 165
Replace Selection Dialog Box . . . . . . . . . . . 167
Rendering Dialog Box . . . . . . . . . . . . . 167
Shielding Tensor Dialog Box . . . . . . . . . . . 168
Spectral Values Dialog Box . . . . . . . . . . . . 169
NMR Graph Dialog Box . . . . . . . . . . . . . 170
Shielding & Coupling Options Dialog Box . . . . . . . 171
Quantum Atom Selection Dialog Box . . . . . . 173
NMR Atom Selection Dialog Box . . . . . . . 175
Equivalent Atom Selection Dialog Box . . . . . 176
Labelled Atom Selection Dialog Box . . . . . . 178
Select NMR Atoms Dialog Box . . . . . . . . 180
SCF Wavefunction Options Dialog Box . . . . . 181
Spectral Options Dialog Box . . . . . . . . . 182
Reference Shielding Dialog Box . . . . . . . . 184
x Table of Contents
Solvation Effects. . . . . . . . . . . . . . . . . . . 185
Files. . . . . . . . . . . . . . . . . . . . . . . 186
Program Files . . . . . . . . . . . . . . . . . 186
HyperNMR Default Settings . . . . . . . . . . . . 187
[nmr]. . . . . . . . . . . . . . . . . 187
[ReferenceShieldings] . . . . . . . . . . . 192
Atom Type Files . . . . . . . . . . . . . . . . 194
Atom Typing Rules . . . . . . . . . . . . 194
Syntax . . . . . . . . . . . . . . . . 195
forcefield. . . . . . . . . . . . . 195
<element-symbol>: . . . . . . . . . 195
;<comment> . . . . . . . . . . . 196
<clause> . . . . . . . . . . . . . 196
<test>? . . . . . . . . . . . . . 196
“Connected to” Expressions . . . . . . 197
Side Groups . . . . . . . . . . . . 197
Rings . . . . . . . . . . . . . . 197
<Assignment-statement>. . . . . . . . 198
Semi-empirical Parameter Files . . . . . . . . . . . 198
Help Text . . . . . . . . . . . . . . . . . . 199
Communication Files . . . . . . . . . . . . . . 199
HyperNMR Input Files . . . . . . . . . . . . . . 200
Z-Matrix Files . . . . . . . . . . . . . . 200
NMR Files . . . . . . . . . . . . . . . 201
Molecular System: . . . . . . . . . . . . 203
Syntax: . . . . . . . . . . . . . . . . 203
Description: . . . . . . . . . . . . . . 204
; comment . . . . . . . . . . . . 204
forcefield . . . . . . . . . . . . 205
sys . . . . . . . . . . . . . . 205
view . . . . . . . . . . . . . . 205
box . . . . . . . . . . . . . . 206
mol . . . . . . . . . . . . . . 206
res . . . . . . . . . . . . . . 206
atom . . . . . . . . . . . . . . 206
vel . . . . . . . . . . . . . . 207
mass . . . . . . . . . . . . . . 207
basisset . . . . . . . . . . . . . 207
endres . . . . . . . . . . . . . 207
endmol . . . . . . . . . . . . . 208
Selections: . . . . . . . . . . . . . . . 208
Options:. . . . . . . . . . . . . . . . 208
NMR Parameter . . . . . . . . . . . . . 209
Table of Contents xi
NMR Spectrum . . . . . . . . . . . . . 209
Log Files . . . . . . . . . . . . . . . . . . 210
Part 1
HyperChem Data
1
2
A Database Module
Chapter 1
Introduction to HyperChem Data
A Database Module
HyperChem Data is a module that has been integrated into Hyper-
Chem. It augments HyperChem. It communicates with Hyper-
Chem to provide input for HyperChem and to store results com-
puted by HyperChem.
HyperChem Data is a Database Module in that it adds database
functionality to HyperChem. It comes with a large database of
molecules that can be transferred to HyperChem for modeling cal-
culations. Output from HyperChem can be transferred to Hyper-
Chem Data and as such it provides a database for storing the
results of molecular modeling calculations.
New databases can also be created with custom fields. Thus Hyper-
Chem Data provides a general purpose database capability for
HyperChem.
Databases
Databases used by HyperChem data are simply Access 97 databases
in a form that can be directly read by Microsoft Access. They can
be read either by Access 97 (in their native format) or by Access
Introduction to HyperChem 3
The Molecular Database
2000 (converted as they are read into the newer format). If they
are converted into the Access 2000 form, they cannot be read by
HyperChem Data.
The reason for keeping them in Access 97 form rather than the
newer Access 2000 form is that such databases use only one byte
per text character (Ascii) rather than 2 bytes (Unicode). This keeps
the HyperChem Databases at approximately one half the size they
would be if converted. They can always be converted, if necessary,
(by reading them into Access 2000) for use in other contexts.
Tables
HyperChem Data uses individual tables within an Access database
to hold molecular data. That is, all the information about a set of
molecules is in a table. A *.mdb database file can hold multiple
tables.
Naming Molecules
A Molecule in HyperChem Data has three potential names:
• Name - the string you use to describe that molecule.
• Alias - a second optional name for the same molecule.
• Root - a contraction of the name used as an index in the data-
base
4 Chapter 1
The Molecular Database
HDF String
Molecules in a HyperChem Data database are described by "pic-
tures" or 2D drawings of the relevant molecule. These pictures are
encoded by a *.hdf file containing an HDF string that encodes the
picture. That is, the HDF string or file contains records (lines) that
describe the basic primitives of the 2D drawing.
For example, the HDF string describing Ethane (a single line prim-
itive drawn to describe the carbon-carbon bond) is:
"PRIMITIVE",1,100,#FALSE#,0,-2147483640,1,2,1995,1845,2395,1845
"ATOM",1,"C",1995,1845,1,2,1
"ATOM",2,"C",2395,1845,1,1,1
The first record describes the single-line primitive that was drawn.
The last two records describe the two atoms inferred from the
drawn line. A complete description of an HDF file or string is
described in Appendix 1.
Introduction to HyperChem 5
Basic Window
HIN String
A 2D HDF string describing a 2D drawing of a molecule can be con-
verted by HyperChem to a full 3D description of the molecule.
This full 3D description of molecules is contained in a *.hin file or
equivalently a HIN string.
HyperChem Data databases have a field for the HIN string but this
string is often the null string implying the database contains only
a 2D description of a molecule (the HDF string). However, it is pos-
sible to have HyperChem Data use HyperChem to create a HIN
string and then imbed that string in the appropriate field of the
database. Such a database contains an optional 3D description of
a molecule as well as the required 2D description.
Properties
The fields of a HyperChem Data table include a few standard
required fields plus any custom fields. The standard fields include
properties such as the name of the molecule, and others, such as
the HDF string discussed above, plus other fields that are automat-
ically generated such as the molecular formula and weight. If
other properties of a molecule such as its dipole moment, spectral
frequencies, etc. are desired to be included in a database, then
these fields must be explicitly added to the definition of a table.
The record values of these custom fields may have to be manually
added to the database.
Certain properties can be related to HyperChem State Variables
(HSV’s). These properties can be include in a table without manual
entry by having HyperChem compute the property with subse-
quent automatic entry into the database.
Basic Window
The basic window defining the product is shown below.
6 Chapter 1
Basic Window
Introduction to HyperChem 7
Basic Operations
Basic Operations
HyperChem Data has only a few basic operations that the user
needs to understand. These can be used in isolation or can be
combined.
Drawing Molecules
One can use HyperChem Data just to draw a picture of a molecule.
These pictures can, of course, be imbedded in a database but they
need not be.
HyperChem has traditionally been used for molecular modeling
and not as a drawing package. The drawing capability of Hyper-
Chem Data allows you to create a drawing in the form that is
readily recognized as appropriate for publication. Later versions of
HyperChem come closer to allowing it to be used as a simple draw-
ing program but if you wish to just create a 2D drawing of a mole-
cule, HyperChem Data is preferred.
A drawing or picture can be saved in one of three formats:
• HDF file - the HDF file is proprietary to Hypercube, Inc. It is a
simple Ascii text file that describes a basic molecular drawing.
It is not intended to be a universal drawing format but is pri-
marily associated with HyperChem Data.
• Windows Metafile - an HDF string can be used to create a Win-
dows metafile, i.e. a Windows drawing which is portable to dif-
ferent devices such as screens, printers, etc. Unlike a bitmap,
a metafile creates lines on a printed page that have the resolu-
tion of the printer. A metafile is appropriate for incorporating
8 Chapter 1
Basic Operations
Database Reading
HyperChem Data can read databases such as those provided with
the program (Hyper3.mdb). Only databases specifically associated
with HyperChem Data can be read. Such databases, however, are
just specific examples of Microsoft Access databases and can be
used with Microsoft Access and other database programs, when
required.
When a database is read, one needs to open a specific table to
obtain access to molecular data. The table in Hyper3.mdb that
holds the data is referred to as the "Default" table.
When a database is read, the Index area is filled with all the names
of the molecules and a picture of the molecule associated with the
current record is displayed. The Physical Constants area shows all
the fields of the database apart from the HDF and HIN strings of
the memo fields.
Database Creation
Basic Entity is Table
HyperChem Data allows you to create a whole new Database with
any number of tables or just to create a new table of the existing
Introduction to HyperChem 9
Basic Operations
Standard Fields
When you create a new table, you are expected to define the fields
of that table. A standard database has only the standard default
fields. These include the HDF string or drawing that represents the
molecule.
Custom Fields
You can define any new fields that you like, including fields that
are related to variables in HyperChem that can be filled in auto-
matically from HyperChem calculations.
Adding Records
After a table is created, records can be added. This generally
requires selecting "Add Record" from the Edit menu, drawing the
molecule, giving it a name, and specifying its properties associated
with the standard or custom fields of the table. The record must
then be "Updated". Certain fields such as Formula and Molecular
Weight are computed automatically by HyperChem Data and need
not be added manually.
The principal information associated with a record in a table of
HyperChem data is the drawing of the molecule. Other informa-
tion may be calculated automatically but the drawing is the funda-
mental information associated with each record. The drawing plus
a name defines the molecule.
Database Editing
Any record in a table can be edited (and then updated). This edit
operation might include modifying the structure (via the drawing
of the molecule), modifying the name, the properties, etc.
Database Querying
An important operation on any database is querying. In particu-
lar, HyperChem Data comes with a database of over 10,000 mole-
cules and it is important to be able to search that database and
10 Chapter 1
Basic Operations
2D Substructure Searches
Substructure searches require searching through the HDF string
associated with a record. Such searches can be combined with first
performing an SQL search or can be performed independent of any
SQL search. These 2D substructure searches look for atoms that are
connected to specific other types of atoms. A simple graphical
interface allows easy generation of these queries.
These searches essentially are looking for specific connections in
the connection table describing the molecular graph. One looks
for rows of the connection table having specific properties. For
example, by combining these, one might search for organic acids
that are aromatic and have a Chlorine on the aromatic ring.
HyperChem Data cannot look directly for a completely arbitrary
substructure buried within a molecular system. It operates by
Introduction to HyperChem 11
Basic Operations
3D Substructure Searches
In HyperChem Data it is possible to query in three dimensions as
well as in 2D. That is, one might want to find all molecules where
a Nitrogen is within 3 Angstroms of two other Nitrogen atoms.
Such queries are important in drug design and are possible using
the generic query capability described next.
Generic Searches
HyperChem Data has the ability to execute a HyperChem script
over a set (table) of molecules. The "Run Script and Delete
Records" menu command allows completely generic queries to be
made.
For all entries of a table a script is run. A new table initially hold-
ing all the original entries is created. If the script returns a speci-
fied variable as "True" then that entry is kept. Otherwise that entry
is deleted from the new table. The final table (query) contains
only those entries that have passed the script successfully.
In this way it is possible to query all molecules that have a PM3
dipole moment of more than 2 Debyes, all molecules that have an
atom with an atomic charge greater than 0.4, etc. Completely
generic queries can be issued that depend on arbitrary molecular
structure and energetics.
HyperChem-Related Operations
Since HyperChem Data works in close conjunction with Hyper-
Chem, it is possible to perform sophisticated operations with sin-
gle records or sets of records. The related HyperChem operations
are:
• Get HIN file - get a structure from HyperChem and put it in the
HIN string of current database record.
• Put HIN file - put structure from current database record into
HyperChem. This structure may come either from the HIN
string if one is present or from a converted HDF string if no
12 Chapter 1
Basic Operations
Introduction to HyperChem 13
Basic Operations
14 Chapter 1
Overview
Chapter 2
Tutorials
Overview
This chapter includes a number of tutorials showing how to use
HyperChem Data. It is recommended that a new user go through
these tutorials to learn how to use HyperChem Data effectively.
Tutorials 15
Tutorials
Tutorials
These tutorials contain information on starting HyperChem Data,
opening and querying databases, editing records, adding fields,
creating new databases and tables, drawing molecular structures,
and using HyperChem with HyperChem Data.
16 Chapter 2
Tutorials
2. Opening a Database
A HyperChem Data database with an extension of MDB consists of
a set of tables. Each table can have as many fields as you like.
Examples of fields are: molecular structure, molecular formula,
Tutorials 17
Tutorials
melting point, dipole moment, HOMO energy, etc. You can define
fields with different field types and sizes to optimize storage and
search efficiency.
HyperChem Data comes with a sample database of more than
10,000 molecules representing common organic compounds. This
database is a read-only Access file, D:\hcdata\hyper3.mdb on
your CD-ROM, assuming that D is the letter assigned to your CD-
ROM drive.
You may read the data in hyper3.mdb directly from your CD-ROM
into HyperChem Data. Alternatively, you may copy the database
file to your hard disk, setting its attributes not to be read-only, if
you want to modify and use the database from your hard disk.
1. Assuming D: is your CD-ROM drive, copy
D:\hcdata\hyper3.mdb to a suitable location on your com-
puter’s hard drive. The recommended location is
C:\Hyper6\Data\hyper3.mdb.
2. To change the attributes of hyper3.mdb, right-click on it and
choose Properties. At the bottom of the Properties dialog box,
click in the box next to Read Only so that it is un-checked.
Then click on OK to close the Properties dialog box.
3. To open the database that comes with HyperChem Data, go to
the File menu and choose Open Database. Go to the folder
into which you copied the database file, click on hyper3.MDB,
then choose Open. To open any other MDB database, follow
the same procedure, substituting the path and name of that
database.
4. In order to use the database, you must open a table. A table
consists of a set of records, each made up of a molecular struc-
ture, molecule name, and the fields that have been defined for
that table.
18 Chapter 2
Tutorials
5. In the Tables dialog box, choose Default under Table List; then
click on Open to access the Default Table.
Notice that some of the folders in the Index window are marked
with a “+”; these are folders that contain records. Those marked
Tutorials 19
Tutorials
with a “-” are folders that are already open. Unmarked folders are
empty. Records are stored in alphanumeric order in the Index fold-
ers.
6. Click on a name in the Index box to see the corresponding
molecule displayed in the Molecular Structure window. Scroll
up and down the Index window. Click on the “+” next to one
of the marked folders to view its contents; the Molecule_Name
field for each record in the folder is displayed in the Index box.
Notice that the Record Number is displayed below the Navi-
gate Records buttons. The Record Number is based upon the
index order of records in the database.
7. To advance to the next record, use the button in the Navigate
Window. Alternatively, to choose the next molecule from the
index window, simply click on it.
At any time you can view the properties or notes stored with a
structure by choosing the Physical Constants or Memo Windows.
When you choose the Molecular Structure Window, an image of
the molecule is displayed. Click on Physical Constants. This
shows the current value for each field (property) defined in the
current table.
20 Chapter 2
Tutorials
2. In the New Query dialog box, choose Query Builder and then
choose OK. The SQL builder comes up.
Tutorials 21
Tutorials
22 Chapter 2
Tutorials
Tutorials 23
Tutorials
24 Chapter 2
Tutorials
Tutorials 25
Tutorials
Saving a Query: If you decide that you would like to save these
results, you can save them as a new table in the current database
or as a table in a completely new database. To save a query, choose
Save Query As under the File menu and choose appropriate names
for the table and the new database, if one is created.
If you decide not to save these results, choose Close Query under
the File menu.
Optionally Entering the Query String Directly:
As illustrated above, a substructure query can be generated via an
easy to use GUI (graphical user interface). The GUI in reality gen-
erates a substructure search string that the user need not be con-
cerned with.
However, it is possible to enter a specific substructure search string
and bypass the GUI if necessary. This might be necessary if, for
example, one is looking for specific bonding to a Germanium
atom which is not one of the atom choices in the GUI. To enter
your own substructure search string:
1. Click one the "Evalute button to see the current substructure
search string. You will be modifying it.
2. Click to say yes to the checkbox, "Enter and Use".
26 Chapter 2
Tutorials
Overview
By a Generic Query we mean that for every record in the database,
one runs a generic HyperChem script on the molecule from the
database. This script can compute anything associated with the
molecule. The script must finally makes a decision, in code, on
whether the molecule satisfies the query criterion.
The script that defines a generic query must ultimately include a
Tcl script (*.tcl). This is because the script must have conditionals
so as to decide whether the query is satisfied or not.
How It Works
HyperChem Data when asked to "Run Script and Delete Records"
creates a new Hyperchem State Variable (HSV) in HyperChem.
This HSV is called "hc-fail". This variable is set by HyperChem
Data to have an initial value 1 or "true" before running the requi-
site script on every record of the database. The script must set this
value to 0 or "false" if the query criterion is satisfied by the script
and the record is to be kept (not deleted) as a successful record in
the query. If the script does nothing about "hc-fail" or sets it to 1
or "true" then the query fails on that record and the record is
deleted from the table.
Since the query script can calculate a host of molecular modeling
properties (anything HyperChem has to offer), the query is a very
generalized one. For example, the script could optimize the struc-
ture using a particular method or basis set and then perform a
quantum mechanical calculation of the ionization potential.
With code to check the result, the query could return only those
Tutorials 27
Tutorials
Example
This example queries a database for all molecules that have a
quantum mechanically calculated dipole moment greater than 1.0
Debyes.
Setting up the script:
1. Use notepad or your favorite editor to create a new script called
bigdipole.scr. This script will have only one line in it reading
read-tcl-script bigdipole.tcl
28 Chapter 2
Tutorials
Tutorials 29
Tutorials
2. Click on Design.
30 Chapter 2
Tutorials
4. Enter the Field Name. Choose the desired data type, and spec-
ify fixed or variable field length. You may also specify whether
to allow zero length, and designate the field as required, if
desired.
Example. You may want to enter the boiling points of the mole-
cules in your table. To do this, enter “Boiling_Point” in the Field
Name box. Choose “Single” as the Data type. Accept the default
Size, and then click on the right arrow button to add this field
name to the displayed set of fields.
Removing a Field: In the Table Structure window, choose Remove
Field. Note that the default fields (Alias, Formula, HDF_File,
HIN_File, Mol_Weight, Molecule_Name and root) cannot be
removed.
HSV Fields
In addition to custom fields such as Boiling Point described above,
it is possible to add fields that are tied to HyperChem State Vari-
ables (HSV’s). An HSV is a variable in HyperChem that may con-
tain an energy, an ultraviolet frequency, an atom charge, etc.
There are hundreds of these HSV in HyperChem describing vari-
ables of the molecular modeling program.
Tutorials 31
Tutorials
32 Chapter 2
Tutorials
2. Fill in the Molecule Name and Alias, if it has one. The other
two fields (Formula and Molecular Weight will get filled in
automatically.
Tutorials 33
Tutorials
34 Chapter 2
Tutorials
The memo panel will show the metafile and hin file (preliminary
2D form) for the new molecule.
Deleting A Record
To delete a record from a table is straight forward.
1. Click on Edit/Delete Record to delete the current record.
Tutorials 35
Tutorials
9. Drawing a Molecule
Background
A molecular drawing can be included as part of a database record
or drawn completely independently of a database record as an iso-
lated drawing for inclusion, for example, in a manuscript.
Molecular drawings in HyperChem Data are described via an HDF
string or HDF file (*.hdf) that contains the multi-line string). The
HyperChem Drawing File (HDF) is an Ascii file (delineated in
Appendix 1) that describes what you have drawn so that the draw-
ing can be reproduced, edited, saved, etc.
An HDF file can be converted into two other types of files. The first
is a Windows Metafile (*.wmf). This is the Windows format for a
line drawing. It is an appropriate format for including, for exam-
ple, a molecular drawing into a Microsoft Word document. Hyper-
Chem Data can create a Metafile from an HDF file but not vice
versa.
Secondly, HDF files can be converted into HIN files, the standard
file for input to HyperChem. Since HyperChem HIN files prima-
rily describe 3D molecular structure not drawings, this may be less
relevant with regard to simple drawing than the creation of Meta-
files.
[The latest Releases of HyperChem have new drawing capabilities
relevant to HIN files.]
Drawing a Substituted Naphthalene:
1. Close any open tables or databases in HyperChem Data.
2. Click on Ring Tools of the toolbar to bring up the dialog box
for choosing a ring structure.
36 Chapter 2
Tutorials
3. Click on the Benzene ring and then on OK. Your mouse cursor
should now resemble the toolbar button.
4. Click the left mouse button in the drawing area and hold the
button down. Drag the mouse around to get a feeling for the
way one can rotate the benzene ring on the screen. When you
have an orientation such as that shown below, release the left
mouse button.
Tutorials 37
Tutorials
You have now created Naphthalene. We will now add two substit-
uents.
6. Use the single bond cursor (second toolbar button from the
left) and one of the double bond cursors to draw something
equivalent to that shown below. All three of the double bonds
are chemically equivalent and which one you use depends
only upon how you prefer your drawing to look.
38 Chapter 2
Tutorials
At this point all atoms are Carbon Atoms. The drawing consists of
a set of vertices, each of which, by default, is a Carbon atom. How-
ever, we can modify any vertex to change the Carbon atom into
any other Element.
7. Click on the Ascii text button of the toolbar (7th from the left)
to select the text cursor. Use the cross-hairs of the cursor to
click on the atom (end of the line) at the top of the drawing
(top end of the single bond you have just drawn). That is, click
on a vertex to change that default Carbon atom at that vertex
into a new Element .
8. After you click, you will see a flashing cursor indicating you
can type characters. Type the Characters "Cl" followed by hit-
ting "Enter". This will change the default Carbon Atom into a
Chlorine atom.
9. Do the same with the other two open-ended bonds but type an
"O" (rather than "Cl") followed by hitting "enter" each time.
Your drawing should now look as follows:
Tutorials 39
Tutorials
40 Chapter 2
Tutorials
Thus the above drawing and the following drawing are different
drawings..
Tutorials 41
Tutorials
42 Chapter 2
Tutorials
Example
The example below creates a whole new database rather than just
a new table for an existing database. The two are basically the
same procedure, however.
1. Under File, choose New Database. Enter the name for the new
database in the dialog box. Click on Save to close the dialog
box.
Tutorials 43
Tutorials
3. Fill in a name for the new table in the new database. As shown
above, we have call ours, "FirstTable" in the database
MyData.mdb.
For this example, lets assume you are creating a database of exper-
imental dipole moments for eventual comparison with calculated
values.
You can choose new fields that are tied to a HyperChem State Vari-
able (HSV). These fields will be filled in automatically when you
run a HyperChem script on a table or query. Alternatively, you can
choose new database fields having no specific relationship to
HyperChem, using the Other option.
4. Create a new field called Dipole by entering the string "Dipole"
in the Other Field Name position, clicking on the ">" button to
assign the field as shown below.
44 Chapter 2
Tutorials
6. Click on Open to open the new table. At this point the table
will be empty.
The new table has zero records. The Molecular Structure tab is
empty and the Physical Constants tab looks as follows.
Tutorials 45
Tutorials
The new Dipole field of the database table is shown above. To add
records to this new table one must use Edit/Add Record, fill in the
data, draw the molecule, etc., and then use Edit/Update Record to
complete the addition of the new record. This is repeated until
you have added as many records as desired. You should then close
the table and/or the database. Here we will illustrate adding a sin-
gle record. The record will be for acetone and assume the dipole
moment is 0.5 Debyes.
7. Click on Edit/Add Record and then fill in the Physical con-
stants for Acetone as shown below:
46 Chapter 2
Tutorials
Tutorials 47
Tutorials
This drawing has added the text label "CH3" at two of the vertices.
These labels are not necessary as far as HyperChem is concerned
but they may add to the clarity of the drawing, as desired.
9. Click on Edit/Update Record to complete adding this new
record to your new table and new database.
10. Click on File/Close Table to close the table. Click on File/Close
Database to close the database.
48 Chapter 2
Tutorials
Run Script...
HyperChem Hcl scripts, which are described in detail in the Hyper-
Chem Chemist’s Developer Kit manual, can be used in conjunc-
tion with HyperChem Data to perform calculations on molecules
in a HyperChem Data table. The results can be stored in the table,
or they can be sent to an output text (log) file.
Tutorials 49
Tutorials
7. Press the ">" button to add this variable to the list of fields for
this table.
8. Repeat this process for each variable you wish to add. For
example, one could add the following variables to save the first
six lowest-frequency IR lines of each molecule:
ir-frequency(1)
ir-frequency(2)
50 Chapter 2
Tutorials
ir-frequency(3)
ir-frequency(4)
ir-frequency(5)
ir-frequency(6)
To create this script file, enter the commands listed above using a
text editor and save the file as an SCR file. For example, you could
save the commands above in a file named ir-freq.scr in the
Hyper6/Scripts folder. Close the file before proceeding to the next
step.
14. Start HyperChem if you do not have an active HyperChem
window.
Tutorials 51
Tutorials
52 Chapter 2
Tutorials
Tutorials 53
Tutorials
Closing a Database
Every time you close a database in HyperChem Data you are given
the option of compacting it.
Often you should just say no but if you think your operations have
sufficiently expanded it, then you can compact it at that point.
Compacting a Database
You also have the option to compact at any time using the menu
item File/Compact Database...
Repairing a Database
If you believe your database may have been corrupted, you have a
probability that Microsoft software can repair it. To attempt this
just click on the menu item File/Repair Database.... and select the
database to repair.
If the database is successfully repaired, you will be asked if you
wish to open it.
54 Chapter 2
Tutorials
Tutorials 55
Tutorials
56 Chapter 2
Tutorials
You now have a 3D structure with all the relevant Hydrogen atoms added.
The model builder gives an excellent first approximation to the 3D structure
but you might still wish to optimize the 3D structure with your favorite com-
putational approach.
Tutorials 57
Tutorials
58 Chapter 2
Overview
Chapter 3
Reference
Overview
This chapter includes a number of reference materials on the
HyperChem Product.
Menu Items
This section describes each of the menu items in HyperChem Data.
File Menu
New Database...
Click on this menu item to create a new database (and ultimately
a new table for the database).
Open Database
Click here for normal file-like opening of a database.
Close Database
Click here to close the current database.
Tables
Bring up a dialog box for choosing a database table along with an
operation on the table.
Close Table
Close an open database table.
Reference 59
Menu Items
Compact Database
Run a compact operation on the current database or a database of
your choice. Compacting a large database may take some time.
Repair Database
Attempt repair on a corrupted database.
Close Query
Close a current query and return to original table.
Save Query As
Save a current query as a table of the current database or as a table
in a new database to be specified.
Import Picture
Read in an HDF file as a replacement for the Molecular Structure of
current record (possibly a NULL record if there is no current data-
base table).
Save Picture As
Write out (HDF, BMP, or HIN) file representing the current Molec-
ular Structure.
Edit Menu
Copy
Copy a bitmap of the current Molecular Structure to the Clipboard
Delete
Delete any selected portions of the current Molecular Structure.
Equivalent to the Del key.
60 Chapter 3
Menu Items
Align Label
Align the text label describing a vertex of a Molecular structure
drawing.
Select All
Select all portions of the Molecular Structure Drawing.
Select None
Deselect all portions of the Molecular Structure Drawing.
Add Record
Place in mode where a new record can be added to a database table.
Edit Record
Place in mode for editing the current record of a database table.
Discard Changes
Discard any editing performed on the current record of a database
table.
Update Record
Make permanent any changes or edits to the current record of a
database table.
Delete Record
Delete the current record of the current database table.
Query Database
Bring up dialog boxes for specifying the parameters of a database
query. Perform the Query.
Reference 61
Menu Items
Display Menu
Refresh Screen
Refreshes the screen. Only needed in unknown rare circum-
stances.
Clear Screen
Erases all elements of the drawing in the current Molecular Struc-
ture Panel.
Center Picture
Centers the molecule picture in the Molecular Structure Panel.
Tool Menu
These menu items are rigorously equivalent to clicking on one of
the toolbar buttons.
A right mouse button click with a particular new type of bond
changes the bond under the cursor to the new type of bond.
Select
Used to select a portion of a picture in the Molecular Structure
panel. Clicking selects the bonds under the cursor. Dragging cre-
ates a rubber banded area for selection.
Single Bond
Used to draw single bonds.
Double Bond
Used to draw equal length double bonds.
62 Chapter 3
Menu Items
Triple bond
Used to draw triple bonds.
Text
Used to add a label at a vertex of a molecular drawing. Click on
Vertex, type label, and hit Enter. Numbers are automatically sub-
scripts.
Rings
Click on to bring up a dialog box containing rings to be selected as
drawing components. Rings may be aromatic or single bonded.
Double bonds, etc. are created by modifying single bonds (right
button click).
The rings in HyperChem Data involve the only mechanism for cre-
ating aromatic bonds.
Rings may be merged correctly by just overlapping the appropriate
bonds.
Text Colors
Chooses a color for subsequent Text Labels at vertices. Default
color is black.
Draw Colors
Chooses a color for subsequent bonds. Default color is black.
HyperChem Menu
These menu items are associated with the interaction between
HyperChem and HyperChem Data.
Reference 63
Menu Items
Get Hinfile
Looks at the molecule in the workspace of HyperChem and places
a corresponding HIN file describing its 3D structure into the HIN
string of the current record of the HyperChem Data database table.
Put Hinfile
If the current record of the database table of HyperChem Data has
a valid HIN string in it, passes that string to HyperChem as a 3D
HIN file to be read with the associated molecule being placed in
the workspace of HyperChem.
If the HIN string of the current record is NULL, then converts the
HDF string to a HIN string and passes the molecule to HyperChem.
HyperChem will thus have a molecule with all z coordinates of
zero and an appropriate next operation would be to apply the
model builder or to optimize the structure.
Delete Hinfile
This menu item gives you the option of deleting the HIN string
from the current record of the current database table or from all
the records of the current database table.
The HIN string potentially gets filled in by HyperChem as a result
of the menu item Run Script and Retrieve HIN... At times one
would perhaps like to go back to a HIN string that is NULL (but can
still be generated from an HDF string). This menu item allows
clearing out HIN strings from the database.
Run Script
Runs a HyperChem script over all the molecules of the current
database table of HyperChem Data. This script can perform any
calculations on the molecule from HyperChem Data that the
script specifies.
If the database table has fields that start with "h_", i.e. fields which
correspond to HyperChem State Variables (HSV’s), then those
fields will be filled in with the current value of the HSV at the end
of the script.
A script must be a Hcl *.scr script but that script might include a
"read-tcl-script" call so that the script is completely generic.
64 Chapter 3
Menu Items
Bond Menu
Constrained
Selects the drawing of bonds to be constrained as to both their
length and angle (increments of 30 degrees). The constrained
length can be short, medium, or long.
Unconstrained
Selects the drawing of bonds as to be unconstrained as to length
and angle. This allows, for example, the joining of distant atoms
by a bond.
Help Menu
HyperChem Data includes extensive on-line help.
Reference 65
Drawing Tools
Drawing Tools
This section gives details on the HyperChem Data drawing tools.
66 Chapter 3
Drawing Tools
Reference 67
Drawing Tools
68 Chapter 3
HDF Files
Chapter 4
HDF Files
HDF Files
HDF files include information on each of the bonds in a molecular
drawing as well as each of the text labels associated with particular
vertices.
Each vertex in a drawing describes an atom and the file also
includes at the end of the file a record explicitly describing these
atoms.
If we have a Molecular Structure such as the following:
HDF Files 69
HDF Files
"PRIMITIVE",1,100,#FALSE#,0,-2147483640,1,2,1875,1530,2221.41,1730
"PRIMITIVE",2,100,#FALSE#,0,-2147483640,2,3,2221.41,1730,2221.615,2129.645
"PRIMITIVE",3,100,#FALSE#,0,-2147483640,3,4,2221.615,2129.645,1874.91,2330.156
"PRIMITIVE",4,100,#FALSE#,0,-2147483640,4,5,1874.91,2330.156,1528.5,2130.156
"PRIMITIVE",5,100,#FALSE#,0,-2147483640,5,6,1528.5,2130.156,1528.795,1729.645
"PRIMITIVE",6,100,#FALSE#,0,-2147483640,6,1,1528.795,1729.645,1875,1530
"PRIMITIVE",7,3,-2147483640,1875.205,1929.645,2008.205,1699.282
"PRIMITIVE",8,100,#FALSE#,0,-2147483640,2,7,2221.41,1730,2567.82,1530
"PRIMITIVE",9,4,1,0,2463,1410,2673,1650,7
"ATOM",1,"C",1875,1530,2,2,4,6,4
"ATOM",2,"C",2221.41,1730,3,1,4,3,4,7,1
"ATOM",3,"C",2221.615,2129.645,2,2,4,4,4
"ATOM",4,"C",1874.91,2330.156,2,3,4,5,4
"ATOM",5,"C",1528.5,2130.156,2,4,4,6,4
"ATOM",6,"C",1528.795,1729.645,2,5,4,1,4
"ATOM",7,"Cl",2567.82,1530,1,2,1
"LABEL",1,"Cl"
PRIMITIVE Records
Records in this file are labelled "PRIMITIVE" for lines (bonds), cir-
cles, and labels. Primitive records have tokens separated by com-
mas as described below. The second token in a Primitive record is
just the index of the primitive, i.e. 1,2,3,... The third token iden-
tifies the type of Primitive according to:
• 100 - single bond
• 101 - double bond
• 102 - right-sided double bond
• 103 - left-sided double bond
• 104 - triple bond
• 3 - circle
• 4 - label
The fourth token describes whether the primitive has children
(#TRUE# or #FALSE#) and the fifth token describes the index of the
parent primitive (generally 0). The sixth token describes the color
of the primitive in a somewhat encoded fashion (such as
-2147483640 for black!). For a bond primitive, the seventh and
eighth tokens describe the atom indices at the start and end of the
70 Chapter 4
HDF Files
bond (the two vertices). Finally, the last four tokens describe the
coordinates of the two end points of the bond.
The circle primitive (3) differs from the bond primitives in that it
has tokens only for its color and coordinates of the enclosing rect-
angle.
The label primitive (4) has a fourth token that describes the index
of the label. The fifth token for a label primitive describes its color
(a different representation than used in bonds). The 6 through 9
tokens describe the coordinates of the enclosing rectangle for the
label. Finally the last token gives the index of the vertex (atom) to
which the label is attached.
Atom Records
Atom records describe the index of the atom, the element symbol
for the atom, the x and y coordinates of the atom vertex, the coor-
dination of the atom (number of other atoms it is connected to),
and finally the types of bonds it makes.
The bonding information indicates the index of the atom that a
given atom is bonded to and then the type of bond. This is
repeated for each bond connection.
The types of bonds are:
• 1 - single bond
• 2 - double bond
• 3 - triple bond
• 4 - aromatic bond
Label Records
The final "Label" records shown above describe the text of each
label. The second token is the index of the label and the third
token is the label text.
HDF Files 71
HDF Files
72 Chapter 4
HyperChem Modules®
Part 2
HyperNMR
73
74
Chapter 5
HyperNMR
Overview
TM
HyperNMR is a software package for a priori prediction of one-
1 13 15 15 19
dimensional NMR spectra. It can predict H, C, N, O, F or
31
P spectra for molecular systems involving the elements hydro-
gen through argon.
HyperNMR displays molecular systems and NMR spectra graphi-
cally. They can be copied to other Windows applications via the
Windows clipboard to produce hard copy.
HyperNMR provides several renderings of molecules. These ren-
derings are disks and shaded spheres for atoms and sticks,
unshaded cylinders, and shaded cylinders for bonds. This can
yield, for instance, the popular ball and stick rendering of mole-
cules.
HyperNMR provides other viewing options. Both the mouse and
keyboard can be used to rotate the molecule, change its position,
and magnify its size. The mouse can be used to select and deselect
atoms in a molecular system and to select and deselect the whole
molecular system.
HyperNMR can be used in one of two ways:
• As a stand-alone program.
®
• In conjunction with HyperChem .
If you do not have a copy of HyperChem installed on your com-
puter, you must use HyperNMR in stand-alone mode. This requires
reading a molecule into HyperNMR from a molecular structure
file, such as a HIN file, that contains the coordinates of the atoms
of the molecule whose NMR spectrum is to be computed.
75
Overview
76 Chapter 5
Chapter 6
Installation Guide
Introduction
This guide contains information on the following:
System Requirements
HyperNMR requires the following minimum equipment:
® ®
• An Intel 386, 486 or Pentium compatible CPU. A 386 CPU
will require an Intel 80387 math coprocessor. A computer
using an Intel 80486 SX will require an 80487 SX coprocessor.
• A minimum of 4 MB of random access memory (8 MB recom-
mended).
• At least 8 MB of free hard disk space.
®
• A video display compatible with Microsoft Windows 3.1,
including IBM Video Graphics Array (VGA or Super VGA).
• A mouse or other pointing device compatible with Microsoft
Windows, version 3.1.
• Microsoft Windows Version 3.1 or higher running in 386
Enhanced mode and Version 5 or later of DOS, or Windows 95
or Windows NT for PCs.
77
Installing HyperNMR
Installing HyperNMR
The HyperNMR setup program decompresses and copies files to
your hard disk. The names of compressed files end with an under-
score ( _ ).
To install HyperNMR:
Caution: When you install this software, please make sure that the
write-protect tabs on the disks allow the disks to be written to.
Please use only standard keyboard letters and numbers when you
type in the registration information, without using the [Alt] key to
get accents or special characters. We recommend that you make a
backup copy of the software before you install it, and that you
install from the backup rather than from the original disks.
1. Make sure you know your serial number, which is on a label on
the back of Disk 1, on the back of this manual, and on your
registration card.
2. Place Disk 1 of the distribution set into a floppy drive in your
computer.
3. From Program Manager, choose Run from the File menu.
4. In the Command Line text box, enter
a:\setup
(Use a different initial letter if your floppy drive is other than
a:), and choose OK.
5. Follow the instructions provided by the Setup program.
WIN.INI settings
The HyperNMR setup program detects the possible presence of an
existing copy of HyperChem by looking in the HyperChem sec-
tion of your WIN.INI file (which is stored in your Windows direc-
tory). If it detects a copy of HyperChem it adds the following lines
to this section, of the form:
NMRExePath = C:\HYPER\NMR
NMRIniPath = C:\HYPER\NMR
NMRParmPath = C:\HYPER\NMR
78 Chapter 6
Interaction of HyperNMR and HyperChem
Installation Guide 79
80
Chapter 7
Introduction to HyperNMR
Introduction
Welcome to HyperNMR!
1 13 15 15 19 31
HyperNMR allows you to compute the H, C, N, O, F or P
spectrum of a molecular system involving the elements hydrogen
through argon. (The elements potassium through xenon could
also be included in a non-quantum mechanical fashion, but you
would need to define new atom types and certain semi-empirical
parameters.) The computation is an a priori computation in that
for many situations, you need only input the three dimensional
structure of a molecule and HyperNMR will subsequently predict
all the relevant chemical shifts and coupling constants for the
molecule. If desired, this can be followed by a computation of the
frequencies and intensities of the one-dimensional NMR absorp-
tion spectra.
Stand-alone or Combined
HyperNMR can be used as a stand-alone program that reads a
molecular structure from a file, either in HIN (HyperChem Input)
or in Z-Matrix (MOPAC input) format. Alternatively, HyperNMR
can be used in conjunction with HyperChem, and a molecular
structure can be transferred from HyperChem to HyperNMR by
Dynamic Data Exchange (DDE). In either event, the 3-dimensional
Cartesian coordinates of a molecule are the starting point for an a
priori quantum mechanical computation of the NMR spectra.
81
Some Basic Ideas
Quantum Atoms
Calculations can be performed on systems from small organic mol-
ecules to portions of very large macromolecules. For large systems,
the molecule can be divided into a quantum mechanical region
whose atoms (the “quantum atoms”) are included in the quantum
mechanical calculation and a classical region whose atoms are
included in the calculation via their electrostatic perturbation on
the quantum mechanical atoms. The boundary between the clas-
sical region and quantum mechanical region is treated by superim-
posing a pseudo-atom (called a capping atom) on top of any non-
quantum atoms that are bonded to quantum atoms. HyperNMR
3 3
includes parameters for a boundary that is between sp -sp bonded
atoms or that doesn’t cross bonds. You can add additional param-
eters for other situations.
Quantum atoms and any associated capping atoms are restricted
to the elements hydrogen through argon. The elements hydrogen
through xenon can be in the classical region, as long as the cap-
ping atoms that are bonded to quantum atoms do not include the
elements potassium through xenon. If you wish to use any of the
elements potassium through xenon, you will need to define new
atom types and parameters (see chapters 5 and 6 for information
on atom types).
NMR Atoms
For the atoms that are included in the quantum mechanical calcu-
lation, you must specify those atoms (the “NMR atoms”) that
should have shielding and spin-spin coupling constants calcu-
lated. These atoms are the only ones for which chemical shifts and
coupling constants are computed.
Labelled Atoms
12
The NMR atoms by default will be protons, C, etc. — the isotope
of highest natural abundance. If you specify that certain atoms are
“labelled atoms,” then they undergo isotopic substitution to make
inactive nuclei active and vice versa. Thus a labelled hydrogen
atom will have a deuterium nucleus (I =1, inactive), and a labelled
13
carbon atom will have a C nucleus (I = ½, active), for example.
82 Chapter 7
Using HyperNMR for calculations
Equivalent Atoms
Because the quantum mechanical calculations of shielding con-
stants and spin-spin coupling constants are done at a fixed nuclear
geometry, equivalent to 0 degrees Kelvin, the protons of a methyl
group, for example, will not all be equivalent. HyperNMR makes it
possible for the user to specify sets of atoms, “equivalent-atoms-1”,
“equivalent-atoms-2”, etc. whose shielding constants and spin-
spin coupling constants are to be averaged prior to producing a
spectrum. This way you can ensure that all the protons of a methyl
group share a single chemical shift, for example.
Introduction to HyperNMR 83
84
Overview
Chapter 8
Tutorials
Overview
This chapter contains a set of tutorials for learning how to use
HyperNMR. We strongly encourage you to go through the tutorials
one at a time so as to become familiar with the operation of Hyper-
NMR. Each tutorial introduces specific features of HyperNMR but
leans on previously introduced features, so the tutorials should be
completed in the order given.
Starting HyperNMR
To start HyperNMR:
1. Start Windows if it is not already running.
2. In the Program Manager window, position the cursor over the
HyperNMR icon:
Tutorials 85
Tutorial I: HyperNMR Basics
HyperNMR Window
Familiarize yourself with different parts of HyperNMR window.
maximize/restore
control-menu title bar button
button minimize button
tool
menu bar
menu
tool bar
workspace
status line
86 Chapter 8
Tutorial I: HyperNMR Basics
Title Bar
The title bar shows the name of the file you are working on. The
name appears as untitled if you are working on a file that has not
been previously saved.
Menu Bar
The menu bar contains the names of the HyperNMR menus which
are: File, Edit, View, Tool, Setup, Compute, and Help.
Tool Bar
The HyperNMR tool bar contains eleven tools. You can use them
to load molecular systems, shielding constants, spin-spin coupling
constants and NMR spectra into HyperNMR, save the molecular
system and calculations, change the contents of the HyperNMR
workspace, and manipulate molecular systems. The HyperNMR
tools are the shortcuts for the menu items in the menu bar.
Workspace
The HyperNMR workspace is used to show molecular systems,
view shielding and coupling constants, and display NMR spectra.
Status Line
The status line of HyperNMR shows the actions and status when
you load a system to HyperNMR or a brief description of the menu
item or tool button when you choose a menu item or click on a
tool button of HyperNMR.
Help
You can use the Help menu to get on-line help and see the version
information for HyperNMR.
Control-Menu Button
The Control menu contains the commands to resize, move, maxi-
mize, minimize, and close HyperNMR. It also contains the Switch
command, which lets you activate another Windows application.
Tutorials 87
Tutorial I: HyperNMR Basics
Maximize/Minimize Buttons
The Maximize button expands a window to display it in a full-
screen size and the Minimize button shrinks a window to an icon.
When you maximize a window, the Maximize button changes to
a restore button, which you can use to return the full-screen win-
dow to its previous size.
Keyboard Alternatives
HyperNMR provides keyboard alternatives to using the mouse.
The following is a list of some keyboard actions.
To open a menu:
Each menu in the menu bar has an underlined letter. When you
press the [Alt] key and this letter, the corresponding menu opens.
For example
1. Hold down the [Alt] key and press the [F] key.
To close a menu:
Press the [Alt] key or [Esc] key.
88 Chapter 8
Tutorial I: HyperNMR Basics
Tutorials 89
Tutorial I: HyperNMR Basics
3. L-click on Open.
The Open File dialog box appears.
Shortcut: L-click the tool button on the tool bar at the top of
the HyperNMR workspace to open the Open File dialog box.
90 Chapter 8
Tutorial I: HyperNMR Basics
To change directory:
If the file that you wish to open is not in the current directory, you
may want to change the directory. In this case we want to locate
the HyperNMR sample files. To do this:
1. If necessary, L-drag the scroll box in the Directories list box to
find the name of the directory where you installed HyperNMR.
2. Double-click on the HyperNMR directory in the Directories list
box.
3. Double-click on the samples directory below the HyperNMR
directory in the Directories list box.
The File Name list box should now show the sample files that
are distributed with HyperNMR and are in NMR format.
Tutorials 91
Tutorial I: HyperNMR Basics
To select a file:
1. L-click on METHANE.HIN in the samples directory under the
directory where HyperNMR is installed.
HyperNMR displays this name in the File Name text box:
92 Chapter 8
Tutorial I: HyperNMR Basics
You can also enter a file name by typing it in the File Name text
box, instead of performing an L-click on METHANE.HIN.
2. L-click the OK button.
The dialog box disappears. The cursor turns into an hour-glass
icon and all the tool buttons on the tool bar and the menus on
the menu bar, except the Help menu, are grayed, because
HyperNMR is currently busy reading the file and preparing to
display the molecular system. As HyperNMR reads the file, the
number of atoms is displayed in the Status Line at the bottom
of the HyperNMR window. The title bar shows HyperNMR
with the file name, METHANE.HIN in this example, after
HyperNMR has read in the file.
Tutorials 93
Tutorial I: HyperNMR Basics
Shortcut: L-click the tool button on the tool bar at the top of
the HyperNMR workspace to get a molecule from the HyperChem
workspace.
Changing Renderings
HyperNMR automatically uses the rendering settings from the last
session. You can change the rendering settings via the Rendering
dialog box.
94 Chapter 8
Tutorial I: HyperNMR Basics
In the Rendering dialog box, there are three groups of radio but-
tons which are named Atoms, Bonds, and Atom Labels, respectively.
Tutorials 95
Tutorial I: HyperNMR Basics
4. Open the Rendering dialog box again, L-click on the Type radio
button, and then click on OK.
HyperNMR displays methane with the atom type attached to
each atom:
96 Chapter 8
Tutorial I: HyperNMR Basics
Tutorials 97
Tutorial I: HyperNMR Basics
98 Chapter 8
Tutorial I: HyperNMR Basics
To display bonds:
1. Open the Rendering dialog box.
2. L-click on the Bonds radio button.
3. L-click on OK in the Rendering dialog box.
HyperNMR shows the atom bonds of methane:
To display cylinders:
1. Open the Rendering dialog box.
2. L-click on Cylinders and L-click on the OK button.
This dismisses the Rendering dialog box and changes the ren-
dering of bonds to shaded cylinders.
Tutorials 99
Tutorial I: HyperNMR Basics
XY translation:
You can use the translation tool to move molecules along the
plane of the computer screen. Before doing this, you may want to
change the atom and bond renderings to be labels and sticks in
order to speed up the molecular manipulation, if you have fol-
lowed this tutorial.
1. L-click on Tool.
2. Select Pointer Zoom & Translate.
Now the mouse pointer is in Zoom and Translate mode.
100 Chapter 8
Tutorial I: HyperNMR Basics
Zoom:
Check that the tool button is down and a molecular system is
showing in the workspace (to make sure that the mouse mode is
set to Pointer Zoom & Translate) and then
1. R-drag upwards.
The molecular image gets smaller.
2. R-drag downwards.
The molecular image gets larger.
Scale to fit:
When a molecular system is first loaded from a file, it may be cen-
tered in the workspace in a standard size. After you have translated
and zoomed it, the molecular system may not be centered any-
more. You can return it to its original size and location in the work-
space by using Scale to Fit menu item under the Tool menu. To do
this:
1. Select Scale to Fit under the Tool menu, or alternatively, press
the spacebar.
The molecule returns to its original size and to the center of
the workspace.
XY rotation:
To rotate the molecular system in HyperNMR around the x and y
axes, use the XY rotation tool. To do this:
1. Select Pointer Rotate under the Tool menu.
2. Move the cursor into the workspace.
3. L-drag horizontally.
Tutorials 101
Tutorial I: HyperNMR Basics
Shortcut: L-click the tool button on the tool bar to change the
mouse mode to Rotate.
Z rotation:
Repeat steps 1 and 2 as done for XY rotation if you have changed
the mouse mode and then do the following step:
1. R-drag horizontally.
This rotates the molecule in the plane of the computer screen.
Vertical R-dragging is ignored.
102 Chapter 8
Tutorial I: HyperNMR Basics
Tutorials 103
Tutorial II: Calculation of NMR Shielding & Coupling
Exiting HyperNMR
For now, exit HyperNMR.
To exit HyperNMR:
1. Select Exit on the File menu of HyperNMR.
HyperNMR may bring up a message box and ask you whether
or not you want to save the current molecular system. You can
L-click on the No button in the message box to discard the cur-
rent system or you can L-click on the Yes button to save the
molecule. If you choose Yes, HyperNMR gives you the Save As
dialog box and lets you choose a file name. You can simply
type in CH4 in the File Name text box of this dialog box.
HyperNMR will automatically add the extension .NMR to
CH4, so the full name of your file is CH4.NMR. Then you can
press OK. This closes the HyperNMR window.
To reopen HyperNMR:
1. Point to the HyperNMR icon in the Windows Program Man-
ager.
2. Double-click on the HyperNMR icon.
The HyperNMR window appears.
104 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Setting Up Options
HyperNMR computes NMR properties based on the wave function
which, in turn, is calculated using a semi-empirical quantum
mechanical method. See Chapter 6 in this manual for details.
Before you can start a HyperNMR computation, you need to spec-
ify various selections and options, such as quantum atoms, NMR
atoms, equivalent atoms, labelled atoms, SCF wave function
options and the computational method. The following steps show
you how to set up these selections and options.
Tutorials 105
Tutorial II: Calculation of NMR Shielding & Coupling
106 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Tutorials 107
Tutorial II: Calculation of NMR Shielding & Coupling
108 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Tutorials 109
Tutorial II: Calculation of NMR Shielding & Coupling
tion, first you select the atoms which you would like HyperNMR
to treat as NMR atoms. Then open the Name Selection dialog box
in HyperChem by clicking the Select/Name Selection menu item
and enter nmr-atoms for the name.
17. L-drag these four hydrogens and then L-click on the Add ⇒
button.
This adds these four hydrogens to the Equivalent Atoms list
box.
18. L-click on the Apply button.
110 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Tutorials 111
Tutorial II: Calculation of NMR Shielding & Coupling
21. L-click on the first atom, carbon, in the NMR Atoms list box
and then L-click on the Add ⇒ button.
The carbon is added to the Labelled Atom list box, changing it
12 13
from C to C.
22. L-click on OK.
This stores the selected labelled atoms and closes this dialog
box.
112 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Tutorials 113
Tutorial II: Calculation of NMR Shielding & Coupling
114 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
under the View menu and the respective tool buttons and
are active once the shielding and coupling constants are avail-
able.
Tutorials 115
Tutorial II: Calculation of NMR Shielding & Coupling
116 Chapter 8
Tutorial II: Calculation of NMR Shielding & Coupling
Tutorials 117
Tutorial III: Calculation of NMR Spectra
To save results:
1. L-click on File.
2. Select the Save As menu item.
This brings up a Save As dialog box.
3. Enter a file name of CH4 in the File Name text box.
An extension, .NMR, is automatically added to the file name,
CH4. So HyperNMR saves the current molecular system, meth-
ane, with the computed shielding constants and spin-spin
coupling constants to CH4.NMR.
4. L-click on OK.
The file is created and the Save As dialog box is dismissed.
Shortcut: You can L-click on the tool button to open the Save
As dialog box if you have a molecular system to save.
Setting up Options
The options for computing the NMR spectrum are: the type of
NMR spectrum you are interested in, the shielding constant for
118 Chapter 8
Tutorial III: Calculation of NMR Spectra
Tutorials 119
Tutorial III: Calculation of NMR Spectra
120 Chapter 8
Tutorial III: Calculation of NMR Spectra
and computes the NMR spectrum. Wait until the backend icon
disappears (if it appeared on your display) and the HyperNMR
status line states that the calculation has completed:
Tutorials 121
Tutorial III: Calculation of NMR Spectra
Note: The Spectrum menu item under the View menu and the tool
122 Chapter 8
Tutorial III: Calculation of NMR Spectra
Tutorials 123
Tutorial III: Calculation of NMR Spectra
124 Chapter 8
Tutorial III: Calculation of NMR Spectra
Tutorials 125
Tutorial III: Calculation of NMR Spectra
7. Use the View/Line Widths menu to clear the check mark from
Multiple Line Widths fly-out menu.
126 Chapter 8
Tutorial III: Calculation of NMR Spectra
When you release the mouse button the region of the spec-
trum that you have selected will be drawn to fill the work-
space.
2. L-click to the right of the scroll box on the top scroll bar to
change the line width.
The default behavior for the line width scroll bar is to have its
range decrease with increased zoom so that you can always get
“thin” lines even when you are zoomed in to a very small
region of the spectrum.
You can specify a scroll bar range that is independent of zoom
by changing the AbsLineWidth, MaxAbsLineWidth and
MinAbsLineWidth settings in your NMR.INI file (in your Win-
dows directory), as discussed in Chapter 5.
3. R-click in the workspace, L-click to the right of the scroll box
on the top scroll bar and then L-click to the left of the scroll
box.
This will reset the zoom and line widths to restore to the orig-
inal view.
Tutorials 127
Tutorial III: Calculation of NMR Spectra
The color changes and the status line shows the calculated
chemical shift, frequency, intensity and degeneracy of the
peak followed by the envelope line width. The line width in
HyperNMR is simply an envelope display option that you can
adjust.
2. Hold down the Shift key and L-drag across several peaks to
integrate the intensities.
The status line shows the number of nuclei (protons in this
case) that yield the chosen peaks.
128 Chapter 8
Tutorial III: Calculation of NMR Spectra
You can use the Copy command button to copy the selected
part of the table to the clipboard.
You can also select numbers (from at least two columns) and
plot them in a 3D bar chart by using the Plot button. Double-
Tutorials 129
Tutorial IV: Protein NMR
130 Chapter 8
Tutorial IV: Protein NMR
Tutorials 131
Tutorial IV: Protein NMR
132 Chapter 8
Tutorial IV: Protein NMR
Tutorials 133
Tutorial IV: Protein NMR
If you are using HyperChem, choose the NMR atoms with the
following steps:
1. Change the atom labels to atom names via the Display/Labels
menu item.
HyperChem shows all the selected atoms with their names.
2. Make sure the mouse mode is set to selection. Then choose the
Select/Atoms menu item. Look at the Select menu to make sure
the Multiple Selections menu item is checked.
3. Clear the selection and then select the hydrogens named 1HB,
2HB, 3HB, and HA.
4. Choose the Select/Name Selections menu item.
This opens the Name Selection dialog box in HyperChem.
5. Choose Other, type nmr-atoms in the edit box and then close
this dialog box.
134 Chapter 8
Tutorial IV: Protein NMR
If you are using HyperChem skip to the next section. If you are not
using HyperChem, you should follow these steps:
1. L-click on the Equivalent Atoms button in the Shielding & Cou-
pling Options dialog box.
This opens the Equivalent Atom Selection dialog box.
2. L-click or L-drag to select atoms 635, 636 and 637.
3. Press Add.
HyperNMR copies the selected atoms from the NMR Atom list
box to the Equivalent Atom list box.
4. Press Apply to save the equivalent atoms and OK to close the
dialog box.
Tutorials 135
Tutorial IV: Protein NMR
136 Chapter 8
Tutorial IV: Protein NMR
Tutorials 137
Tutorial IV: Protein NMR
138 Chapter 8
Tutorial IV: Protein NMR
Tutorials 139
Tutorial IV: Protein NMR
140 Chapter 8
Chapter 9
Reference
Overview
What is HyperNMR
HyperNMR is a software package for simulating NMR properties
and spectra. You can use it to calculate electronic shielding tensors,
chemical shifts (relative values of the shielding constants), nuclear
spin-spin coupling constants and NMR spectra. The size of system
that can be treated depends on the memory of your computer and
your patience. The electronic calculations use the novel semi-
empirical methods called Typed Neglect of Differential Overlap,
Version 1 (TNDO/1) or Typed Neglect of Differential Overlap, Ver-
sion 2 (TNDO/2). HyperNMR includes the following functions:
141
Overview
Starting HyperNMR
To start HyperNMR:
1. Start Windows if it is not already running.
2. In the Program Manager window, position the cursor over the
HyperNMR icon:
HyperNMR Window
HyperNMR works with Microsoft Windows, Version 3.1 or later, or
Windows 95 or Windows NT for PCs.
When you start HyperNMR, you will see an empty HyperNMR
workspace:
142 Chapter 9
Overview
maximize/restore
control-menu title bar button
button minimize button
tool
menu bar
menu
tool bar
workspace
status line
Reference 143
Overview
144 Chapter 9
Overview
You can copy the molecular system image to the Windows clip-
board with the Edit/Copy menu item, change the rendering with
the Rendering dialog box (via the View/Rendering menu item), and
use the mouse to select atoms or to rotate, zoom or translate the
view of the molecular system.
Reference 145
Overview
Shielding
constant
table
Scroll bar
The shielding constant table shows the atom indices, the shielding
constants, chemical shifts in ppm, and τ values for the selected
NMR atoms. The atom indices include two numbers separated by
a dash. These two numbers denote the index of the molecule and
the atom index within the molecule, respectively. The element
symbol follows these two numbers.
You can edit the shielding constants in this table and the depen-
dent values will change automatically. The chemical shifts and τ
values are calculated from the shielding constants in this table and
the reference shielding constants from the Reference Shielding
dialog box, so the former values will be updated if you make
changes to the latter values. The shielding constants in this table
can be edited by clicking on a cell to give it the focus and then typ-
ing with the numeric keys (0 - 9), sign keys (+,–) and period key (.)
to enter a new number. Most other actions are equivalent to press-
ing the Enter key, which will accept the change and update the
dependent chemical shift and τ value. To fix a mistake you must
use the Enter key (or equivalent), select the cell and retype the
number.
A scroll bar will appear at the bottom of the HyperNMR workspace
when the shielding constant table is too wide to fit in the Hyper-
NMR workspace. A vertical scroll bar will appear at the right of the
146 Chapter 9
Overview
workspace if the table is too tall to fit. You can use the scroll bars
to display any hidden parts of the table.
You can select cells in this table by L-dragging across them. You
can copy the selected cells (and the respective headings) to the
Windows clipboard with the Edit/Copy menu item and you can
plot bar charts of the values in the selected cells with the
View/Graph menu item.
Spin-spin
coupling
constants
Scroll bar
Reference 147
Overview
You can select cells in this table by L-dragging across them. You
can copy the selected cells (and the respective headings) to the
Windows clipboard with the Edit/Copy menu item and you can
plot bar charts of the values in the selected cells with the
View/Graph menu item.
Spectrum View
You can use the HyperNMR workspace to display the NMR spec-
trum, via the View/Spectrum menu item. The HyperNMR work-
space will look like:
Envelope
Scale
Pan
scroll bar
Peak line location
and intensity
This shows the line and envelope view of a spectrum. The various
components of this view of the workspace are:
Line width Use this scroll bar to the change line widths used
scroll bar to create the envelope. If the View/Line Widths/
Multiple Line Widths fly-out menu is checked, then
this scroll bar will only affect the line widths of the
visible peaks or the selected peak if a peak is
selected.
By default, the range of this scroll bar varies with
zoom so that you can get narrow peaks even when
you are zoomed into a very small range of the spec-
trum. If you prefer to have a range that does not
148 Chapter 9
Overview
Reference 149
Overview
[Shift] + L-click Hold down the Use this with the select tool to
[Ctrl] + L-click [Shift] or [Ctrl] key extend a selection to more than
while you press one atom. [Shift] + L-click on each
and release the atom you would like to select.
left or right
mouse button
150 Chapter 9
Overview
HyperNMR Menus
You can select HyperNMR commands and settings, which are on
pull-down menus on the menu bar. When you highlight a menu
item, a simple description of the item appears on the status line.
Some menu items may be inactive. For instance, the File/New
Reference 151
Overview
152 Chapter 9
Menus
Menus
This section gives the commands and descriptions of the menus
appearing on the menu bar of HyperNMR.
File Menu
The File menu is used for reading and writing files, for getting
information from HyperChem, and for setting up preferred colors.
It contains the following items:
New Use New to clear the workspace. If selections
and/or calculations have been performed, you will
be offered the chance to save the system to a file
before the workspace is cleared.
Open… Use Open to read in a HyperNMR NMR file, a
HyperChem HIN file, or a MOPAC Z-Matrix file.
The HyperNMR NMR files and HyperChem HIN
files may contain the view of the molecular sys-
tem, the molecular indices, residue indices, atom
indices, atom names, atom symbols, atom types,
atom charges, atom coordinates, and the connec-
tivity. This menu item will bring up the Open File
dialog box. For details, see “Open File Dialog Box”
on page 163.
Save Use the Save menu item to save a copy of the cur-
rent system and results into an NMR file using the
current HyperNMR file name. If there is no current
file, or the current file name does not have the
“.NMR” extension, then this item is the same as
the Save As menu item.
Save As... Use Save As to save the current system into a
named file. This menu item opens the Save As dia-
log box (see page 164) for you to use in selecting a
file name.
Get Use Get HyperChem to load into HyperNMR a copy
HyperChem of the current system from a currently running
HyperChem. Though the atoms, coordinates and
viewing angle are properly loaded into HyperNMR,
any non-default colors assigned to atoms by
Reference 153
Menus
Edit Menu
The Edit menu is used for copying images or data to the Windows
clipboard and for calculating atom types.
Copy Use this menu item to place a copy of the molecu-
lar image, selected cells from the shielding or cou-
pling constant tables, or a copy of the NMR spec-
trum into the Windows clipboard, depending on
which view is currently in the workspace. Molecu-
lar images are copied in bitmap format. A bitmap
image will print with screen resolution only.
Selected cells in the shielding constant table or the
coupling constant table are copied to the clipboard
as tab-separated text. NMR spectral images are cop-
ied to the clipboard in Windows metafile format. A
metafile image will print with printer resolution.
Replace By... Use this menu item to replace all the selected cells
in a shielding/coupling constant table by the value
154 Chapter 9
Menus
View Menu
Use the items on the View menu to change the type of information
displayed in the HyperNMR workspace.
Molecule Use this menu item to display molecular systems
in the HyperNMR workspace.
Rendering... Use this menu item to display the Rendering dialog
box (see page 167) which you use to specify the
rendering method used for atoms and bonds. This
menu item is available only when a molecular sys-
tem is shown in the HyperNMR workspace.
Shielding Use this menu item to present a table which con-
Constants tains shielding constants (in ppm), chemical shifts
(the relative values of shielding constants in the
current system to the reference shielding values),
and tau values. This menu item is available only
when shielding constants are present in Hyper-
NMR.
Coupling Use this menu item to display a table which con-
Constants tains nuclear spin-spin coupling constants (in Hz).
This menu item is available only when nuclear
spin-spin coupling constants are present in Hyper-
NMR.
Graph Use this menu item to plot a two or three dimen-
sional bar graph of the selected shielding constants
or coupling constants in the NMR Graph dialog
box. This menu item is available only when the
shielding constant table or coupling constant table
is in the workspace. This menu item uses a fly-out
menu:
2D bar Use this to choose a 2D bar graph for the
NMR Graph dialog box.
Reference 155
Menus
156 Chapter 9
Menus
Tool Menu
The Tool menu can be used to change the function of the mouse
or equivalent pointing device. The items in this menu are available
only when a molecular system is displayed in the HyperNMR
workspace. The menu items are:
Scale To Fit Use this menu item to rescale the view so that the
entire system fits in the window. This menu item
rescales and centers the image. The keyboard
spacebar is a shortcut for this menu item.
Pointer Rotate When this menu item is checked, the mouse can
used to rotate the molecule. See “Using the mouse
to rotate the molecule” on page 161 for details.
Pointer Select When this menu item is checked, the mouse can
be to select atoms. See “Using the mouse for selec-
tion” on page 161 for details.
Pointer Zoom When this item is checked, the mouse can be used
& Translate to adjust display size and position of the molecule.
See “Using the mouse for zooming and transla-
tion” on page 161 for details.
Setup Menu
HyperNMR computes shielding constants, spin-spin coupling con-
stants and NMR spectra. An NMR spectrum can be predicted from
shielding constants and spin-spin coupling constants that are
computed, imported, or user-defined. There are several options
that you must specify before computing and simulating, and these
can be set through the following menus and associated dialog
boxes:
Shielding & Use this menu item to bring up the NMR Shielding
Coupling... & Coupling Options dialog box (see “Shielding &
Coupling Options Dialog Box” on page 171 for
details) which you can use to set up the options for
Reference 157
Menus
Compute Menu
The Compute menu is used to compute shielding constants, spin-
spin coupling constants and NMR spectra. The menu items are
listed below:
I - Shielding & Use this menu item to compute the shielding con-
Coupling stants and/or coupling constants for the current
system. This menu item is available only when a
molecular system is present in HyperNMR and the
number of nuclei shown in the Spectral Options
dialog box is less than or equal to the number of
atoms.
II - Spectrum Use this menu item to compute the NMR spectrum
for the given set of chemical shifts and coupling
constants. This menu item is available only when
HyperNMR has shielding constants and spin-spin
coupling constants that have been computed,
imported or entered by you.
Both: I Then II Use this menu item to compute the shielding con-
stants, spin-spin coupling constants and the spec-
trum for the current molecular system. This menu
158 Chapter 9
Tools
Help Menu
The Help menu is used to access on-line help and the About dialog
box. It has the following menu items:
Contents Lists the topics available with on-line help.
Using Help Use this menu item to view instructions for using
on-line help. Start here if you are unfamiliar with
using Windows on-line help.
About Displays the About dialog box, which gives version
HyperNMR… and copyright information.
Tools
This section shows the commands and descriptions of the tool but-
tons on the HyperNMR tool bar. These buttons are shortcuts for
menu operations: pressing one of these buttons is equivalent to
selecting its corresponding menu item.
Tool Buttons
Here are the buttons on the tool bar and the menu items corre-
sponding to each. See the descriptions above of the corresponding
menu commands for further details.
Reference 159
Tools
160 Chapter 9
Tools
Reference 161
Dialog Boxes
Dialog Boxes
This section describes the dialog boxes available in HyperNMR, in
the order of the menu items that invoke them.
162 Chapter 9
Dialog Boxes
Reference 163
Dialog Boxes
The components of this dialog box are the same as for the Open
File dialog box (see above), except that here the File Name list box
shows the existing files in gray. You can still choose any one of
these file names from the list box by L-click on it. HyperNMR will
ask you whether or not you want to overwrite the existing file. You
can choose OK to overwrite the existing file or Cancel to not save
the file.
Only HyperNMR files can be saved via this dialog box. If you do
not specify an extension, the extension “.NMR” will be added
automatically. You should avoid saving NMR files with a different
extension, to simplify re-opening them at a later time.
164 Chapter 9
Dialog Boxes
If the file you entered in the File Name text box already exists,
HyperNMR asks if you want to replace the file or append to it. The
log file will only contain information after you have computed
NMR shielding constants, spin-spin coupling constants or an NMR
spectrum.
Reference 165
Dialog Boxes
166 Chapter 9
Dialog Boxes
Use this dialog box to replace all the selected cells in a shield-
ing/coupling constant table.
Reference 167
Dialog Boxes
Use this dialog box to select the rendering method for atoms and
bonds. It has the following items:
Atoms Choose one of the available rendering methods for
atoms in this section. Labels displays lines along
bonds with a selected label (see below) at each
atom. Disks displays unshaded spheres, and
Spheres displays shaded spheres.
Bonds Choose one of the available renderings for bonds
in this section. Sticks displays only lines along
bonds, Bonds displays unshaded cylinders for
bonds, and Cylinders displays shaded cylinders.
Labels Choose one of the labels for atoms in this section.
None shows no labels for atoms, Symbol shows the
element symbol of each atom, Name shows atom
names (if they have been read in from a HIN or
NMR file), Number shows sequential indices
within the molecule, Type shows atom types, and
Charge shows partial atomic charges. This choice is
available only if Labels has been selected in the
Atoms group.
OK Press this button to dismiss the dialog box and
apply the selected rendering settings.
Cancel Press this button to dismiss the dialog box without
changing the rendering.
168 Chapter 9
Dialog Boxes
This dialog box displays all the components of a tensor, the eigen-
values of the tensor, isotropic shielding and anisotropy for each
NMR atom. You can select cells by L-dragging across them and you
can use the scroll bar to view portions of the table that do not fit
in the dialog box. The available commands are:
Plot Use this to open the NMR Graph dialog box which
will display the values of the selected cells as a 3D
bar chart. Cells in at least two columns must be
selected.
Copy Use this to copy the selected cells, and the associ-
ated headings, to the Windows clipboard as tab-
separated text.
Close Closes the dialog box.
Reference 169
Dialog Boxes
This dialog box displays the chemical shift (in ppm), frequency (in
MHz), intensity, degeneracy and line width for each peak in the
current NMR spectrum. You can select cells by L-dragging across
them and you can use the scroll bar to view portions of the table
that do not fit in the dialog box. The available commands are:
Plot Use this to open the NMR Graph dialog box which
will display the values of the selected cells as a 3D
bar chart. Cells in at least two columns must be
selected.
Copy Use this to copy the selected cells, and the associ-
ated headings, to the Windows clipboard as tab-
separated text.
Close Closes the dialog box.
170 Chapter 9
Dialog Boxes
Reference 171
Dialog Boxes
172 Chapter 9
Dialog Boxes
Reference 173
Dialog Boxes
sically, except that atoms that are bonded to quantum atoms will
be treated as capping atoms. The quantum atoms and resulting
capping atoms are limited to the elements hydrogen through
argon. If you do not specify any quantum atoms, the whole molec-
ular system will be treated quantum mechanically.
174 Chapter 9
Dialog Boxes
Reference 175
Dialog Boxes
NMR Atoms This lists all atoms that you have chosen to be
NMR atoms, in the same format as for Quantum
Atoms.
Add ⇒ Use this button to add the selected (highlighted)
atoms from the Quantum Atoms list to the NMR
Atoms list.
Delete ⇐ Use this button to delete the selected set of atoms
from the NMR Atoms list.
Select... Press this button to open the Select NMR Atoms
dialog box.
Reset Delete all the atoms from the NMR Atoms list.
OK Accept the changes made and close the dialog box.
Cancel Close the dialog box without accepting the
changes made.
Note: If you had any atoms selected in the HyperNMR workspace,
they will automatically be added to an empty (or optionally
replace a previous) NMR Atoms list. You may prefer to choose NMR
atoms with the selection tool before opening this dialog box.
176 Chapter 9
Dialog Boxes
Reference 177
Dialog Boxes
H 1H (spin ½) 2H (spin 1)
178 Chapter 9
Dialog Boxes
12 14
Nuclei with spins other than ½, such as C and N, usually do
not exhibit spin-spin coupling with other nuclei. If you want them
to show spin-spin coupling with others, you need to label them. If
you want to treat some hydrogens as deuterium, and thus remove
spin-spin coupling, you can label them.
There are no natural isotopes of F or P appropriate for NMR label-
ling. The naturally occuring 17O isotope of oxygen has a nuclear
spin of 5/2 which HyperNMR cannot treat, but the artificial spin-½
isotope 15O is available in HyperNMR.
Reference 179
Dialog Boxes
180 Chapter 9
Dialog Boxes
Reference 181
Dialog Boxes
182 Chapter 9
Dialog Boxes
Reference 183
Dialog Boxes
184 Chapter 9
Solvation Effects
Solvation Effects
HyperNMR is not able to calculate solvent effects implicitly, as
though the molecule(s) of interest were immersed in a homoge-
neous medium. The solvent molecules must be included explicitly.
You can set up the workspace with the molecule(s) of interest sur-
rounded by some configuration of solvent molecules, which might
be included as quantum atoms (depending on the size of the sys-
tem) but not as NMR atoms. Then one would calculate the shifts,
coupling constants, and/or spectrum. Ideally, this would be
repeated for several different configurations of solute and solvent
Reference 185
Files
Files
HyperNMR uses these program or user-editable files:
Program Files
These are the HyperNMR program files:
nmr.exe This program runs the HyperNMR user interface. It
includes reading and writing HyperNMR input
files and displaying molecular systems and the
HyperNMR calculation results. This is the Hyper-
186 Chapter 9
Files
[nmr]
Reference 187
Files
188 Chapter 9
Files
Reference 189
Files
190 Chapter 9
Files
a. RGB color, such as “RGB(0,255,0)”. This specifies a color by giving three numbers be-
tween 0 and 255 inclusive which gives the amounts of Red, Green, and Blue compo-
nents respectively in the desired color.
b. Use a text editor, like Windows Notepad, to change this record in NMR.INI.
Reference 191
Files
[ReferenceShieldings]
The following three sections define three sets of atomic colors and
can be changed in this file (only in this file). These three sets of
atomic colors are HyperChemColors, CustomColor1, and
CustomColor2. Each of these sets defines a color for each atom.
The default color is used for an atom if its color is not defined
within the set. The default values are:
[HyperChemColors]
Default=RGB(255, 255, 255)
H=RGB(255, 255, 255)
C=RGB(0, 255, 255)
N=RGB(0, 0, 255)
O=RGB(255, 0, 0)
F=RGB(255, 255, 0)
Na=RGB(255, 0, 255)
S=RGB(255, 255, 0)
K=RGB(255, 0, 255)
Fe=RGB(255, 0, 0)
Co=RGB(0, 0, 255)
Cu=RGB(0, 255, 0)
Br=RGB(255, 255, 0)
I=RGB(255, 0, 0)
Au=RGB(255, 255, 0)
[CustomColors1]
192 Chapter 9
Files
Default=RGB(0, 255, 0)
H=RGB(255, 255, 255)
C=RGB(128, 128, 128)
N=RGB(128, 128, 255)
O=RGB(255, 128, 128)
[CustomColors2]
Default=RGB(0, 255, 0)
H=RGB(255, 255, 255)
C=RGB(128, 128, 128)
N=RGB(0, 0, 255)
O=RGB(255, 0, 0)
The following three sections define three sets of atomic radii and
can be changed in this file. These three sets of atomic radii are
CPKRadii, BallsSticksRadii, and CustomRadii. Each of these sets
defines a radius for each atom. The default radius is used for an
atom if its radius is not defined within the set. Examples of these
sections are:
[CPKRadii]
Default=.8
Lp=0.90
H=0.83
He=0.93
Li=1.23
Be=0.90
B=0.82
C=1.20
N=1.12
O=1.05
F=0.90
...
Lr=1.65
[BallsSticksRadii]
Default=0.4
H=0.2
Lp=0.11
[CustomRadii]
Default=0.4
H=0.3
Lp=0.3
Reference 193
Files
• Element
• Clauses and tests
• Assignment statement
For each atom in a molecular structure, HyperNMR scans this file
and makes these decisions:
194 Chapter 9
Files
Syntax
This is the structure of nmrtype.rul:
forcefield(tndo)
<element-symbol>:
; <comment>
<clause>
<test>?
<test>?
...
=<assignment-statement>.
<clause>
...
Note: Entries in nmrtype.rul are not case-sensitive, except for ele-
ment symbols. HyperNMR recognizes, for example, the difference
between SI and Si. Spaces between words are optional.
forcefield
<force-field-name> is tndo.
<element-symbol>:
This is the chemical symbol for an element, for example, S, Cl, and
Na.
Reference 195
Files
A colon must follow the symbol. Each element can have only one
symbol. Element symbols include Lp for lone pair.
;<comment>
Comments can occur anywhere in the file. A comment begins with
a semicolon and ends at the end of a line.
<clause>
A clause is a set of tests applied to each atom plus an atom type
assignment. Each clause ends with an assignment statement.
Note: HyperNMR checks clauses from top to bottom, so their order
is important. Place more specific clauses before general ones.
If one test in a clause fails, HyperNMR goes to the next clause. If
all the tests in a clause are calculated as true, HyperNMR assigns an
atom type. Some elements have a final clause without tests. This
assigns an atom type if all previous clauses failed. If the force field
does not have a clause without tests and if all clauses failed, Hyper-
NMR assigns the atom type **, meaning unknown.
<test>?
A question mark must follow each test. A clause can obtain these
tests:
Test To pass test
Is it sp3? True if the atom has no double, triple, or aromatic
bonds.
Is it sp2? True if the atom has one double or two or more
aromatic bonds.
Is it sp? True if the atom has one triple or two double
bonds.
In 5 ring? True if the atom is part of a five-membered ring.
In 6 ring? True if the atom is part of a six-membered ring.
Has aromatic True if the atom has at least one aromatic bond.
bond?
Connected to True if the atom is bonded to atoms described in
<expression>? <expression>.
196 Chapter 9
Files
Side Groups
Specify side chains either by placing them in parentheses or by
using numbers. For example:
-CH2 or -C(H)H
-CH2Cl or -C(H)(H)Cl
Rings
The atom being typed can be connected to or part of ring. Pairs of
tags (@1 to @9) placed after atoms in the ring describe closure
points, for example:
-C@1CCCCCC@1
This describes a connection to a six-membered ring, with the tag
@1 after C and C . C and C represent the same atom in the
1 7 1 7
ring.
-@1CCC@1
Reference 197
Files
<Assignment-statement>.
A clause must end with an assignment statement that contains an
atom type belonging to the force field. These types appear in the
file nmrtype.txt. The assignment statement must end with a
period.
198 Chapter 9
Files
12 g nmr_shft.abp: reserved;
nmr_cupl.abp: g factor of nucleus
atom
13 E Electron
b energy of isolated atom for
CNDO (eV)
atom
14 E Electron energy of isolated atom for
INDOb (eV)
atom
15 H Heat of formation of free atom (kcal/mol)
Help Text
All Help text available on screen is in one file, NMR.HLP. You can
read this text using the Help menu, or by activating the Help win-
dow with the [F1] key.
Communication Files
The communication files of HyperNMR, nmrparam.in, nmr-
param.out, nmrspect.in, and nmrspect.out, in the directory speci-
fied by the line
NMRIniPath=
in the WIN.INI file, enable the front-end and back-end communi-
cation when you want to calculate NMR properties. Hence these
file names are reserved, and you may not overwrite them. If any of
these files are opened by any other application, HyperNMR will
complain when you want to do an NMR calculation.
Reference 199
Files
Z-Matrix Files
The MOPAC Z-Matrix file format includes the element symbol or
atomic number and the internal coordinates or Cartesian coordi-
nates of each atom in the molecular system. The following gives a
sample Z-Matrix file for methane
Name: C:\HYPER\NMR\METHANE.ZMT
MOPAC file created on 9/2 15:16:19 1994 by HYPERCHEM
C 00000.0000 0 00000.0000 0 00000.0000 0 0 0 0
H 00001.0899 1 00000.0000 0 00000.0000 0 1 0 0
H 00001.0899 1 00109.4710 1 00000.0000 0 1 2 0
H 00001.0900 1 00109.4709 1 00119.9994 1 1 2 3
H 00001.0900 1 00109.4714 1 00239.9997 1 1 2 3
0
200 Chapter 9
Files
NMR Files
HyperNMR can store a molecular system from the workspace, plus
the current settings of conditions for computing NMR data, and/or
NMR results which have been computed, in an NMR file. This
information can be loaded and displayed by HyperNMR later.
The NMR files are text files. You can edit these files with any text
editor, like Windows Notepad or Write. If you use an editor that
can impose its own format, keep the NMR file in its original text
format. For example, with Windows Write, choose the No Conver-
sion option when you open a NMR file.
An NMR file contains several sections. Each section may have sev-
eral records, each on a separate line. Comment lines begin with a
semicolon (;).
This is an example of an NMR file for a methane molecule with
NMR results:
BeginHIN
forcefield amber
sys 0
view 40 0.7179181 55 15 0.9251873 -2.753075E-02 -0.3785107
0.2208629 0.8501284 0.4780181 0.3086225 -0.5258552 0.7926087
0.3136711 -0.4597336 -55
mol 1
atom 1 - C CT - 0 -0.4632772 0.4293783 -6.066945e-007 4 2 s 3
s 4 s 5 s
atom 2 - H HC - 0 -0.4632772 1.519378 -6.066945e-007 1 1 s
atom 3 - H HC - 0 0.564386 0.06604892 -6.066945e-007 1 1 s
atom 4 - H HC - 0 -0.9771005 0.06604889 0.8899868 1 1 s
atom 5 - H HC - 0 -0.9771116 0.06604096 -0.8899783 1 1 s
endmol 1
EndHIN
NMRSelectionBegin
5
mol 1 atom 1
mol 1 atom 2
mol 1 atom 3
mol 1 atom 4
mol 1 atom 5
NMRSelectionEnd
QuantumSelectionBegin
0
Reference 201
Files
QuantumSelectionEnd
EquivalentAtomsBegin
EquivalentSet 1
mol 1 atom 2
mol 1 atom 3
mol 1 atom 4
mol 1 atom 5
EquivalentAtomsEnd
LabelledAtomsBegin
1
mol 1 atom 1
LabelledAtomsEnd
OptionsBegin
SemiEmpiricalMethod = TNDO2
TotalCharge = 0
SpinMultiplicity = 1
SCFConvergenceLimit = 0.01
SCFIterationLimit = 50
SCFAccelerateConvergence = No
LogPrintLevel = 0
ModifySlaterExponents = No
ComputeThreeCenterTerms = No
IncludeDOrbitalsForSecondRow = No
NMRFrequency = 100
CalculateShielding = Yes
CalculateShieldTensor = Yes
CalculateCoupling = Yes
OptionsEnd
NMRAtomicNumbersBegin
6 1 1 1 1
NMRAtomicNumbersEnd
ShieldingCouplingBegin
SHIELDING
49.457 22.07775 22.07775 22.07775 22.07775
TENSOR
49.4572 0.0004 0.0002 0.0008 49.4571 0.0022 0 -0.0022 49.4573
49.4554 49.4572 49.4591 49.4572 0.0027
15.4283 0 0 0.0001 35.3761 -0.0001 0 -0.0002 15.4283
15.4283 15.4283 35.3761 22.0776 19.9478
33.1597 -6.269 0 -6.2689 17.6445 0 0.0001 0 15.4282
15.4281 15.4281 35.3761 22.0775 19.9479
19.8609 3.1344 -7.6779 3.1343 17.6446 -5.429 -7.6778 -5.4291
28.7271
202 Chapter 9
Files
Molecular System:
This section begins with a keyword BeginHIN and ends with
EndHIN and contains information of defining a molecular system.
o
The following records may appear in this section. ‘ ’ indicates an
optional record. Each record must begin on a separate line.
Syntax:
o
;<comment>
forcefield <force-field-name>
Reference 203
Files
o
sys <temperature>
o
view <view-distance> <view-scale> <slab-distance> <slab-
thickness> <view-transform> ... <view-transform>
o
box <x> <y> <z>
o
mol <mol #> <mol-name>
o
res <res#> <res-name> <PDB#> <previous-res#> <next-res#>
atom <at#> <atom-name> <element> <type> <flags> <at-
charge> <x> <y> <z> <cn> <nbor#-nbor-bond>1
o
vel <at#> <x> <y> <z>
o
mass <at#> <mass>
o
basisset <at#> <basis set>
atom ...
o
vel ...
o
mass ...
o
basisset ...
atom ...
o
vel ...
o
mass ...
o
basisset ...
...
o
endres <res#>
endmol <mol#>
Description:
; comment
Each line of comments must have a semicolon at the beginning of
the line. All the comment lines must be at the beginning of the
molecular system (after the keyword BeginHIN).
204 Chapter 9
Files
forcefield <force-field-name>
The force-field-name must be “amber” or “tndo” in order to run a
HyperNMR calculation successfully. If you get the molecular sys-
tem from a HyperChem workspace via File/Get HyperChem, Hyper-
NMR will automatically switch the force field to AMBER in Hyper-
Chem before getting the molecular system. However, if a molecu-
lar system is imported from a HyperChem HIN file, the force field
in this HIN file may not be AMBER, or if the molecular system is
imported from a Z-Matrix file, it does not contain any force field
and atom types. Therefore, calculation or recalculation of atom
types is recommended via Edit/Calculate Atom Types in HyperNMR
before computing shielding and coupling.
sys <temperature>
This record gives the temperature of the molecular system in
degrees Kelvin and is part of a HyperChem HIN file; it is ignored
by HyperNMR.
Reference 205
Files
206 Chapter 9
Files
endres <res#>
An endres record appears after the last atom in each residue and is
ignored by HyperNMR.
Reference 207
Files
endmol <mol#>
An endmol record appears after the last atom in each molecule.
<mol#> is the number of the molecule in a molecular system,
starting with 1. The number reflects the order of adding molecules
to the system. Default = 1.
Selections:
This section includes various selections: NMR atom selection,
quantum atom selection, equivalent atom selection, and labelled
atom selection. Each of these selections begins and ends with spe-
cial keywords.
The contents within each pair of keywords (NMRSelectionBegin
and NMRSelectionEnd, QuantumSelectionBegin and QuantumSelec-
tionEnd, EquivalentAtomsBegin and EquivalentAtomsEnd, and
LabelledAtomsBegin and LabelledAtomsEnd) define uniquely the
atoms for the specific selection. The first record after the keyword
...Begin is the total number # of the atoms in this selection, and
then the following # records contain the information on the atoms
in this selection. Each of these records gives one atom with
<mol #>, the molecular index, and <atom ##>, the atom index.
The records for an equivalent atom selection are slightly different
from all other selections because a molecular system may contain
more than one set of equivalent atoms. Therefore, the equivalent
atom selection may include several sub-sections. Each of these sub-
sections begins with a keyword, EquivalentSet #, and gives the
information of the atoms in this equivalent set.
Furthermore, HyperNMR assumes that all the atoms in the molec-
ular system are quantum atoms if there is no quantum atom selec-
tion (the first record after the keyword of QuantumSelectionBegin
contains 0).
Note: Any single atom in a molecular system cannot be defined in
more than one set of equivalent atoms.
Options:
This section begins with a keyword OptionsBegin, ends with
OptionsEnd, and includes the following records.
SemiEmpiricalMethod=
TotalCharge=
208 Chapter 9
Files
SpinMultiplicity=
SCFConvergenceLimit=
SCFIterationLimit=
SCFAccelerateConvergence=
LogPrintLevel=
ModifySlaterExponents=
ComputeThreeCenterTerms=
IncludeDOrbitalsForSecondRow=
NMRFrequency=
CalculateShielding=
CalculateCoupling=
WeakCouplingApproximation=
CalculateShieldingTensor=
The possible values for all the above keywords are listed in the sec-
tion “HyperNMR Default Settings” on page 187.
NMR Parameter
The NMR parameter section contains two sub-sections which are:
1. The first sub-section begins with the keyword of NMRAtomic-
NumbersBegin and ends with NMRAtomicNumbersEnd and
contains the atomic numbers of the NMR atoms. The single
record between these keywords consists of a list of space-sepa-
rated integers, one for each NMR atom.
2. The sub-section beginning with the keyword ShieldingCou-
plingBegin and ending with ShieldingCouplingEnd gives the
shielding constants and coupling constants. The first two
records in this sub-section consist of the keyword SHIELDING,
followed by a record containing all the isotropic shielding con-
stants. The next line is the keyword TENSOR, and then two
records for each NMR atom containing (i) the shielding tensor
and (ii) the eigenvalues, the isotropic shielding, and the
anisotropy. Finally comes the keyword COUPLING, and a
record for each NMR atom containing the coupling constants.
NMR Spectrum
The NMR spectrum section beginning with the keyword of Spec-
traBegin and ending with SpectraEnd contains three sub-sections:
1. The first sub-section contains the NMR transitions, beginning
with an integer which shows the number of spectral lines. The
second record in this sub-section is four words, FREQUENCY,
Reference 209
Files
Log Files
HyperNMR stores the results of calculations in a log file if you
choose Start Log on the File menu. In the Start Log dialog box, you
can give the log file any file name and extension, but the extension
.log is recommended. The amount of information shown in log
file depends on the LogPrintLevel set up in the NMR.INI file (see
page 189). The following table shows the information saved in the
log file when you run calculations of NMR properties.
210 Chapter 9
Files
Reference 211
LogPrintLevel Information saved in log file
212
Chapter 10
Scientific Background
Overview
Modern high field, multipulse Nuclear Magnetic Resonance
(NMR) spectroscopy has proven to be an exceptionally powerful
technique for solving many types of problems in chemistry and
biochemistry. NMR spectroscopy, for example, allows chemists
and biochemists to study the structure and conformation of mol-
ecules such as peptides and proteins, with unprecedented detail.1-3
However, the problem of correct signal assignment and under-
standing the relationship between chemical shifts and molecular
structure can be very difficult. Theoretical prediction of NMR spec-
troscopy can be very helpful to chemists and biochemists.
The ab initio calculation of magnetic shielding constants has been
shown to be useful and accurate.1 However, ab initio calculations
are tedious and computationally time consuming, especially for
large molecular systems. Traditional semi-empirical quantum
mechanical methods have attracted much attention and the meth-
odology of semi-empirical quantum mechanics has improved to
the point that accurate and reliable predictions of chemical shifts
and nuclear spin coupling constants are possible.4-13
Semi-empirical quantum mechanical methods have become a use-
ful tool for predicting many chemical properties, such as molecu-
lar structures and conformations, heats of formation, ionization
potentials and electron affinities. Semi-empirical methods are very
powerful and attractive to many chemists and biochemists,
because of simplicity and computational speed. In the past two
decades, semi-empirical methods have attracted many chemists
and biochemists for predicting chemical shifts and coupling con-
stants for various molecular systems. However the conventional
semi-empirical methods with traditional parameters, which are
parameterized for giving good molecular structures and/or heats of
213
Principles of Nuclear Magnetic Resonance
General Principles
NMR is a term used to describe the interaction between an oscillat-
ing magnetic field and certain types of nuclei positioned in a static
magnetic field. The static magnetic field splits the nuclear spin
energy levels, and the oscillating magnetic field induces transi-
tions between these nuclear spin energy levels and produces the
NMR spectrum. The interaction can occur only if the magnetic
field is oscillating at specific frequencies which depend upon the
strength of the static magnetic field.
214 Chapter 10
Principles of Nuclear Magnetic Resonance
B0 α
HA HB
Magnetic Shielding
The quantum mechanical treatment of magnetic shielding is dis-
cussed below.
The interaction of an external magnetic field B0 with a nuclear
magnetic moment µ A inside a molecule, as observed in nuclear
magnetic resonance, can be described by the Zeeman energy
change,
∆ E = –µ A ⋅ B (6-2)
216 Chapter 10
Principles of Nuclear Magnetic Resonance
where the first term describes the direct interaction between the
external magnetic field and the nuclear moment and the second
term describes the electron coupled interaction which may be
written as a second-order energy change,
2 0
A ∂ E(B , µA )
– σ ij = ------------------------------
- (6-5)
0
∂ B i ∂µ Aj µA = B 0 = 0
atoms 2
1 e 2 e Zk
hˆ = ------- – ih ∇ + -- A
2m c
– ∑k -----------
rk
(6-7)
N⁄2
2 – P̂
ĝ = ∑j 〈 ψj ( 2 ) ----------------
r
12 ψ ( 2 )〉
- j (6-8)
12
1 0 µ A × rA
A = --- B × r + ------------------ (6-9)
2 3
r A
and is due to the uniform external magnetic field B0 and the mag-
netic moment of nucleus A, i.e., µ A . The number of electrons is N,
and Z is the charge of the kth nucleus. The vectors r and r are the
k k
distance vectors to the electron from the arbitrary origin of the
coordinate system and nucleus k, respectively, and P̂ 12 is the per-
mutation operator.
A common difficulty in the calculation of magnetic properties is
that the usual wave functions do not guarantee gauge invariance;
i.e., in the simplest case, the results may depend on the position of
the molecule in the Cartesian coordinate frame.
There have been several methods proposed for computing mag-
netic shielding constants. Of those, only the so-called Gauge-
Invariant Atomic Orbitals (GIAO) method has been shown to be
independent of the choice of origin of the coordinate system.
With GIAO, the molecular orbitals, ψ , are still expressed as a linear
i
combination of atomic orbitals (LCAO), φ , as in the Hartree-Fock
µ
method, that is,
m
ψi = ∑µ cµi φµ (6-10)
0
φµ = fµ φµ (6-11)
where f is the gauge factor defined as
µ
f µ = exp – ------ A µ ⋅ r µ ,
ie
(6-12)
hc
218 Chapter 10
Principles of Nuclear Magnetic Resonance
∑i ci [ 2H + G ] ci
+ (6-14)
E=
H µν = 〈 φ µ hˆ φ ν〉 (6-15)
and
m m
G µν = ∑λ ∑
σ
R λσ [ 2 ( µν λσ ) – ( µσ λν ) ] , (6-16)
* 1 *
( µν λσ ) =
∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) d τ1 d τ2 , (6-17)
N⁄2
∑ cλi cσi
* . (6-18)
R λσ =
i
Substituting Equation (6-14) into Equation (6-5), using the Hell-
man-Feynman theorem, and remembering that the basis func-
tions and two-electron terms in Equation (6-16) do not depend on
the nuclear magnetic moment, the (i, j) component of the shield-
ing tensor of atom A can be expressed as
2 0
A ∂ E (B , µ A ) d p
σ ij = ------------------------------ = σ ij ( A ) + σ ij ( A ) (6-19)
0
∂ B i ∂µ Aj µA = B = 0 0
d
where the diamagnetic contribution, σ ij ( A ) , and the paramag-
p
netic contributions, σ ij ( A ) , are
2
d ∂ H
σ ij ( A ) = 2 R ( 0 ) ----------------------
0 (6-20)
∂ B i ∂µ Aj µ = B 0 = 0
A
and
p ∂R ∂H
σ ij ( A ) = 2 --------0- ----------- (6-21)
∂ B i µ = B0 = 0 ∂µ Aj µA = B 0 = 0
A
2 atoms e Z 2
0 1 e 0 e µ A × r A (6-22)
∑
0
× φ µ ------- – ih ∇ + ------ B × r ν + -- ------------------
- – ----------k- φ ν d τ
2m 2c c r 3 k r k
A
220 Chapter 10
Principles of Nuclear Magnetic Resonance
ie 0 0
H µν = exp – --------- B ⋅ R µ × R ν H µν (6-23)
2hc
0 ieh 0
+ ∑ B α φ µ – ---------
2mc
- ( rν × ∇ )α φν
α
0 ieh ( r × ∇ ) α 0
+ ∑ µ Aα φ µ – ---------
2mc r 3
- --------------------- φ ν
α A
2 r r –r r
e ν A να Aβ 0
+∑ ∑
0
µ Aα B β φ µ – ------------- ----------------------------------
- φν
α β 2 3
2mc rA
+ higher order terms
0 r ν ⋅ r A δ ij – r νj r Ai 0
2
e
∑ ∑ν Rµν ( 0 )
d
σ ij ( A ) = --------- φ µ -----------------------------------------
- φν (6-24)
2 3
mc µ rA
2ieh ∂ R µν 0 (r × ∇) 0
φ µ -------------------j φ ν
∑∑
p
σ ij ( A ) = – ----------- ------------
- 3
(6-25)
ν ∂B 0
mc µ 0
i B =0
rA
with the summation over all the basis functions. These two equa-
tions give a full expression for the magnetic shielding tensor with
the unperturbed density matrix elements, R µν ( 0 ) , and the first
0
derivative of the perturbed density matrix elements, ( ∂ R µν ⁄ ∂ B i ) ,
and with the inclusion of one-center, two-center, and three-center
contributions.
where Kˆ
AB is independent of the magnitude of the nuclear
moments µ A and µ B , and the relationship between the coupling
tensor and reduced coupling tensor is
ˆ 2π
K AB = --------------Ĵ AB (6-28)
h γA γB
222 Chapter 10
Principles of Nuclear Magnetic Resonance
ˆ DD = 2 β ( ŝ K ⋅ r KA ) ( µ A ⋅ r KA ) ŝ K ⋅ µ A
H ∑ K
∑
A
3 -------------------------------------------------
5
r KA
- – -----------------
3
r KA
(6-31)
and
16 π
ˆ FC = --------
3 ∑ ∑
H -β δ ( r KA ) ŝ K ⋅ µ A (6-32)
K A
2
∂ E (µ A, µ B)
K AB = ------------------------------
- (6-33)
∂µ µA µ B
∂ (1)
= ( 〈 ψ ( µ A ) Ĥ B ψ ( µ A ) 〉 )
∂µ µA = 0
A
with
FC
(1) ∂ Ĥ B
Ĥ B = -------------
- (6-34)
∂µ µB
(α) (β)
Here the spatial molecular orbitals ψ i and ψ i are different
(because of the spin operators in the Hamiltonian), but the total
number of the α electrons are still equal to the total number of β
(1)
electrons. With this wave function, the expectation value of Ĥ B
in Equation (6-33) reduces to
n
α (1) α
K AB = ∑
i=1
ψ i ( 1 )α ( 1 ) Ĥ B ψ i ( 1 )α ( 1 )
(1)
+ ψ βi ( 1 )β ( 1 ) Ĥ B ψ βi ( 1 )β ( 1 )
(6-36)
n
α (1) α β ˆ(1) β
= ∑
i=1
ψi ( 1 ) ˆB ψi ( 1 ) – ψi ( 1 ) B ψi ( 1 )
where
ˆ ( 1 ) = 8-----π- βδ ( r ) (6-37)
B B
3
The molecular orbitals, ψ , are still expressed as a linear combina-
i
tion of atomic orbitals (LCAO), φ , as in the ordinary Hartree-Fock
ν
method. That is,
224 Chapter 10
Typed Neglect of Differential Overlap Method
m m
α α β β
ψi = ∑ν c νi φ ν and ψi = ∑ν cνi φν (6-38)
(1) α β ˆ(1)
Ψ ( µ A ) Ĥ B Ψ ( µ A ) = ∑
µν
( P µν – P µν ) Bµν (6-39)
α β
where P µν and P µν are the density matrix elements of the α and
β electrons respectively for the perturbed system and the Hamilto-
nian matrix element is
ˆ(1) = (1)
Bµν φµ ˆ B φν (6-40)
(1)
( 1 ) ∂ρ µν
K AB = ∑ ˆ Bµν ------------
- (6-41)
µν ∂µ µA µA = 0
NDO
The NDO group comes from the basic approximation
226 Chapter 10
Typed Neglect of Differential Overlap Method
A B 1 C D
∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) dτ1 dτ2
(6-43)
≈ δ AB δ CD A A 1 C C
∫∫ φ µ ( 1 )φ ν ( 1 ) ------- φ λ ( 2 )φ σ ( 2 ) dτ 1 dτ 2
r 12
where
AB 1 if A = B ;
δ = (6-44)
0 if A ≠ B .
A B 1 C D
∫ ∫ φµ ( 1 )φν ( 1 ) r------12- φλ ( 2 )φσ ( 2 ) dτ1 dτ2
AB CD µν λσ A A 1 C C
≈δ δ δ δ
∫ ∫ φµ ( 1 )φµ ( 1 ) r------12- φλ ( 2 )φλ ( 2 ) dτ1 dτ2
AB CD µν λσ A 2 1 C 2 (6-45)
≈δ δ δ δ
∫ ∫ [ φs ( 1 ) ] ------- [ φ ( 2 ) ] dτ 1 dτ 2
r 12 s
in the CNDO method. The resultant Fock matrix elements in the
CNDO method are
F µµ = U µµ + P AA – --- P µµ γ AA +
1
2 ∑ ( P BB – Z B )γ AB
B( ≠ A)
(6-46)
for the diagonal terms with µ on atom A and
0 1
F µν = β AB S µν – --- P µν γ AB (6-47)
2
for the off-diagonal terms with µ ≠ ν (µ and ν may or may not be
on the same atom). In Equations (6-46) and (6-47), U, P, and S are
the one-center one-electron part of the core Hamiltonian, the
valence electron density matrix, and the overlap matrix, respec-
0
tively. β AB is the bonding parameter between atoms A and B. The
Coulomb integrals are
A 2 1 B 2
γ AB =
∫ ∫ [ φs ( 1 ) ] ------- [ φ s ( 2 ) ] dτ 1 dτ 2
r 12
(6-48)
NDDO
The NDDO approximation neglects differential overlap only for
atomic orbitals on different atoms. The principal extra feature at
this level of approximation is the retention of dipole-dipole inter-
actions, since the integrals of type
A A 1 B B
∫ ∫ φs ( 1 )φp ( 2 ) r------12- φs ( 1 )φp ( 2 ) dτ1 dτ2 , which are roughly propor-
3
tional to 1 ⁄ r 12 , are included. These integrals may be computed
directly from the atomic orbitals or chosen empirically. The Fock
matrix elements in the NDDO approximation are
B A
1
F µν = H µν + ∑ ∑ Pλσ ( µν λσ ) – --2- ∑ Pλσ ( µν λσ )
B ( ≠ A ) λ ,σ λ ,σ
(6-49)
with µ, ν on atom A and
A B
1
F µν = H µν – --- ∑ ∑ P λσ ( µν λσ ) (6-50)
2
λ σ
with µ on atom A and ν on atom B. In Equations (6-49) and (6-50),
H µν are the matrix elements of the core Hamiltonian.
228 Chapter 10
Typed Neglect of Differential Overlap Method
TNDO/1
The TNDO/1 method comes from applying the idea of atom types
to Pople’s CNDO method. Standard Hartree-Fock methodology is
used in TNDO/1; the conventional semi-empirical Roothaan equa-
tions are solved within the CNDO approximation,
Fc i = c i ε i (6-51)
where F is the Fock matrix, and c and ε are the eigenvector and
i i
eigenvalue of the ith molecular orbital, respectively.
The Fock matrix elements are given by
F µµ = U µµ + P AA – --- P µµ γ AA +
1
∑ ( PBB – ZB )γAB
TT TT TT′
(6-52)
2
B(≠A)
U µµ = – --- ( I µ + A µ ) – Z A – --- γ AB
TT 1 T T 1 TT
(6-54)
2 2
T T
where the ionization potential is I µ and electron affinity is A µ for
orbital µ of atom A with atom type T. The density matrix and
bonding parameters are
occu
P µν = ∑ cµi cνi
i=1
(6-55)
TT′ K T T′
β AB = ---- ( β A + β B ) (6-56)
2
T T′
with bonding parameters β A and β B for atom A with atom type T
and atom B with type T’. The Coulomb integral matrix is
TT′ A 2 1 B 2
γ AB =
∫ ∫ [ φ s ( T, 1 ) ] ------- [ φ ( T ′, 2 ) ] dτ 1 dτ 2
r 12 s
(6-57)
In Equation (6-56), the constant K is 0.75 for the second long row
elements and 1 for all other elements.
Equation (6-51) with Equations (6-54) – (6-57) is solved self-consis-
tently until the required accuracy of the wave function is satisfied.
TNDO/2
The TNDO/1 method discussed in the previous section introduces
electron-electron interaction in the simplest manner. It does not
make adequate allowance, however, for the different interactions
230 Chapter 10
Typed Neglect of Differential Overlap Method
A
α α
F µµ = U µµ + ∑ [ P λλ ( µµ λλ ) – P λλ ( µλ µλ ) ]
TT
(6-58)
λ
∑ ( PBB – ZB )γAB
TT′
+
B(≠A)
α α α
F µµ = ( 2P µν – P µν ) ( µν µν ) – P µν ( µµ νν ) (6-59)
α K T T′ TT′ α TT′
F µν = ---- ( β A + β B ) S µν – P µν γ AB (6-60)
2
for the off-diagonal elements with µ on atom A and ν on atom B.
Similar expressions can be developed for the β electrons.
Comparing the Fock matrix elements in Equations (6-58) – (6-60)
in TNDO/2 with those in Equations (6-52) and (6-53) in TNDO/1,
it can be seen that the extra terms in TNDO/2 are the one-center
two-electron integrals. They are (µµ|µµ), (µµ|νν), and (µν|µν) with
µ≠ ν.
Using the Slater-Condon notation, these integrals are
0
( ss ss ) = ( ss xx ) = F = γ AA (6-61)
1 1
( sx sx ) = --- G (6-62)
3
3 2
( xy xy ) = ------ F (6-63)
25
0 4 2
( xx xx ) = F + ------ F (6-64)
25
0 2 2
( xx yy ) = F – ------ F (6-65)
25
and similar expressions for (ss|zz), etc. In HyperNMR, the values
for F2 and G1 are chosen empirically and the integrals F0 are calcu-
lated theoretically from Slater atomic orbitals as in INDO. F0 may
thus depend on the atom types if the Slater exponents are different
for different types of the same atom.
The expression for the monatomic core integrals, U , in TNDO/2
µµ
differ from those in TNDO/1 because of the inclusion of the mon-
atomic one-center two-electron integrals in TNDO/2. From the
energy expression for the average state of X associated with the
configuration (smpn)
m n
E ( X, s p ) = mU ss + nU pp
1 0 1 1 1 2 (6-66)
+ --- ( m + n ) ( m + n – 1 ) F – --- mnG – ------ n ( n – 1 ) F
2 6 25
the following relations between the orbital electronegativities and
the monatomic core integrals, U , are obtained.
µµ
Hydrogen:
1 T T 1 0
U ss = – --- ( I s + A s ) – --- F (6-67)
2 2
Lithium:
1 T T 1 0
U ss = – --- ( I s + A s ) – --- F (6-68)
2 2
1 T T 1 0 1 1
U pp = – --- ( I p + A p ) – --- F + ------ G (6-69)
2 2 12
Beryllium:
1 T T 3 0 1 1
U ss = – --- ( I s + A s ) – --- F + ------ G (6-70)
2 2 12
1 T T 3 0 1 1
U pp = – --- ( I p + A p ) – --- F + --- G (6-71)
2 2 4
232 Chapter 10
Typed Neglect of Differential Overlap Method
Boron to fluorine:
1
U ss = – --- ( I s + A s ) – Z A – 1--- F + --- Z A – 3--- G
1 T T 0 1
(6-72)
2 2 6 2
1 T T 1 0
U ss = – --- ( I s + A s ) – --- F (6-74)
2 2
1 T T 1 0
U pp = – --- ( I p + A p ) – --- F (6-75)
2 2
atoms
∑
A d p d p
σ ij = σ ij ( A ) + σ ij ( A ) + [ σ ij ( A, B ) + σ ij ( A, B ) ] (6-76)
B
d p
with the expressions for the one-center terms, σ ij ( A ) and σ ij ( A ) ,
being
2 A A 0 r ν r A δ ij – r νi r Aj 0
R µν ( 0 ) φ µ -------------------------------------- φν
e
∑∑
d (6-77)
σ ij ( A ) = --------- 3
2
mc µ ν r A
and
∂ R µν φ 0 (--------------------
r × ∇ )α 0
A A
i2eh - φν
∑∑
p (6-78)
σ ij ( A ) = – ----------- ------------ µ 3
mc µ ν ∂ B 0 rA
i 0
d p
and the two-center terms, σ ij ( A, B ) and σ ij ( A, B ) ,
2 B B 0 r ν r A δ ij – r νi r Aj 0
R µν ( 0 ) φ µ -------------------------------------- φν
e
∑∑
d
σ ij ( A, B ) = --------- 3
2
mc µ ν r A
(6-79)
and
∂ R µν φ 0 (--------------------
r × ∇ )α 0
B B
i2eh - φν
∑∑
p (6-80)
σ ij ( A, B ) = – ----------- ------------ µ 3
mc µ ν ∂ B 0 rA
i 0
i
∂ R µν R µν
- ≈ i --------
------------ - (6-81)
∂ B0 B
0
i 0 i
r i
with R µν = R µν + R µν where the fact that only the imaginary
component of R will contribute to the derivative has been used.
(1) ( 1, r ) ( 1, i )
The perturbed Fock Matrix, F µν = F µν + iF µν , with r and i
standing for the real and imaginary parts, is
234 Chapter 10
Typed Neglect of Differential Overlap Method
( 1, r ) ( 1, i )
F µµ = F µµ = 0 (6-82)
( 1, i ) eh 0 0 ( 1, i )
F µν = – ----------B ⋅ ∫ φ µ ( r ν × ∇ )φ ν dτ + G µν (6-84)
2mc
where µ ≠ ν , but both are still centered on the same atom A. The
two-center terms are
( 1, r )
= cos --------- B ⋅ R µ × R ν --- ( β µ + β ν ) S µν
e 1 T T T
F µν (6-85)
2hc 2
( 1, i )
= sin --------- B ⋅ R µ × R ν --- ( β µ + β ν ) S µν
e 1 T T T
F µν (6-86)
2hc 2
( 1, i ) i 0
G µν = R µν F (6-88)
( 1, i )
= R sp F – --- G
i 0 1 1
G sp (6-90)
α α 3
( 1, r ) 11
------ F – F
r 2 0
Gp = Rp (6-91)
α pβ α pβ 25
( 1, i ) 2
Gp = Rp
i F0 – 1
--- F (6-92)
α pβ α pβ 5
for TNDO/2. The index s stands for the s orbital and p and p are
α β
two of the p orbitals (p , p , and p ).
x y z
(1)
B(1) ρ µν ( h B )
K AB = ∑
µ, ν
µν ---------------------
hB
(6-95)
2
where s B ( 0 ) is the density of the valence shell s-electron at nucleus
B.
In the TNDO approximation, Equation (6-40) contains only the
one-center contribution, so that the only non-zero element of is
that involving the valence s orbital on atom B. This is given by
B(1) 8π 2
sB sB = ------ β s B ( 0 ) (6-97)
3
(1)
Hence the perturbation of the Hamiltonian Matrix, H µν , due to
the presence of the Fermi-contact nuclear spin coupling is given by
236 Chapter 10
Typed Neglect of Differential Overlap Method
α(1) 8π 2
Hs = + ------ β s B ( 0 ), for the α electrons, and
B sB 3
(6-98)
β(1) 8π 2
Hs = – ------ β s B ( 0 ), for the β electrons
B sB 3
In practice it is more convenient to set
α(1)
Hs = +h B, for the α electrons, and
B sB
(6-99)
β(1)
Hs = – h B, for the β electrons
B sB
(1)
ρs ( hB )
8 π- β s 2 ( 0 ) s 2 ( 0 ) --------------------
2
A
K AB = -----
3 A B hB
- (6-101)
with
unoccupied (1)
(1) F ij (0)
ψj = ∑i -ψ
-----------------------
(0)
εj – εi
(0) j
(6-103)
(0)
where j applies to the occupied orbitals only, ε j is the unper-
(1)
turbed eigenvalue of the ith MO, and F ij is the first-order change
in the Fock Matrix due to the perturbation being considered, that
is
(1) (0) (1) (0) (0) (1) ˆ (1) (0)
F ij = 〈 ψi F̂ ψj 〉 = 〈 ψi Ĥ +G ψj 〉 (6-104)
(1) ( 0 )T ( 1 ) ( 0 )
F ij = ci F cj (6-105)
238 Chapter 10
Typed Neglect of Differential Overlap Method
(1)
with F (µν
1) (0)
= 〈 φ µ F̂
(0)
φ ν 〉 being elements of F
(1). The matrix
expression of Equation (6-103) is
unoccupied ( 0 ) ( 0 )T
(1) ci ci (1) (0)
cj = ∑ -----------------------
(0)
εj – εi
(0)
- F cj (6-106)
i
(0) ( 0 )T (1)
where c j is a column vector, c i a row vector, and F is an
(1)
M × M matrix and a function of c j . These equations are solved
self-consistently.
unoccupied ( 0 ) ( 0 )T
ci ci
Santry noticed that ∑i -----------------------
(0)
εj – εi
(0)
- in Equation (6-106) is
( 0 )T ( 1 ) ( 0 ) ( 0 )T (1) (0) ( 0 )T 1 2
ci F cj = ci (F cj ) = ci Aj = A ij (6-108)
2
takes M steps of multiplication and leads to a scalar value A ij
which can be stored for each unoccupied MO with O( M ) memory.
The first matrix multiplication in Equation (6-106) now becomes
a one-column vector multiplying a scalar value
(0) (0)
t
(1) (0) (0) (0)
t (0)
ci ci F cj = ci ci ( F( 1 ) cj ) = A2 c( 0 ) (6-109)
ij i
N⁄2
(1) ( 1 )* ( 0 ) ( 0 )* ( 1 )
P µν = ∑ ( cµi c νi + c µi c νi ) (6-110)
i
N⁄2
( 1 )* ( 0 ) ( 0 )* ( 1 )
∑ ( cµi
i (6-111)
R µν = c νi – c µi c νi )
i
Parameterization
As discussed above, reparameterization is essential for the semi-
empirical quantum mechanical methods to predict good chemical
shifts. Furthermore, because TNDO introduces atom types, there
may be several types for each element in order to reproduce chem-
ical shifts, and the empirical parameters may not be the same for
the different types within the same element.
The types and rules for assigning them are kept in two text files.
The first file, NMR.TXT, lists the types and their masses and the
240 Chapter 10
Typed Neglect of Differential Overlap Method
HC
CT
HC R
HC
HC
R
CX
HC
242 Chapter 10
Typed Neglect of Differential Overlap Method
13
Table 5-1 C Chemical shifts (in ppm) in some hydrocarbons (relative to
methane)
a
Molecule Exp. Hyper- Other
NMR
Methane CH4 0 0 0
CH4
Ethane CH3 -8 -10.5 14.4
C2H6
Propane CH3 -17.7 -17.9 12.2
CH3CH2CH3 CH2 -18.2 -18.1 30.5
n-Butane CH3 -15.3 -17.4 11.6
CH3(CH2)2CH3 CH2 -27.1 -25.3 28.0
n-Pentane CH3 -15.8 -17.6
CH3(CH2)3CH3 CH2(end) -24.7 -24.6
CH2(cen) -36.3 -32.7
n-Hexane CH3 -15.9 -17.6
CH3(CH2)4CH3 (CH2)1 -25.0 -24.8
(CH2)2 -34.1 -32.1
n-Heptane CH3 -16.1 -17.7
CH3(CH2)5CH3 (CH2)1 -25.1 -24.8
(CH2)2 -34.5 -32.3
(CH2)3 -31.6 -31.5
3-Methyl Pentane CH3(end) -13.3 -19.1
CH3CH2CH(CH3)- CH3(cen) -20.7 -25.4
CH2CH3 CH2 -31.4 -30.2
CH -38.8 -36.3
a. Calculated by INDO with standard parameters; see P. D. Ellis, G. E. Maciel, and
J. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).
Table 5-2 Proton chemical shifts (in ppm) in some hydrocarbons (relative to
methane)
a
Molecule Exp. Hyper- Other
NMR
Methane CH4 0 0 0
CH4
Ethane CH3 -0.63 -0.57 0.37
C2H6
Propane CH3 -0.68 -0.72 0.33
CH3CH2CH3 CH2 -1.10 -0.91 0.93
n-Butane CH3 -0.68 -0.77 0.30
CH3(CH2)2CH3 CH2 -1.10 -0.95 0.92
n-Pentane CH3 -0.68 -0.80
CH3(CH2)3CH3 CH2(end) -1.10 -1.01
CH2(cen)
n-Hexane CH3 -0.76 -0.81
CH3(CH2)4CH3 (CH2)1 -1.14 -1.03
(CH2)2 -1.95 -1.06
n-Heptane CH3 -0.76 -0.82
CH3(CH2)5CH3 (CH2)1
(CH2)2 -1.15 -1.08
(CH2)3
3-Methyl Pentane CH3(end) -0.75 -0.78
CH3CH2CH(CH3)- CH3(cen) -0.75 -0.70
CH2CH3 CH2 -1.04 -1.05
CH -1.26 -1.08
a. Calculated by INDO with standard parameters; see P. D. Ellis, G. E. Maciel, and
J. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).
244 Chapter 10
Typed Neglect of Differential Overlap Method
13
Table 5-3 C Chemical shifts (in ppm) in some hydrocarbons (relative to
methane)
Molecule Exp. Hyper- Other
NMR
Methane CH4 0 0 0
CH4 a
Ethylene CH2 -125.0 -119.1 -115.0
CH2CH2
Propylene CH3 -22.6 -12.0 -6.1a
CH2CHCH3 CH2 -118.6 -116.5 -112.1a
CH -137.9 -128.2 -126.2a
cis-2-Butane CH3 -11.4 b
cis- CH -125.7 -130.0 -132.6
CH3CHCHCH3
trans-2-butane CH3 -9.6
trans- CH -127.1 -130.0 -131.3b
CH3CHCHCH3
2-Methyl-2- (C*H3)2 -16.2
Butane CCHC*H3 -9.7
(CH3)2CCHCH3 CC*HCH3 -121.0 -127.0 -132.9b
C*CHCH3 -133.7 -137.8 -141.5b
2,3-dimethyl-2- CH3 -17.1
Butane C*C(CH3)2 -123.9 -139.5 -141.7b
(CH3)2CC(CH3)2
Isobutylene CH3 -18.0
(CH3)2CCH2 C*=CH2 -143.5 -133.1 -140.9b
C=C*H2 -112.1 -112.6 -121.8b
a. Calculated by INDO with their new parameters; see P. D. Ellis, G. E. Maciel, and
J. W. McIver, J. Am. Chem. Soc. 94, 4069 (1972).
b. E. Vauthier, S. Odiot, and F. Tonnard, Can. J. Chem. 61, 1417 (1983).
Table 5-4 CPU times (in sec.) for computing shielding and/or spin-spin coupling
a
constants b
Molecule Atm Orbs T T b T c T c
old1 old2 new1 new2
Ethylene 6 12 11 61 2 3
C2H4
Ethane 8 14 16 70 3 4
C2H6
a. This comparison is done on a NEC PowerMate (486/50) with Windows 3.1 and 8 Mb
of RAM.
b. Told1 and Told2 are the times (in seconds) taken for computing the shielding con-
stants only and both the shielding constants and nuclear spin coupling constants by
the finite perturbation SCF MO semi-empirical method of Santry et al., respectively.
c. Tnew1 and Tnew2 are the times (in seconds) taken for computing the shielding con-
stants only and both the shielding constants and nuclear spin coupling constants by
the new perturbed SCF MO semi-empirical method, respectively.
246 Chapter 10
Nuclear Spin States and Transitions
1 0 1 1 0 i 1 1 0
I x = --- , I y = --- , I z = --- (6-113)
2 1 0 2 –i 0 2 0 –1
With the lack of an external magnetic field, these two spin states
are degenerate. This degeneracy is removed by applying an exter-
nal magnetic field (Zeeman effect).
Suppose that a strong magnetic field B0 is applied to a molecular
system along the -z direction. The interaction energy between the
external magnetic field B0 and nuclear magnetic moment γ hI is
then γ hBIz. The unit of this interaction energy is in ergs if B0 is in
gauss. Using the conventional units of cycles per second (Hz), the
interaction energy becomes γ BIz/2π. Consequently, the Hamilto-
nian for a system with p nuclei is
p
(0) 1
H = ------ ∑ γ i B i I zi (6-114)
2π i
p
(1)
H = ∑ Jij Ii ⋅ Ij
i<j
(6-116)
248 Chapter 10
Nuclear Spin States and Transitions
p p
1 1
H mn = ------ ∑ γ i B i P i + --- ∑ J ij T ij (6-121)
4π i 4i < j
t1 2
1 iω mn t
----- (6-123)
h
2 ∫0 e φm H ′ ( t ) φn
ˆ ′ ( t ) = – B 1 ⋅ µ̂
H (6-124)
N
p
= – h ∑ γ i B ⋅ ˆI i
1
i
p
= – h ∑ γ i ( B x Î ix + B y Î iy + B z Î iz )
1 1 1
p 2
φm ∑i γ i Î ix φ n (6-125)
The selection rule can be deduced from this equation. The opera-
tor Î ix will have a matrix element only between two basis func-
tions which differ only in the spin of nucleus i. In a three-nuclei
system, for example, Î ix would have a non-vanishing element
between ααβ and βαβ. As a result, the total matrix element in
Equation (6-125) will be non-vanishing only between states which
p
have values of the total spin component F z = ∑i Iix differing by
250 Chapter 10
Parameter Sets
ν = νA + ∑ J AR m R +
R(≠A)
1 J AR
---
2 ∑ - [ F ( F + 1 ) – m R ( m R + 1 ) + 2m A m R ]
-----------------
νA – νR R R
R(≠A)
(6-127)
and the relative intensity of the corresponding transition is, to the
same order,
J AR m R
( FA – mA + 1 ) ( FA + mA ) 1 – 2
∑ -
-----------------
ν – ν R
(6-128)
R(≠A) A
Parameter Sets
You must have the following parameter files in your HyperNMR
directory to run a shielding and spin-spin coupling calculation.
Bibliography
1. K. Wolinski, J. F. Hinton and P. Pulay, J. Am. Chem. Soc. 112,
8251 (1990).
2. D. S. Wishart, B. D. Sykes and F. M. Richards, Biochemistry 31,
1647 (1992).
3. A. Pastone and V. Saudek, J. Magn. Reson. 90, 165 (1990).
4. P. D. Ellis, G. E. Maciel and J. W. McIver, Jr., J. Am. Chem. Soc.
94, 4069 (1972).
5. A. C. Blizzard and D. P. Santry, J. Chem. Phys. 55, 950 (1971).
6. J. A. Pople, J. W. McIver, Jr. and N. S. Ostlund, J. Chem. Phys.
49, 2960 (1968).
7. J. A. Pople, J. W. McIver, Jr. and N. S. Ostlund, J. Chem. Phys.
49, 2965 (1968).
8. G. E. Maciel, J. W. McIver, Jr., N. S. Ostlund and J. A. Pople, J.
Am. Chem. Soc. 92, 11 (1970).
9. L. Ducasse, J. Hoarau and M. Pesquer, Mol. Phys. 40, 1249
(1980).
10. M. Kondo, I. Ando, R. Chujo and A. Nishioka, J. Magn. Reson.
24, 315 (1976).
252 Chapter 10
Bibliography
Customizing HyperChem
Interfacing to HyperChem
Hypercube, Inc.
Publication HC70-00-03-00 January 2002
Copyright © 2002 Hypercube, Inc.
All rights reserved
The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This publication,
or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS
OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE,
INC. BE LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
IN CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF
HYPERCUBE, INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY
DEFECT OR ERROR IN THESE MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC.,
REGARDLESS OF THE FORM OF ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS
DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.
Hypercube Trademarks
HyperChem is a registered trademark of Hypercube, Inc. HyperMM+, HyperNewton, HyperEHT, HyperNDO, HyperGauss,
HyperChemOS, HyperNMR and ChemPlus are trademarks of Hypercube, Inc.
Microsoft, MS-DOS, and Excel are registered trademarks, and Windows is a trademark of Microsoft Corporation.
IBM is a registered trademark of International Business Machines, Inc.
All other brand and product names are trademarks or registered trademarks of their respective holders.
PRINTED IN USA
Table of Contents
Chapter 1 Introduction 1
The Chemist’s Developer Kit . . . . . . . . . . . . . . . . . . . 1
CDK for Windows or NT . . . . . . . . . . . . . . . . . 1
Equivalent Unix CDK . . . . . . . . . . . . . . . . . . 1
Components of the CDK . . . . . . . . . . . . . . . . . . . . 2
Components Included with Release 5 . . . . . . . . . . . . . 2
Other Suggested Tools . . . . . . . . . . . . . . . . . . 2
Suggested Compilers . . . . . . . . . . . . . . . . . . 3
HyperChem State Variables . . . . . . . . . . . . . . . . . . . 3
Customizing HyperChem . . . . . . . . . . . . . . . . . . . . 4
Internal Script commands . . . . . . . . . . . . . . . . . 5
HyperChem Command Language (Hcl) . . . . . . . . . 6
Tool Command Language (Tcl/Tk) . . . . . . . . . . 6
Custom Menus . . . . . . . . . . . . . . . . . . . . 6
Interfacing to HyperChem . . . . . . . . . . . . . . . . . . . . 6
Dynamic Data Exchange . . . . . . . . . . . . . . . . . 7
External Script Messages . . . . . . . . . . . . . . . . . 7
The HyperChem Application Programming Interface (HAPI) . . . . . 8
Overview of Chapters . . . . . . . . . . . . . . . . . . . . . 8
i
UNIX . . . . . . . . . . . . . . . . . . . . . . 17
Remote Back Ends . . . . . . . . . . . . . . . . . . 18
Mixing UNIX and Windows or NT . . . . . . . . . . . . . 18
ii
Chapter 6 Type 1 (Hcl) Scripts 49
Introduction . . . . . . . . . . . . . . . . . . . . . . . . 49
Hcl Script Commands . . . . . . . . . . . . . . . . . . 49
HSV’s. . . . . . . . . . . . . . . . . . . . 49
Menu Activations . . . . . . . . . . . . . . . . 50
Direct Commands . . . . . . . . . . . . . . . . 50
Script Files . . . . . . . . . . . . . . . . . . . . . 52
CHEM.SCR . . . . . . . . . . . . . . . . . . . . . 53
Compiled Scripts . . . . . . . . . . . . . . . . . . . 54
Recursive Scripts . . . . . . . . . . . . . . . . . . . 54
Script Editor . . . . . . . . . . . . . . . . . . . . . 54
Examples . . . . . . . . . . . . . . . . . . . . . . . . . 54
Reactive Collision of Two Molecules . . . . . . . . . . . . . 55
Assign Target Position . . . . . . . . . . . . . . 55
Assign Collision Velocities . . . . . . . . . . . . . 56
Wave Function Computation Parameters . . . . . . . . . 56
The Collision . . . . . . . . . . . . . . . . . 57
Building and Optimizing C60 . . . . . . . . . . . . 58
Setup . . . . . . . . . . . . . . . . . . . . 58
Drawing the First Pair of Atoms . . . . . . . . . . . 59
Finish First Level Pentagon . . . . . . . . . . . . . 59
Build Remaining Layers . . . . . . . . . . . . . . 60
Color Bottom and Rotate . . . . . . . . . . . . . . 64
Zoom Structure . . . . . . . . . . . . . . . . . 65
Create an SO2 Molecule Inside C60 . . . . . . . . . . 66
Optimize SO2 inside Cavity . . . . . . . . . . . . . 66
Catalog of HSV’s and Direct Script Commands . . . . . . . . . . . . . 66
iv Table of Contents
A HAPI Interface to VB . . . . . . . . . . . . . . . . . . . 124
Table of Contents v
Discussion . . . . . . . . . . . . . . . . . . 141
Binary Format . . . . . . . . . . . . . . . . . 141
Binary-based Get Integer Calls. . . . . . . . . . . . . . . 142
int hcGetInt (int hsv). . . . . . . . . . . . . . . 142
int hcGetIntVec( int hsv, int* buff, int max_length) . . . . . 142
int hcGetIntArr (int hsv, int* buff, int max_length) . . . . . 142
int hcGetIntVecElm (int hsv, int index) . . . . . . . . . 142
int hcGetIntArrElm (int hsv, int atom_index, int mol_index) . . 142
Discussion . . . . . . . . . . . . . . . . . . 143
Binary-based Get Real Calls . . . . . . . . . . . . . . . 143
double hcGetReal (int hsv) . . . . . . . . . . . . . 143
int hcGetRealVec( int hsv, double* buff, int max_length) . . . 143
int hcGetRealArr (int hsv, double* buff, int max_length) . . . 143
double hcGetRealVecElm (int hsv, int index) . . . . . . . 143
double hcGetRealArrElm (int hsv, int atom_index, int mol_index) .
143
int hcGetRealVecXYZ (int hsv, index, double* x, double* y, double*
z) . . . . . . . . . . . . . . . . . . . 143
int hcGetRealArrXYZ (int hsv, int atom_index, int mol_index, double*
x, double* y, double* z) . . . . . . . . . . . . 143
Discussion . . . . . . . . . . . . . . . . . . 144
Binary-based Get String Calls . . . . . . . . . . . . . . . 144
int hcGetStr (int hsv, char* buff, int max_length) . . . . . . 144
int hcGetStrVecElm (int hsv, int index, char* buff, int max_length) .
144
int hcGetStrArrElm (int hsv, int atom_index, int mol_index, char* buff,
int max_length) . . . . . . . . . . . . . . . 144
Discussion . . . . . . . . . . . . . . . . . . 144
Binary-based Set Integer Calls . . . . . . . . . . . . . . . 144
int hcSetInt (int hsv, int value). . . . . . . . . . . . 144
int hcSetIntVec( int hsv, int* buff, int length) . . . . . . . 144
int hcSetIntArr (int hsv, int* buff, int max_length) . . . . . 144
int hcSetIntVecElm (int hsv, int index, int value) . . . . . . 145
int hcSetIntArrElm (int hsv, int atom_index, int mol_index, int value)
145
Discussion . . . . . . . . . . . . . . . . . . 145
Binary-based Set Real Calls . . . . . . . . . . . . . . . 145
int hcSetReal (int hsv, double value) . . . . . . . . . . 145
int hcSetRealVec( int hsv, double* buff, int length) . . . . . 145
int hcSetRealArr (int hsv, double* buff, int length) . . . . . 145
int hcSetRealVecElm (int hsv, int index, double value) . . . . 145
inthcSetRealArrElm(inthsv,intatom_index,intmol_index,doublevalue)
145
vi Table of Contents
int hcSetRealVecXYZ (int hsv, index, double x, double y, double z)
145
int hcSetRealArrXYZ (int hsv, int atom_index, int mol_index, double
x, double y, double z) . . . . . . . . . . . . 146
Discussion . . . . . . . . . . . . . . . . . 146
Binary-based Set String Calls . . . . . . . . . . . . . . 146
int hcSetStr (int hsv, char* string) . . . . . . . . . . 146
int hcSetStrVecElm (int hsv, int index, char* string) . . . . 146
int hcSetArrElm (int hsv, int atom_index, int mol_index, char* string)
146
Discussion . . . . . . . . . . . . . . . . . 146
Get and Set Blocks . . . . . . . . . . . . . . . . . . 146
int hcGetBlock (int hsv, char* buff, int max_length) . . . . 146
int hcSetBlock (unt hsv, char* buff, int length) . . . . . . 147
Discussion . . . . . . . . . . . . . . . . . 147
Notification Calls . . . . . . . . . . . . . . . . . . 147
int hcNotifyStart (LPSTR hsv) . . . . . . . . . . . 147
int hcNotifyStop (LPSTR hsv) . . . . . . . . . . . 147
int hcNotifySetup (PFNB pCallBack, int NotifyWithText) . . 147
int hcNotifyDataAvail (void) . . . . . . . . . . . 147
int hcGetNotifyData (char* hsv, char* buff, int max_length) . 147
Discussion . . . . . . . . . . . . . . . . . 147
Memory Allocation. . . . . . . . . . . . . . . . . . 147
void * hcAlloc (size_t, n_bytes) . . . . . . . . . . 147
hcFree (void* pointer) . . . . . . . . . . . . . 148
Discussion . . . . . . . . . . . . . . . . . 148
Auxiliary Calls . . . . . . . . . . . . . . . . . . . 148
void hcShowMessage (LPSTR message) . . . . . . . . 148
voidhcSetTimeouts(intExecTimeout,intQueryTimeout,intOtherTimeout)
148
int hcLastError (char* LastErr) . . . . . . . . . . . 148
int hcGetErrorAction (void) . . . . . . . . . . . . 148
void hcSetErrorAction (int err) . . . . . . . . . . . 148
Discussion . . . . . . . . . . . . . . . . . 148
The HAPI Dynamic Link Library (HAPI.DLL) . . . . . . . . . . . . 148
How to use the HyperChem API . . . . . . . . . . . . . . . . . 149
Accessing the HyperChem API from C/C++ code . . . . . . . . 150
Run-Time Dynamic Linking. . . . . . . . . . . . 150
Load-Time Dynamic Linking . . . . . . . . . . . 151
Accessing the HyperChem API from Fortran code . . . . . . . . 152
Accessing the HyperChem API from Visual Basic Code . . . . . . 154
Accessing the HyperChem API from Tcl/Tk code . . . . . . . . 155
Considerations for Console-based Applications . . . . . . . . . 155
Table of Contents ix
OMSGs . . . . . . . . . . . . . . . . . . . 212
Menus . . . . . . . . . . . . . . . . . . . 212
Stack Operation . . . . . . . . . . . . . . . . 213
Other . . . . . . . . . . . . . . . . . . . 213
Info . . . . . . . . . . . . . . . . . . . . . . . 213
Errors . . . . . . . . . . . . . . . . . . . . . . 213
Logging . . . . . . . . . . . . . . . . . . . . . . 214
Auxiliary . . . . . . . . . . . . . . . . . . . . . 214
Declarations . . . . . . . . . . . . . . . . . 214
Warnings . . . . . . . . . . . . . . . . . . 214
Screen Output . . . . . . . . . . . . . . . . . 215
Version . . . . . . . . . . . . . . . . . . . 215
Other . . . . . . . . . . . . . . . . . . . 215
Viewing . . . . . . . . . . . . . . . . . . . . . . 215
Alignment . . . . . . . . . . . . . . . . . . 215
Redisplay . . . . . . . . . . . . . . . . . . 215
Rotation. . . . . . . . . . . . . . . . . . . 215
Translation . . . . . . . . . . . . . . . . . . 216
Window. . . . . . . . . . . . . . . . . . . 216
Other . . . . . . . . . . . . . . . . . . . 216
Rendering . . . . . . . . . . . . . . . . . . . . . 216
General Options . . . . . . . . . . . . . . . . 216
Specific Rendering Options . . . . . . . . . . . . 217
Show - Don’t Show . . . . . . . . . . . . . . . 217
Coloring and Labeling . . . . . . . . . . . . . . . . . 217
Color . . . . . . . . . . . . . . . . . . . 217
Labels . . . . . . . . . . . . . . . . . . . 218
Images . . . . . . . . . . . . . . . . . . . . . . 218
Model Building . . . . . . . . . . . . . . . . . . . 218
Options . . . . . . . . . . . . . . . . . . . 219
Drawing . . . . . . . . . . . . . . . . . . 219
Constraints . . . . . . . . . . . . . . . . . . 219
Other . . . . . . . . . . . . . . . . . . . 219
Stereochemistry . . . . . . . . . . . . . . . . . . . 219
Atom Properties . . . . . . . . . . . . . . . . . . . 220
Labels . . . . . . . . . . . . . . . . . . . 220
Coordinates and Velocities . . . . . . . . . . . . . 220
Other . . . . . . . . . . . . . . . . . . . 221
Molecule Properties . . . . . . . . . . . . . . . . . . 221
Charge-Multiplicity . . . . . . . . . . . . . . . 221
Counts . . . . . . . . . . . . . . . . . . . 221
Labels . . . . . . . . . . . . . . . . . . . 221
Properties . . . . . . . . . . . . . . . . . . 221
x Table of Contents
Back Ends . . . . . . . . . . . . . . . . . . . . 222
Basic . . . . . . . . . . . . . . . . . . . 222
Large Communication Structures . . . . . . . . . . 222
Remote Back Ends. . . . . . . . . . . . . . . 222
Molecular Mechanics Calculations . . . . . . . . . . . . . 222
Method . . . . . . . . . . . . . . . . . . 222
Energy Components . . . . . . . . . . . . . . 223
Cutoffs . . . . . . . . . . . . . . . . . . 223
Scale Factors . . . . . . . . . . . . . . . . 223
Parameters . . . . . . . . . . . . . . . . . 223
Amino Acids and Nucleic Acids . . . . . . . . . . . . . 223
Amino Acids . . . . . . . . . . . . . . . . 223
Nucleic Acids . . . . . . . . . . . . . . . . 224
General Residue . . . . . . . . . . . . . . . 224
Molecular Dynamics and Monte Carlo. . . . . . . . . . . . 225
Basic . . . . . . . . . . . . . . . . . . . 225
Run Parameters . . . . . . . . . . . . . . . . 225
Averaging . . . . . . . . . . . . . . . . . 226
Playback . . . . . . . . . . . . . . . . . . 226
Monte Carlo Specific . . . . . . . . . . . . . . 226
Optimization . . . . . . . . . . . . . . . . . . . . 226
Basic . . . . . . . . . . . . . . . . . . . 226
Restraints . . . . . . . . . . . . . . . . . 227
General Quantum Mechanics. . . . . . . . . . . . . . . 227
Input Parameters . . . . . . . . . . . . . . . 227
Output Results . . . . . . . . . . . . . . . . 228
Semi-empirical Calculations . . . . . . . . . . . . . . . 228
General . . . . . . . . . . . . . . . . . . 228
Huckel . . . . . . . . . . . . . . . . . . 228
ZINDO . . . . . . . . . . . . . . . . . . 228
Ab Initio Calculations . . . . . . . . . . . . . . . . . 229
Input Options . . . . . . . . . . . . . . . . 229
Basis Set . . . . . . . . . . . . . . . . . . 229
2-electron Integrals . . . . . . . . . . . . . . 229
Results . . . . . . . . . . . . . . . . . . 229
TNDO . . . . . . . . . . . . . . . . . . 230
DFT . . . . . . . . . . . . . . . . . . . . . . 230
Configuration Interaction . . . . . . . . . . . . . . . . 230
Infrared Spectra . . . . . . . . . . . . . . . . . . . 230
Animations . . . . . . . . . . . . . . . . . 230
Spectra . . . . . . . . . . . . . . . . . . 231
UV Spectra . . . . . . . . . . . . . . . . . . . . 231
Plotting . . . . . . . . . . . . . . . . . . . . . 231
Table of Contents xi
General Options . . . . . . . . . . . . . . . . 231
2D . . . . . . . . . . . . . . . . . . . . 232
3D . . . . . . . . . . . . . . . . . . . . 232
Grid . . . . . . . . . . . . . . . . . . . . 233
1
Components of the CDK
• Microsoft Word
• Microsoft Excel
• Microsoft Visual Basic
These three have been used in this manual to illustrate the low-level DDE
interfaces to HyperChem described in Chapters 8 and 9. Other Windows
word processors (for example, WordPerfect) or spreadsheets (for example,
Quattro Pro) could be used in place of Word and Excel but the authors have
little experience with them. Visual Basic is preferred by the authors as a rapid
2 Chapter 1
HyperChem State Variables
Suggested Compilers
To explore compiled C, C++, or Fortran programs interfaced to HyperChem,
appropriate compilers and development environments are required. We have
used
Introduction 3
Customizing HyperChem
tialized value zero), the HSV, total-energy, is available for reading and writ-
ing, either within a HyperChem script or from an external program.
PROGRAM FILE
1.035
DDE File
Message Reader
Reader
HyperChem
Hcl Interpreter
Customizing HyperChem
HyperChem has two quite unique features that allow you to customize it. The
first of these is that it has its own set of script commands that can activate
essentially any of the program’s functionality. The second is that Hyper-
Chem allows its whole menu structure to be replaced by custom menus.
4 Chapter 1
Customizing HyperChem
Execute Script
1. Here and throughout the text we will periodically use angular brackets to delimit menu items
(and other text) so as not to confuse it with surrounding text.
Introduction 5
Interfacing to HyperChem
Custom Menus
HyperChem Release 5.0 allows a user to replace the standard menu structure
of the shipped product with a totally new and custom menu structure. Each
custom menu item can have its own button text and can be tied to the execu-
tion of an arbitrary script file, either *.SCR or *.TCL. Since all the conven-
tional menu items of HyperChem Release 5.0 have equivalent script com-
mands such as menu-file-open, the custom menus can replicate the standard
HyperChem product as well as define essentially any new product that one
likes. The custom menus allow a Tabula Rasa, or blank page, on which a new
chemistry product can be written.
Interfacing to HyperChem
A principal component of the CDK is the documentation, libraries, and exam-
ples that allow you to interface your own codes to HyperChem. Customizing
HyperChem, as implied above, means the internal execution of script com-
mands brought about by reading them from a simple text file (*.SCR or
*.TCL). Interfacing to HyperChem on the other hand, implies that an exter-
6 Chapter 1
Interfacing to HyperChem
nal program (your own) executes the equivalent of script commands by send-
ing them as messages to a running copy of HyperChem.
messages Your
HyperChem
messages Program
That is, an external program can drive HyperChem from outside by sending
it script messages. Interfacing to HyperChem does not imply that you stati-
cally link your code together with HyperChem code but rather that you com-
pletely control HyperChem from outside and read and write to HyperChem’s
data structures via external messages.
Introduction 7
Overview of Chapters
Overview of Chapters
The CDK Manual contains the following chapters:
8 Chapter 1
Overview of Chapters
later chapters which use HSV’s in scripts and in the HyperChem Appli-
cation Programming Interface (HAPI).
Introduction 9
Overview of Chapters
• The three Appendices describe the complete set of Hcl script commands,
the set of Tcl/Tk script commands, and the details of each HAPI call.
10 Chapter 1
Chapter 2
Architecture of HyperChem
Introduction
This chapter contains information on the following architectural features of
HyperChem:
• The Front End - Back End Architecture
• The Master - Slave Architecture
• The Open Architecture
• The Client - Server Architecture
• The Network Architecture
The discussion here is given as general background on how HyperChem is
constructed so that you are in a better position to appreciate how and why cus-
tomization and interfacing become possible. The material of this chapter is
not strictly required for what follows in later chapters but should assist you in
understanding the CDK.
Since HyperChem, like most large commercial products, has an evolving
design and is certainly not the product of a single, totally rational, design pro-
cess, what is presented here is somewhat of a combination snapshot of both
the way it is and the way it is becoming. Nevertheless, what is described here
represents Release 5.0 in most regards.
11
The Front End - Back End Architecture
apple icon represents one of the back end programs - in this case, HyperNew-
ton.
The front end is the program that your interact with. It accepts input from you,
via the mouse and the keyboard, which constitute the GUI, and it provides
you with visualization services. For example, it may render a drawing of a
molecule for you.
The back ends generally perform the compute intensive computations.
HyperChem Release 5.0 comes with 5 back ends - HyperMM+, HyperNew-
ton, HyperEHT, HyperNDO, and HyperGauss. In principal, the back ends
compute only the energy of interaction of atoms and the first and second
derivatives of these energies. These energetic quantities feed the front end
which then computes chemically relevant properties. In practice, the subdivi-
sion of labor between a back end program and the HyperChem front end is
more complicated than this and depends on the situation.
One of the first things you might wish to consider as an application of the
CDK is to implement your own back end to replace one of the HyperChem
back ends. For example, you might like to have your own unique force field
in replacement of the MM+, Amber, etc. force fields of HyperChem.
In the Windows or NT environment, the HyperChem front end and the vari-
ous back ends communicate via DDE although one might have thought that
they would communicate through files. The HyperChem front end - back end
DDE communication, however, is more of a live link than would be have been
possible via normal file reading and writing.
12 Chapter 2
The Older Master - Slave Architecture
Calculate Something!
Front Back
End End
Master Slave
Here is a Result!
The back ends do not initiate anything and do only as they are told by the front
end. If the front end requires the energy of a molecule, for example, it will
know whether a back end slave is idle, it will send the slave a molecule with
the instructions, “compute its energy,” and it will then wait for the slave to
return the result. The slave, when it is sent a molecule and the instructions for
computing some energetic quantity, will do so, returning the result to the front
end when it is finished. The slave will then return to an idle state waiting for
further instructions.
The Master - Slave Architecture is considered an older architecture by Hyper-
cube. It is slowly being replaced by a newer Client - Server Architecture as
described in the next section. However, the existing back ends being shipped
by Hypercube as part of Release 5.0 all still use the master - slave relation-
ship. The protocol between a master and a slave in HyperChem is, and has
always been, an unpublished proprietary protocol. As such, knowing the
explicit details of the protocol is essentially irrelevant to the CDK and to you,
the user. It is presented here so that you can understand the basic architecture
of HyperChem. The newer client-server protocol described below is the pro-
tocol used by the CDK and is the one that you should expect to use in inter-
facing to HyperChem.
Architecture of HyperChem 13
The Open Architecture
The normal operation of HyperChem is via its GUI where you use the mouse
and keyboard to operate HyperChem’s menus and dialog boxes. HyperChem
attempts to allow an external program to operate it in the same way that you
do sitting in front of the screen, except that the external program sends script
messages (rather than clicking on a key or a mouse button, which a program
can’t do).
For example, an external program can access an internal variable, such as the
total energy, either for reading or writing, by sending a DDE message to the
HyperChem front end.
External
Program
Only front end variables are available to external programs and all informa-
tion and state held solely by the back end is private to HyperChem. For exam-
ple, a back end program probably calculated the total energy but conveyed it
to the front end where it resides in a front end data structure.
These front end variables that are made available to external programs for
reading and writing are referred to as HyperChem State Variables (HSV) and
are part of the front end state. The front end HSV’s are available for reading
and writing at any time whether or not a back end has computed a value. The
default value, in this case, is zero.
14 Chapter 2
The Open Architecture
VMSG
IMSG OMSG
UMSG
Architecture of HyperChem 15
The Newer Client - Server Architecture
For example, a user clicking with the mouse on the menu item <File/Open>
will bring up the File Open dialog box. A program external to HyperChem
can do the identical thing by sending an IMSG,
menu-file-open
The resulting OMSG, in this case, is nil but the VMSG is identical to that gen-
erated by the UMSG.
DDE
Server
Back Clients
End
The HyperChem front end has essentially always acted as a server to external
programs as, for example, with ChemPlus, HyperNMR, or programs like
Microsoft Excel. The CDK, however, extends and documents this capability,
making it possible to even replace Hypercube’s proprietary back ends with
third party back ends.
These client programs are generally started by the HyperChem front end via
a custom menu in HyperChem. When the program begins executing it
requests services from HyperChem such as asking it to send a copy of the
coordinates of the molecule currently on the screen. It might then compute
properties of the molecule and then ask HyperChem to display these proper-
ties.
A client program need not reflect just a back end operation but could instead
augment the front end GUI or visualization capability of HyperChem. Your
program can be of arbitrary design using HyperChem only for functionality
16 Chapter 2
The Network Architecture
you do not want to reproduce. HyperChem can act as a GUI server, a compu-
tational server, or a visualization server all at the same time. The HyperChem
back ends are not directly accessible to external programs but only through
the HyperChem front end acting as a proxy.
Network DDE
Microsoft, however, has implemented Network DDE, in Windows 95 and
NT. Thus it is possible to place any of the various components of a solution
onto different PCs as long as they are connected by an appropriate network .
Old Slave
Back
End
Network
Front DDE New Your 3rd
Back Program Party
End End
Client
An old back end communicates with the front end by means of Hypercube’s
proprietary protocol while a new back end uses the open client-server proto-
col of the CDK.
UNIX
While the following discussion is not strictly relevant to this Windows CDK,
a completely analogous CDK and capability is available for Unix versions of
HyperChem. In this case DDE is replaced by a Pipe and Socket capability.
The Unix versions of HyperChem have a front end - back end architecture as
well so that essentially everything we say here applies equally to the Unix
Architecture of HyperChem 17
The Network Architecture
world once DDE messages and communication are replaced by their Unix
equivalents. The HyperChem API, on the other hand, is portable across plat-
forms.
Old Unix
Back
End Machine
Socket
Front Windows
or NT
End Machine
18 Chapter 2
The Network Architecture
not attempt to describe the equivalent Unix product but relate only to the Win-
dows and NT programs described here.
Architecture of HyperChem 19
The Network Architecture
20 Chapter 2
Chapter 3
Customizing HyperChem
Introduction
This chapter describes how HyperChem can be customized via:
• Scripting
• Custom Menus
These two capabilities allow you to automate many of the computations you
perform with HyperChem or to customize HyperChem for your own pur-
poses. This chapter does not describe the interfacing of external programs to
HyperChem which, in itself, is a form of customization; that is left for later
chapters. Here we focus on how HyperChem can be customized through the
process of writing a set of scripts and through your ability, in Release 5.0, to
redefine the whole menu structure of the program if you chose to do so.
21
What are Scripts?
22 Chapter 3
Type 2 (Tcl/Tk) Scripts
• Eric F. Johnson, Graphical Applications with Tcl & Tk, 1996, M&T
Books, New York, N.Y., ISBN 1-55851-471-6.
• John K. Ousterhout, Tcl and the Tk Toolkit, 1994, Addison-Wesley,
Reading, Mass., ISBN 0-201-6337-X.
• Brent Welch, Practical Programming in Tcl and Tk, Prentice Hall, 1994.
• http://www.sunlabs.com:80/research/tcl/
• http://www.sco.com/Technology/tcl/Tcl.html
The Tool Command Language orTcl part of Tcl/Tk describes a very general
scripting language that can embed custom scripting operations such as the Hcl
script commands. The Tk part of Tcl/Tk describes an extension to Tcl that
makes it possible to easily create a graphical user interface (GUI) having
menus, dialog boxes, etc. Thus a Type 2 script consists of a sequence of script
lines that are a mixture of Tcl/Tk (“tickle”) lines and Hcl (“hickle”) lines.
Type 2 scripts add variables, do- or while-loops, if-statements, and so on to a
script, so that a script can now be a very general purpose program having its
own GUI, visualization, etc. An simple example of a Type 2 script is:
TclOnly
set i 10
while { $i > 0 } {
incr i -1
if { ($i - 2*($i/2)) == 1 } then {
hcExec window-color black } else {
hcExec window-color white }
}
Exit
Customizing HyperChem 23
Custom Menus
This script causes the background window color to alternate between black
and white. The while-loop has the variable i going from 10,9,8... to 1. For
even values of i the window color is set to black while for odd values of i it is
set to white. The TclOnly command indicates that no Tk window is needed.
It should be the first command of any simple script that requires no addition
to the HyperChem graphical user interface. The hcExec (Hyperchem execute)
command is always followed by the appropriate Hcl command, which in this
case sets the color of the HyperChem workspace window. Note that Tcl/Tk is
case sensitive; a command with the wrong case, such as Tclonly, would be an
invalid command. A Tcl script is normally exited with the Exit command.
Type 2 scripts are held in *.TCL files, i.e they have a default TCL file exten-
sion.
The whole while statement above is really a single Tcl/Tk command. The
while command contains other embedded Tcl/Tk commands plus embedded
Type 1 script commands. The hcExec command embeds Hcl commands that
can be menu invocations, such as menu-file-open, direct commands, such as
do-molecular-dynamics, or HSV writes, such as window-color green. The
corresponding hcQuery command embeds HSV reads. Thus, the following
Tcl script creates a Tk window with a message, called .msg, contained in the
window and displaying the coordinates of each of the atoms:
message .msg -text [hcQuery "coordinates"]
pack .msg
The pack command places widgets, such as .msg, in the main Tk window and
controls their layout. Tk widgets are normally named to begin with a “dot”.
Custom Menus
With Release 5.0 of HyperChem, you can now redefine each and every menu
item to fully customize HyperChem’s menus. When HyperChem is first
invoked, it has a standard set of menus as with any other Windows product.
However, if one subsequently executes the Hcl script command:
load-user-menu custom.mnu
then the standard menus are discarded and replaced by a new set of menus
defined by a menu file which, in the above case, is the file custom.mnu.
These menu files define the custom text of each menu button (for each of the
new custom menus), and the action that is taken when each menu button is
24 Chapter 3
Custom Menus
pushed. The custom action for each menu button, as defined in the file, can
be any Hcl script command.
For example, to re-implement the <File/New> menu item exactly as it is
shipped in the default product, the custom menu file should request the action,
menu-file-new
when the appropriate button with text “New” on the “File” menu is pushed.
A menu file is basically just a description of the text and the keyboard assist
for each new menu button plus an associated Hcl script command for the but-
ton.
Because any of the button actions (Hcl script commands) could be of the
form,
read-tcl-script xxx.tcl
it is also possible to have any menu button execute a Tcl script. This results
in HyperChem being capable of having very generic menus and functional
capability. That is, since a Tcl/Tk script can be executed upon pushing any
menu button, and since a Tcl/Tk script can, in principle, accomplish any pro-
gramming task, there is no fundamental limitation to the generality of Hyper-
Chem.
The following menu file, for example, creates a version of HyperChem that
has a single menu (“Custom”) with a single menu item (“Version”) which
does nothing other than inform the user of the current release number when
the menu button is pushed,
MENU "&Custom"
ITEM "&Version",query-value version
END
New keyboard accelerators are not available for custom menu items. The
default HyperChem keyboard accelerators are always active. However, key-
board assists or shortcuts, usable with the Alt key and indicated by the amper-
sand, are available.
Before continuing with the description of user-defined menus and scripts for
customizing HyperChem, we will first elaborate on the concept of Hyper-
Chem State Variables (HSV’s). These are fundamental to the whole concept
of customization or interfacing.
Customizing HyperChem 25
Custom Menus
26 Chapter 3
Chapter 4
HyperChem State Variables
Introduction
This chapter describes a very important feature of HyperChem, the concept
of its current state and the variables that represent that state. These Hyper-
Chem State Variables (HSV’s) define the current state of visualization and
computation in HyperChem, e.g. the color of a window or the total energy of
a molecule, and can be read and written by scripts or by external programs.
these HSV’s are registered when HyperChem is invoked and can be reliably
queried or modified from then on.
Registering of HSV’s
When HyperChem is first invoked, one of the things it does is to register, for
reliable import and export, a large number (hundreds) of data structures. In
cases these data structures are just simple variables rather than more compli-
cated arrays, lists, etc. By registering these data structures we mean that of all
the internal data structures that come and go dynamically in HyperChem,
these ones can be requested to be read or written at any time. Any registered
variable can be reliably and robustly accessed. If the HSV value is not yet
available, HyperChem will issue a simple warning at the attempted access.
You needn’t worry about writing an HSV value to HyperChem and causing
its internal operation to be badly perturbed, apart from the intended effect of
having a new value for an HSV.
An Example of an HSV
An example of a HyperChem State Variable is window-color. The names for
these variables are fixed inside the code of HyperChem and may or may not
always be optimally descriptive. The variable window-color defines the back-
ground of the HyperChem workspace (the area displaying a molecular sys-
tem). It is commonly black but can be changed via the <File/Preferences...>
27
Introduction
menu item to be any one of the 8 basic HyperChem colors. The variable is an
enumerated variable of type Enum. That is, it is one of a small number of pre-
defined values represented internally in the computer by an integer but in
your program code as some member of the set {Black, Blue, Green, Cyan,
Red, Violet, Yellow, or White}.
Another example of an HSV with more chemical content is dipole-moment.
This is a R/W variable also and behaves just as window-color. However, we
prefer to use window-color in many of our examples because it is immedi-
ately visually obvious when this variable changes. The consequences of writ-
ing a new value for the dipole moment are also a little obscure. In actuality no
harm comes from writing an arbitrary value for the dipole moment to Hyper-
Chem; it just may not correspond to the correct dipole moment for the mole-
cule on the screen. It will be overwritten when a calculation, such as a wave
function calculation, is performed that computes the dipole moment.
Using HSV’s
Here we describe the reading and writing of the simplest type of HSV, a sca-
lar. Later, we will describe the reading and writing of HSV’s that have a
more complicated structure. We use the simple HSV, window-color, as our
example.
28 Chapter 4
Introduction
Writing
An HSV is written by simply giving its new value after the variable, with or
without an equal sign. Thus the following are all appropriate Hcl script com-
mands for turning the background screen color to green:
window-color green
window-color = green
WInDOw-CoLOR=GReeN
Hcl script commands are case insensitive and spacing is ignored except
within the HSV name.
Reading
Two equivalent syntactical methods are available for reading HSV’s. The
first is through a Hcl command, query-value, which takes an HSV as an argu-
ment:
query-value window-color
The second and completely equivalent way to ask for the value of an HSV is
to simply name the HSV placing a question mark after it, separated by at least
one space:
window-color ?
Either of these procedures returns to the questioner (provided the HyperChem
screen is green) the output message (OMSG) string:
window-color = Green
The output message is returned to an external program, if that is who sent the
original query or, by default, to a message box on the screen if the original
query came from an internal script. Through the use of an Hcl script com-
mand, omsgs-to-file, the message string generated by the Hcl script can be
placed in a file rather than appear in a message box on the screen. Finally, the
returning OMSG string could have been shortened to just “Green” rather
than “window-color = Green” if the HSV, query-response-has-tag, had
been set to false prior to issuing the original query.
Notifications
It is possible to make a request to HyperChem that you be sent an OMSG
should the value of an HSV change. The message you might eventually
receive is identical to that which you could receive by performing a query-
value. The OMSG is repeatedly sent to you whenever the variable changes it
value. For data structures more complex than simple variables, the notifica-
tion is sent if any member of the data structure changes. For example, moni-
toring the window-color is accomplished with the script command,
notify-on-update window-color
The notification can be cancelled at any later time via the script command
cancel-notify window-color
Notifications are quite powerful and can be extremely useful. For example,
you could ask for a notification of the total-energy during an optimization and
easily plot a graph of the optimization with the values sent to you by Hyper-
Chem. These notifications are really only meaningful in the context of an
external program interfaced to HyperChem rather than in the context of an
internal script.
30 Chapter 4
Kinds of HSV’s
Kinds of HSV’s
A number of different types of HSV’s are available. They are classified by
how they are assigned values. The simplest are just scalars.
Scalar HSV’s
A scalar HSV is one which does not use an index. A simple example is max-
iterations, the maximum number of allowed iterations in a self-consistent-
field (SCF) calculation. The argument is an int in the range (1..32767) and an
assignment (write) looks as follows:
max-iterations = 100
The equal sign is not strictly necessary and white space will do:
max-iterations 100
The number of arguments for a scalar HSV, while normally one, it not
restricted to one. For example the HSV, dipole-moment-components, takes
three float arguments - the x, y, and z components. It is defined as a scalar
since you do not use an array index with it but assign or query all its compo-
nents simultaneously. It is written or assigned, with a flexible syntax, as fol-
lows:
dipole-moment-components 1.0 2.0 3.0
dipole-moment-components = 1.0 2.0 3.0
dipole-moment-components = 1.0, 2.0, 3.0
That is, the arguments may begin with an equal sign or not, be separated by
commas or not, etc. The syntax is flexible but equal signs and commas are
suggested as an appropriate convention.
Vector HSV’s
A vector HSV is one which takes a single index. An example is the HSV,
alpha-orbital-occupancy. This variable describes the number of electrons in
an alpha (spin up) molecular orbital from an unrestricted Hartree-Fock (UHF)
calculation. When the calculation is a restricted Hartree-Fock (RHF) calcula-
tion having no beta occupied orbitals different from alpha occupied orbitals
then the alpha-orbital-occupancy variable describes the total occupancy of
alpha and beta electrons in an orbital. Thus the arguments are 0 and 1 for UHF
calculations and 0 and 2 for RHF calculations. Thus, for H2 you can exter-
nally set the first (HOMO) orbital to be occupied and the second (LUMO)
orbital to also be occupied (corresponding to H22-) by the following script
commands:
alpha-orbital-occupancy(1) 2
alpha-orbital-occupancy(2) 2
or, equivalently,
alpha-orbital-occupancy(1) = 2
alpha-orbital-occupancy(2) = 2
For a standard minimal basis calculation on H2, the query,
alpha-orbital-occupancy ?
would return the normal result
alpha-orbital-occupancy(1) = 2
alpha-orbital-occupancy(2) = 0
That is, even though a query such as
alpha-orbital-occupancy(1) ?
is perfectly valid, it is possible to query for all relevant indices (1..2) at once,
as we have done above. It is, of course, also possible to use the alternative
syntax,
query-value alpha-orbital-occupancy(1)
32 Chapter 4
A Finite State Machine View of HyperChem
Array HSV’s
An array HSV is defined to be one which takes two indices. These two indices
are always the atom index and the molecule index (iat, imol). If one thinks of
this combination as a single unique index, then an array is just a vector where
the index is a unique atom number. A simple example is the mass of an atom
which is represented by the HSV, atom-mass. The atomic masses of H2 would
be assigned as follows,
atom-mass(1,1) = 1.008
atom-mass(2,1) = 1.008
That is, the first and second atoms of molecule one are assigned. Another
example is the Cartesian coordinates of the atoms. This is an array with 3
arguments analogous to the dipole moment components above. The coordi-
nates of H2, again, could be assigned as follows,
coordinates (1,1) = 0.0, 0.0, 0.0
coordinates (2,1) = 0.0, 0.0, 0.74
An alternative to this is to assign all coordinates at once,
coordinates = 0 0 0 0 0 0.74
Note again that there is flexibility in using commas or equal signs or not using
them.
• User message (UMSG) - an input message coming from the user using
the mouse of keyboard.
The normal interactive use of HyperChem has UMSGs as input and VMSGs
as output. That is, when you click the mouse, something changes on the
screen. It is possible to drive HyperChem with IMSGs rather than a mouse or
keyboard. With an IMSG for input, one obtains possibly both a VMSG and
an OMSG for output. That is, an IMSG, in addition to causing a visual change
on the screen may result in an OMSG being sent to a receiver associated with
the sender of the IMSG.
IMSGs are meant to be a superset of UMSGs. It is intended that anything you
can do with the mouse you can do with an IMSG. In addition, IMSGs will
trigger actions and state changes that are impossible by direct interaction. The
target for OMSGs depends on the source of the IMSG and on the redirection
of OMSGS by previous IMSGs. These generic concepts have two current
implementations. One is implemented by the Hcl scripting language and the
other is implemented by dynamic data exchange (DDE).
As an example of the state machine aspects of HyperChem, consider two
states of HyperChem shown below as circles. The state is whether a stick ren-
dering is shown on the screen as a normal image or as a stereographic image.
Equivalently, the two states are described by an internal HyperChem State
Variable (HSV) called show-stereo. when this variable is false, a normal
(mono) image is displayed but when this variable is true, a double (stereo)
image is displayed. The transitions between the two states are represented as
arrows. the transition is triggered by an <input> and results in an <output>
and each transition (arrow) is labelled:
transition: <input>/<output>
The input in this case is an IMSG of type “show-stereo”, the name of the
HSV, with an argument (part of the data of the message) of either “true” or
“false”. The output message is simply a VMSG that changes the screen dis-
play. No OMSG is emitted in this case.
34 Chapter 4
An HSV Server View of HyperChem
.
show-stereo false / see mono rendering
stereo mono
36 Chapter 4
Chapter 5
Custom Menus
Introduction
This chapter describes in detail the customizing of HyperChem via your abil-
ity to add menu items to the <Script> menu plus your ability to redefine com-
pletely the menu structure with a menu (*.mnu)file.
37
Menu Files
Up to ten new menu items, with vector indices 1..10, are available under the
<Script> menu. Each new menu item shows up in the order associated with
the vector index which was assigned to it, such as the “3” above. Menu items
that have not been assigned a caption do not show up.
Menu Files
What is new in Release 5.0 of HyperChem is that, in addition to adding new
menu items in the <Script> menu, all the menu items can now be designed
from scratch and instead of just executing a Hcl script any menu item can now
execute a much more generic Tcl/Tk script.
This new functionality comes about via the three new Hcl script commands,
load-user-menu <menu file (*.mnu)>
load-default-menu
switch-to-user-menu
The first of these loads and switches HyperChem to a set of custom menus
defined in a menu file. The remaining two switch back and forth between the
default hard-wired menus and the user custom menus, provided they have
been defined earlier by the first script command of the above three.
38 Chapter 5
Menu Files
A menu file need not have the *.mnu extension since it simply a text file but
it is convenient for menu files to be recognized with their own extension.
These menu files define the left-to-right and top-to-bottom structure of a com-
plete set of menus via sequential text lines of the form,
MENU <text-string>
ITEM <text-string>, <Hcl-script-command>
ITEM ...
END
The text string is the text that you see on the menu or menu item, including
the naming of a possible keyboard assist via the ampersand, “&”, being
placed prior to the character that is to be used with the Alt key, as per the
Microsoft Windows standard. If a menu has no subset of items but is its own
menuitem and can be activated by clicking on it alone, it is defined in the
form,
MENUITEM <text-string>, <Hcl-script-command>
Cascading menus are not supported. The menu file that corresponds to the
default set of hard-wired menus is on the HyperChem CD-ROM as
default.mnu. It looks as follows:
;
; 1996 (c) Hypercube, Inc.
; User Customizable Menu
;
MENU "&File"
ITEM "&New\tCtrl+N",menu-file-new
ITEM "&Open...\tCtrl+O",menu-file-open
ITEM "&Merge...",menu-file-merge
ITEM "&Save\tCtrl+S",menu-file-save
ITEM "Save &As...\tCtrl+A",menu-file-save-as
SEPARATOR
ITEM "S&tart Log...",menu-file-start-log
ITEM "Stop Lo&g",menu-file-stop-log
ITEM "&Log Comments...",menu-file-log-comments
SEPARATOR
ITEM "&Import...",menu-file-import
ITEM "&Export...", menu-file-export
SEPARATOR
ITEM "&Print...\tCtrl+P", menu-file-print
SEPARATOR
ITEM "Pr&eferences...",menu-file-preferences
Custom Menus 39
Menu Files
SEPARATOR
ITEM "E&xit",menu-file-exit
END
MENU"&Edit"
ITEM "&Clear\tDelete",menu-edit-clear
ITEM "C&ut\tCtrl+X",menu-edit-cut
ITEM "C&opy\tCtrl+C",menu-edit-copy
ITEM "Copy ISIS S&ketch",menu-edit-copy-isis-sketch
ITEM "&Paste\tCtrl+V",menu-edit-paste
SEPARATOR
ITEM "Cop&y Image\tF9",menu-edit-copy-image
SEPARATOR
ITEM "&Invert",menu-edit-invert
ITEM "&Reflect",menu-edit-reflect
SEPARATOR
ITEM "Rotat&e...",menu-edit-rotate
ITEM "&Translate...",menu-edit-translate
ITEM "&Zoom...",menu-edit-zoom
ITEM "Z C&lip...",menu-edit-z-clip
SEPARATOR
ITEM "&Align Viewer...",menu-edit-align-viewer
ITEM "Align &Molecules...",menu-edit-align-molecules
SEPARATOR
ITEM "Set &Bond Length...",menu-edit-set-bond-length
ITEM "Set Bon&d Angle...",menu-edit-set-bond-angle
ITEM "Set Bo&nd Torsion...",menu-edit-set-bond-torsion
END
MENU"&Build"
ITEM "&Explicit Hydrogens",menu-build-explicit-hydrogens
ITEM "&Default Element...",menu-build-default-element
ITEM "&Add Hydrogens",menu-build-add-hydrogens
ITEM "&Model Build",menu-build-model-build
SEPARATOR
ITEM "Allow &Ions",menu-build-allow-ions
ITEM "&United Atoms",menu-build-united-atoms
ITEM "A&ll Atoms",menu-build-all-atoms
SEPARATOR
ITEM "Calculate T&ypes",menu-build-calculate-types
ITEM "Compile Type &Rules",menu-build-compile-type-rules
SEPARATOR
ITEM "&Set Atom Type...",menu-build-set-atom-type
ITEM "Set &Mass...",menu-build-set-mass
ITEM "Set C&harge...",menu-build-set-charge
40 Chapter 5
Menu Files
Custom Menus 41
Menu Files
42 Chapter 5
Simple Example
Simple Example
The custom menus can be illustrated by executing the script,
Example2.scr from the HyperChem CD-ROM:
script-menu-caption(1) = "Rotate Menus"
script-menu-command(1) = "load-user-menu rotate.mnu"
script-menu-enabled(1) = true
This script puts a new menu item in the <Script> menu. The new menu button
has the text, “Rotate Menus” on it. Pushing this menu button will execute a
script command, as shown above, that loads a custom set of user menus
(rotate.mnu) rather than the hard-wired default menus that come with the
Custom Menus 43
Simple Example
44 Chapter 5
Simple Example
Custom Menus 45
Simple Example
46 Chapter 5
Further Customization
this Cancel button, it becomes disabled and the value of the HSV becomes
false. The Tcl script looks for this cancel operation each iteration and breaks
out of the loop if it occurs. The only other Tcl command that needs comment
is the update command. Without this, Tcl would not temporarily release con-
trol to Windows and sense the change made to the cancel-menu HSV in
HyperChem. It would be busy just executing “its own for-loop code”. When
you want an immediate update of a Tk dialog box or a HyperChem HSV, it is
best to place an appropriate update command inside a Tcl script.
Further Customization
The name of the HyperChem window can be modified to identify specific
custom versions of HyperChem. The is very straight forward using the fol-
lowing Hcl script command.
custom-title <addendum to HyperChem name>
In addition, if so desired, the tool bar can be eliminated using the hide-toolbar
HSV. Thus, the Hcl script, stored on the HyperChem CD-ROM as
Example3.scr,
custom-title = “My Version”
hide-toolbar = true
results in the following window, having a custom name and no toolbar. It is
still possible without a toolbar to change the HyperChem cursor tool using the
mouse-mode HSV.
Custom Menus 47
Further Customization
48 Chapter 5
Chapter 6
Type 1 (Hcl) Scripts
Introduction
Type 1 scripts, the simplest scripts, are simple sequences of script commands
each of which conform to the Hyperchem Command Language (Hcl - pro-
nounced “hickle”). These scripts have been part of HyperChem since its
inception but with the addition, in Release 5.0, of Tcl/Tk scripting capability,
it is necessary to clarify our terminology somewhat. Thus, what was previ-
ously referred to simply as a script command or script message now becomes
a Hcl command or Hcl script command. These Hcl script commands can con-
stitute the totality of a script, be imbedded in a Tcl script, or be the content of
certain external messages sent to HyperChem by other programs. A script that
consists solely of Hcl commands is a Type 1 or Hcl script.
• An HSV read
• An HSV write
• A menu activation
• A direct command
HSV’s
The HyperChem State Variables (HSV’s) have been described in Chapter 4.
HyperChem makes these variables available to external programs and to
internal scripts, for reading and possibly for writing. They need not be
described again here other than for completeness in describing Hcl script
commands. Using dipole-moment as an example of an HSV, a Hcl script com-
49
Introduction
mand can read the value (enquire about the current value that HyperChem
maintains) by the Hcl script command,
query-value dipole-moment
or, alternatively, via the equivalent but slightly different syntax,
dipole-moment ?
You can write the value (assuming you wish to assign a value of 2.5 Debyes
to the dipole moment) via the Hcl script command,
dipole-moment 2.5
Menu Activations
A menu activation is a replacement for the user clicking with the mouse on a
menu item (menu button). Every menu item of HyperChem has an equivalent
Hcl script command that accomplishes exactly the same effect as clicking on
the menu item. These Hcl script commands all start with “menu-” and then
name the particular menu and finally a string representation of the particular
menu item, all separated by hyphens. Thus, the equivalent of clicking on the
menu item <File/Save As...> is to open a *.scr file and execute the Hcl
script command,
menu-file-save-as
All these menu activations are listed in the HyperChem Reference Manual but
each can be inferred just by looking at the HyperChem menus and putting a
hyphen between every word of the text of the menu item. Thus, if the Setup
Menu contains the menu button Select Parameter Set..., the proper script
command is,
menu-setup-select-parameter-set
One exception, of sorts, to this rule is the “Model Build...” menu item which
sometimes reads, “Add H & Model Build...” The script command is always,
menu-build-model-build
Direct Commands
To open (read in) a file you normally click with the mouse on the menu item
<File/Open...> and bring up a dialog box to be filled out with appropriate dia-
log box values prior to hitting the OK button which initiates the reading in of
the file. Suppose you wanted to read in a Protein Data Bank (PDB) file. Then,
prior to hitting OK, you need to set the default file type to be *.ENT in the
dialog box in addition to choosing the name of the appropriate file that you
50 Chapter 6
Introduction
want to read in. You might like a script to automate these actions but if you
used the script command
menu-file-open
the script would stop with the File Open dialog box sitting on the screen wait-
ing for you to hit the OK button to initiate the reading of the file. This is any-
thing but automation if you have to be there to click on OK! Scripts must go
beyond imitating the actions of a user at a keyboard or with mouse in hand.
To solve this problem, a script command is needed that initiates the reading
of a file using the current values of the dialog box settings without bringing
up the dialog box at all. If different setting are needed than are in the prospec-
tive dialog box, these values can be set prior to calling for the opening of the
file. The script command open-file filename does the job. It is a direct com-
mand that bypasses a dialog box to get the job done using the current dialog
box settings. If you wanted to read, for example, a glucagon PDB file you
could simply execute the script,
file-format pdb
open-file glucagon.ent
This is completely equivalent to invoking the <File/Open...> dialog box,
selecting PDB as the file format, filling in the File Name as glucagon.pdb, and
hitting OK to dismiss the dialog box and initiate the reading of the file.
Other direct script commands cause actions that have no immediate mapping
to a GUI action. The direct script commands consist of the name of the com-
mand followed by one or more arguments, each separated by at least one
space or a comma:
hcl-command-name <argument1>, <argument2>, ...
An argument is one of:
Arguments
The types of arguments for variables or commands are the following:
Boolean Yes or no, true or false, 0 or 1.
string Text (letters, characters, or symbols, in upper- or lower-
case, unlimited number of characters). Enclose a string in
quotes (“ ”) if it contains spaces, tabs, or newline char-
acters.
filename A type of string requiring a DOS filename.
Script Files
Type 1 scripts are normally stored in files with a default file extension of
*.SCR. These files consist of nothing more than a sequence of individual Hcl
script commands, stored in an Ascii text file with a file name that has the SCR
file extension. A script is normally executed by opening a *.SCR script file
with the <Script/Open...> menu item.
52 Chapter 6
Introduction
A Hcl script file is simply a text file and while it is not essential to use the
*.scr extension, that is the useful default extension used by HyperChem.
A trivial example of a *.scr file is version.scr, one that contains the
single line,
version ?
This script file, when opened, queries for the Release Number or Version of
HyperChem, in case you are not sure what it is. That is, it requests the value
of the HSV, “version”. The result will be reported to you in a message box
on the screen.
CHEM.SCR
When HyperChem is started, one of things it does before handing over control
to you as a user is to execute a default initialization Hcl script. If HyperChem
finds a script, CHEM.SCR, in its path then it executes that script as a final part
of its initialization. If this file does not exist or HyperChem cannot find it in
its path, then no such specialized initialization is performed. This allows you
to set up a script and place it in CHEM.SCR to customize your copy of Hyper-
Chem right from its instantiation, without ever having to explicitly execute a
script. If you have your own customization of HyperChem that you like to use
on a semi-permanent basis, you should place the relevant script into
CHEM.SCR.
Compiled Scripts
A script can be compiled, if desired. The compilation results in a *.ocr file.
Thus, the following script command compiles xxx.scr into xxx.ocr,
compile-script-file xxx.scr xxx.ocr
Compiled scripts can be opened by HyperChem just as text scripts (see the
file filter in the <Script/Open...> dialog box).
Recursive Scripts
Scripts files can contain script commands to open other script files. Thus, the
script file a.scr could contain a script command,
read-script b.scr
When this second script, b.scr, completes, control is returned to the script
command in a.scr following the above call to b.scr.
Script Editor
The companion product to HyperChem, ChemPlus, includes a script editor
that makes it easy to create and execute individual Hcl script commands or
whole or partial Hcl script files.
Examples
This section begins a description of a number of example Hcl scripts. There
are a large number of HSV’s and direct script commands contained in
HyperChem and learning them all is not a simple matter. One of the best ways
is to study example scripts and ultimately to write a number your own scripts.
54 Chapter 6
Examples
The examples here will give you some idea of the power of the HyperChem
Command Language but its real power ultimately comes in conjunction with
the control structures that Tcl can add or the GUI that Tk can add. Hcl scripts
are rich in chemistry but it is sometimes difficult to get what you want done
easily without the true programming power of variables, do-loops, if-state-
ments, etc.
In addition to this section a good place to start learning Hcl scripts is the
test.scr script that is explained and described in Chapter 10 of the Refer-
ence manual.
56 Chapter 6
Examples
The Collision
The last step is to initiate the molecular dynamics trajectory correctly. Most
of these parameters are not set below but have been set in the dialog box. The
important values are the step size and the length of the trajectory. If gradients
get very high a smaller step size may be necessary. A larger collision velocity
may also require smaller steps. It is essential to set dynamics-restart to be true
as this uses the velocities assigned above rather than attempts to equilibrate
the velocities, with random numbers, according to the temperature.
This example can be run any time there are two molecules on the screen. In
some instances, it may be necessary to set the charge and multiplicity for
charged or open-shell systems. Try it by placing two methane molecules on
the screen and see if you can form H2 + C2H6 in a collision? The example can
be expanded on in a great many ways. For example, one might like to see
molecular orbitals change during the collision.
One of the potential problems in watching molecular dynamics of chemical
reaction is that of the “standard model” of HyperChem which treats a mol-
ecule as a connected graph. Overlapping spheres is the best way of viewing
chemical reactions because they display only the position of atoms and not
bonds that may no longer exist. Unfortunately, HyperChem uses the molecu-
lar graph to speed up the overlapping spheres rendering; it avoids working out
the intersection of spheres when there is no “bond”. Thus one may see ren-
dering artifacts sometimes when two atoms are near each other in a
“product” when the reactant molecular graph “says” that they are far apart.
An interesting script that you might wish to explore would be one that dynam-
ically recomputes the graph to reflect the changing bonds of the reaction.
Because of this issue, sometimes one “bonds everything” so that there are
no artifacts in a spheres rendering; quantum mechanical calculations, of
course, pay no attention to “bonds” but only care about the position of
atoms. Bonds are something to be derived from the results of the such quan-
tum mechanical calculations.
Setup
The first part of this and any other script should set up the appropriate HSV
environment for the script. Here, this includes options for the model builder,
for the rendering and for the optimization that comes later. It is particularly
important to note that one should draw with explicit hydrogens (hydrogens
are not added unless they are explicitly drawn). This means that for interme-
diate structures used to build up to C60, the model builder will not add inap-
propriate intermediate hydrogens to the dangling valencies.
58 Chapter 6
Examples
menu-build-model-build
create-atom 6
set-bond 3 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 4 1 1 2 a
menu-build-model-build
set-bond 5 1 1 1 a ; set ring-closure bond
menu-build-model-build
select-atom 1 1 ; select each of the five atoms
select-atom 2 1
select-atom 3 1
select-atom 4 1
select-atom 5 1
color-selection red ; color them red
select-none ; de-select everything
60 Chapter 6
Examples
create-atom 6
set-bond 7 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 7 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 8 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 8 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 9 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 9 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 10 1 1 2 a
menu-build-model-build
create-atom 6
set-bond 10 1 1 2 a
menu-build-model-build
set-bond 11 1 19 1 a
set-bond 12 1 14 1 a
set-bond 13 1 16 1 a
set-bond 15 1 18 1 a
set-bond 17 1 20 1 a
create-atom 6 ; build fourth tier
set-bond 11 1 1 2 a
create-atom 6
set-bond 12 1 1 2 a
create-atom 6
set-bond 13 1 1 2 a
create-atom 6
set-bond 14 1 1 2 a
create-atom 6
set-bond 15 1 1 2 a
create-atom 6
set-bond 16 1 1 2 a
create-atom 6
set-bond 17 1 1 2 a
create-atom 6
set-bond 18 1 1 2 a
create-atom 6
set-bond 19 1 1 2 a
create-atom 6
set-bond 20 1 1 2 a
set-bond 21 1 22 1 a ; tier of five pentagons
set-bond 23 1 24 1 a
set-bond 25 1 26 1 a
set-bond 27 1 28 1 a
set-bond 29 1 30 1 a
menu-build-model-build
create-atom 6 ; fifth tier
set-bond 21 1 1 2 a
create-atom 6
set-bond 22 1 1 2 a
create-atom 6
set-bond 23 1 1 2 a
create-atom 6
set-bond 24 1 1 2 a
create-atom 6
set-bond 25 1 1 2 a
create-atom 6
set-bond 26 1 1 2 a
create-atom 6
set-bond 27 1 1 2 a
create-atom 6
set-bond 28 1 1 2 a
create-atom 6
set-bond 29 1 1 2 a
create-atom 6
set-bond 30 1 1 2 a
menu-build-model-build
set-bond 32 1 34 1 a
set-bond 33 1 36 1 a
set-bond 35 1 38 1 a
set-bond 37 1 40 1 a
set-bond 31 1 39 1 a
create-atom 6
set-bond 31 1 1 2 a
create-atom 6
set-bond 32 1 1 2 a
create-atom 6
62 Chapter 6
Examples
set-bond 33 1 1 2 a
create-atom 6
set-bond 34 1 1 2 a
create-atom 6
set-bond 35 1 1 2 a
create-atom 6
set-bond 36 1 1 2 a
create-atom 6
set-bond 37 1 1 2 a
create-atom 6
set-bond 38 1 1 2 a
create-atom 6
set-bond 39 1 1 2 a
create-atom 6
set-bond 40 1 1 2 a
menu-build-model-build
set-bond 41 1 42 1 a
set-bond 43 1 44 1 a
set-bond 45 1 46 1 a
set-bond 47 1 48 1 a
set-bond 49 1 50 1 a
create-atom 6
set-bond 41 1 1 2 a
set-bond 49 1 51 1 a
create-atom 6
set-bond 42 1 1 2 a
set-bond 44 1 52 1 a
create-atom 6
set-bond 43 1 1 2 a
set-bond 46 1 53 1 a
create-atom 6
set-bond 45 1 1 2 a
set-bond 48 1 54 1 a
create-atom 6
set-bond 47 1 1 2 a
set-bond 50 1 55 1 a
menu-build-model-build
create-atom 6
set-bond 51 1 1 2 a
create-atom 6
set-bond 52 1 1 2 a
create-atom 6
set-bond 53 1 1 2 a
create-atom 6
set-bond 54 1 1 2 a
create-atom 6
set-bond 55 1 1 2 a
menu-build-model-build
set-bond 56 1 57 1 a
set-bond 57 1 58 1 a
set-bond 58 1 59 1 a
set-bond 59 1 60 1 a
set-bond 60 1 56 1 a
menu-build-model-build
64 Chapter 6
Examples
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
rotate-molecules x 5
Zoom Structure
We now switch back to a sticks structure and zoom in on the molecule for
effect. We see a perspective picture as we zoom.
render-method sticks
align-viewer z ; view molecule along z axis
front-clip 0 ; don’t let it get clipped
show-perspective true ; pretty perspective view
translate-view 0 0 1 ; translate 1 Angstrom in Z
translate-view 0 0 1 ; repeat according to taste
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 1
translate-view 0 0 -30 ; go back where we were
show-perspective false ; turn off for other renderings
66 Chapter 6
Catalog of HSV’s and Direct Script Commands
For variables the next line describes the type of variable it is while for com-
mands the argument list is described. The third line of each entry gives a brief
description of the entry. These entries are the result of running the script com-
mand, print-variable-list, which is the final arbiter of the complete list of
script commands. The list of menu activations is left off this list since they
can be inferred from HyperChem by just looking at its menus. Alternatively,
the menu activations are described in the HyperChem Reference Manual.
abinitio-buffer-size: Variable, Read/Write.
Type: integer in range (1 .. 32767).
Two electron integral buffer size.
abinitio-calculate-gradient: Variable, Read/Write.
Type: boolean.
Enable Ab Initio gradient calculation (Single Point only).
abinitio-cutoff: Variable, Read/Write.
Type: float in range (0 .. 1e+010).
Two electron integral cutoff.
abinitio-d-orbitals: Variable, Read/Write.
Type: boolean.
Either five (False) or six (True).
abinitio-direct-scf: Variable, Read/Write.
Type: boolean.
Enable Ab Initio Direct SCF calculation.
abinitio-f-orbitals: Variable, Read/Write.
Type: boolean.
Either seven (False) or ten (True).
abinitio-integral-format: Variable, Read/Write.
Type: enum(raffenetti, regular).
Either regular or raffenetti.
abinitio-integral-path: Variable, Read/Write.
Type: string.
Path for storing integrals.
abinitio-mo-initial-guess: Variable, Read/Write.
Type: enum(core-hamiltonian, projected-huckel, projected-cndo, pro-
jected-indo).
Either core-hamiltonian, projected-huckel, projected-cndo, projected-
indo.
abinitio-mp2-correlation-energy: Variable, Read/Write.
Type: boolean.
Enable Ab Initio MP2 correlation energy.
abinitio-mp2-frozen-core: Variable, Read/Write.
Type: boolean.
Enable Ab Initio MP2 frozen core.
abinitio-scf-convergence: Variable, Read/Write.
Type: float in range (0 .. 100).
SCF Convergence for Ab Initio.
abinitio-use-ghost-atoms: Variable, Read/Write.
Type: boolean.
Include or ignore ghost atoms.
accelerate-scf-convergence: Variable, Read/Write.
Type: boolean.
Whether to use DIIS procedure.
add-amino-acid: Command.
Arg list: string.
String-1 gives the name of an amino acid residue to add to the system.
add-nucleic-acid: Command.
68 Chapter 6
Catalog of HSV’s and Direct Script Commands
70 Chapter 6
Catalog of HSV’s and Direct Script Commands
72 Chapter 6
Catalog of HSV’s and Direct Script Commands
74 Chapter 6
Catalog of HSV’s and Direct Script Commands
execute-string: Command.
Arg list: string.
Execute the string variable as a script.
exit-script: Command.
Arg list: (void).
Exit the current script.
explicit-hydrogens: Variable, Read/Write.
Type: boolean.
Whether hydrogens are to be drawn explicitly.
export-dipole: Variable, Read/Write.
Type: boolean.
Whether or not to export dipole moment data to .EXT file.
export-ir: Variable, Read/Write.
Type: boolean.
Whether or not to export IR data to .EXT file.
export-orbitals: Variable, Read/Write.
Type: boolean.
Whether or not to export orbital data to .EXT file.
export-property-file: Command.
Arg list: string.
Writes properties to the named file.
export-uv: Variable, Read/Write.
Type: boolean.
Whether or not to export UV data to .EXT file.
factory-settings: Command.
Arg list: (void).
Reset chem to its out-of-the-box state.
field-direction: Variable, Read/Write.
Type: integer in range (1 .. 3).
direction (X,Y or Z) of the static electric field applied to the system
field-strength: Variable, Read/Write.
Type: float in range (-1000 .. 1000).
strength (a.u.) of the static electric field applied to the system
file-diff-message: Command.
Arg list: string, string, string, string.
Compare file1 to file2; if they are the same say string3, else say string4.
file-format: Variable, Read/Write.
Type: string.
The molecule file format.
file-needs-saved: Variable, Read/Write.
Type: boolean.
Whether the current system needs to be saved.
front-clip: Variable, Read/Write.
Type: float.
Set front clipping plane.
global-inhibit-redisplay: Variable, Readonly.
Type: boolean.
Whether redisplay of the system is inhibited (readonly)
gradient-x: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the X direction
gradient-y: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the Y direction
gradient-z: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Molecular gradient in the Z direction
76 Chapter 6
Catalog of HSV’s and Direct Script Commands
78 Chapter 6
Catalog of HSV’s and Direct Script Commands
80 Chapter 6
Catalog of HSV’s and Direct Script Commands
82 Chapter 6
Catalog of HSV’s and Direct Script Commands
84 Chapter 6
Catalog of HSV’s and Direct Script Commands
86 Chapter 6
Catalog of HSV’s and Direct Script Commands
Type: integer.
The number of selected atoms.
selection-color: Variable, Read/Write.
Type: enum(ThickLine, Black, Blue, Green, Cyan, Red, Violet, Yellow,
White).
How to display the selection.
selection-target: Variable, Read/Write.
Type: enum(Molecules, Residues, Atoms).
The type of target for selection operations.
selection-value: Variable, Readonly.
Type: float.
The value of the current selection (bond length, angle, etc).
semi-empirical-method: Variable, Read/Write.
Type: enum(ExtendedHuckel, CNDO, INDO, MINDO3, MNDO, AM1,
PM3, ZINDO1, ZINDOS, MNDOd, TNDO).
The type of semi-empirical computation to perform.
serial-number: Variable, Readonly.
Type: string.
The serial number of this copy of HyperChem, read-only.
set-atom-charge: Command.
Arg list: float in range (-100 .. 100).
Float-1 provides the charge for the currently selected atom(s).
set-atom-charges-to-formal: Command.
Arg list: (void).
Sets all atom charges to the value of formal charge.
set-atom-type: Command.
Arg list: string.
String-1 provides the type for the currently selected atom(s).
set-bond: Command.
Arg list: integer, integer, integer, integer, enum().
Set bond between (iat1, imol1) and (iat2, imol2) to be bond type.
set-bond-angle: Command.
Arg list: float angle in range (0 .. 180).
Set the bond angle for the current selection.
set-bond-length: Command.
Arg list: float in range (0 .. 3200).
Set the bond length for the current selection.
set-bond-torsion: Command.
Arg list: float angle in range (-360 .. 360).
Set the torsion angle for the current selection.
set-velocity: Command.
Arg list: .
Set the velocity for the selected atoms.
show-aromatic-rings-as-circles: Variable, Read/Write.
Type: boolean.
Whether aromatic rings are shown with circles or dotted bonds
show-axes: Variable, Read/Write.
Type: boolean.
Whether to display inertial axes.
show-dipoles: Variable, Read/Write.
Type: boolean.
Whether to display dipole.
show-gradient-vectors: Variable, Read/Write.
Type: boolean.
Show atomic gradient vectors
show-hydrogen-bonds: Variable, Read/Write.
Type: boolean.
Whether hydrogen bonds are displayed.
88 Chapter 6
Catalog of HSV’s and Direct Script Commands
stop-logging: Command.
Arg list: (void).
Don't log computation results any more.
stretch-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
switch-to-user-menu: Command.
Arg list: (void).
Change menu to the user customized menu.
tndo-version: Variable, Read/Write.
Type: integer in range (1 .. 2).
1, 2, etc. as versions of TNDO
toggle: Command.
Arg list: string.
Invert value of boolean variable.
torsion-energy: Variable, Readonly.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
total-energy: Variable, Read/Write.
Type: float in range (-1e+010 .. 1e+010).
Results from backend computation.
translate-merged-systems: Variable, Read/Write.
Type: boolean.
Should newly merged/pasted molecules be translated off to one side?
translate-selection: Command.
Arg list: float, float, float.
Translate the selection by (dx, dy, dz)
translate-view: Command.
Arg list: float, float, float.
Translate the view by (dx, dy, dz).
translate-whole-molecules: Variable, Read/Write.
Type: boolean.
Select translation of entire molecule.
uhf: Variable, Read/Write.
Type: boolean.
Perform UHF(true) or RHF(false) calculation.
un-select-atom: Command.
Arg list: integer, integer.
Un-selects atom int-1 in molecule int2. Honors selection-target.
un-select-residue: Command.
Arg list: integer, integer.
Un-selects residue int-1 in molecule int-2, disregarding selection-target.
unconstrain-bond-angle: Command.
Arg list: (void).
Remove any angle constraint for the three currently selected atoms.
unconstrain-bond-length: Command.
Arg list: (void).
Remove any constraints on two currently selected atoms.
unconstrain-bond-torsion: Command.
Arg list: (void).
Remove any torsion constraint for the four currently selected atoms.
use-auxilliary-basis: Variable, Read/Write.
Type: boolean.
As oppposed to numerical integration
use-electric-field: Command.
Arg list: unregistered.
use an applied electric field
90 Chapter 6
Catalog of HSV’s and Direct Script Commands
92 Chapter 6
Catalog of HSV’s and Direct Script Commands
94 Chapter 6
Chapter 7
Type 2 (Tcl/Tk) Scripts
Introduction
This chapter describes a new scripting language for HyperChem that appears
for the first time in Release 5.0. This language is called the Tool Command
Language or just Tcl (“tickle”) for short. Tcl was developed by Professor
John Ousterhout and his students at the University of California, Berkeley
and placed in the public domain. Hypercube has build the language directly
into the HyperChem product. Tcl is a general purpose, but relatively simple,
interpreted scripting language. It is embeddable. That is, one can extend the
core Tcl language with additional commands; Hypercube has imbedded the
full HyperChem Command Language (Hcl) into Tcl. This makes it an
extremely powerful language for molecular modeling. A HyperChem script
can now be made to do almost anything you wish with a relative modest
amount of programming.
Since Tcl is imbeddable, it commonly comes with an extra set of commands
that allow it to be used for building graphical user interfaces (GUI’s). The
extra module is called the Toolkit (Tk) and the combination is called Tcl/Tk.
Within HyperChem it might be called Tcl/Tk/Hcl but we simply refer to it as
Tcl/Tk (or just Tcl when we are not concerned with graphical elements).
Because the Tcl/Tk/Hcl combination is so powerful it is now possible to write
whole graphical applications as simple scripts. They can be written quickly
and they can be debugged quickly since Tcl is an interpreted language. One
might first think that a scripting language is just a way of customizing Hyper-
Chem but there are many situations where Tcl can be used to write completely
new applications, reusing whatever functionality HyperChem conveniently
can provide. In other situations Tcl is a convenient glue language for interfac-
ing HyperChem to your own applications, possibly written in C, C++, or For-
tran. HyperChem contains many capabilities that you do not need or want to
replicate, but can just use - via this new scripting capability.
95
Elements of Tcl
Elements of Tcl
This manual cannot be a tutorial or reference for Tcl! The language is exten-
sive and competent Tcl programmers must obtain the appropriate reference
books and materials as with any other programming language. Nevertheless,
with a few ideas described here and the examples that are provided, you
should be able to write your first Tcl/Tk program and can begin to extend
HyperChem, in some useful way, for your own purposes. Appendix B con-
tains a very brief outline of the Tcl commands.
The obvious way to start learning the language is through books on the sub-
ject or through user groups and other material on the Internet and World Wide
Web.
Books
The obvious book to use is the one by Ousterhout himself. It is the oldest,
however, and may not be up to date compared with the latest releases of the
software.
• John K. Ousterhout, Tcl and the Tk Toolkit, 1994, Addison-Wesley,
Reading, Mass., ISBN 0-201-6337-X.
• Brent Welch, Practical Programming in Tcl and Tk, Prentice Hall, 1994.
• Eric F. Johnson, Graphical Applications with Tcl & Tk, 1996, M&T
Books, New York, N.Y., ISBN 1-55851-471-6.
Internet
Tcl resources are also readily available on the internet. The Usenet news-
group comp.lang.tcl may be useful to you. Some of the WWW sites where Tcl
resources are available are:
• http://www.sunlabs.com:80/research/tcl/
• http://www.sco.com/Technology/tcl/Tcl.html
• http://www.elf.org/tcltk-man-html/contents.html
96 Chapter 7
Elements of Tcl
What is Tcl?
The Tcl language is an interpreted scripting language that, after you are famil-
iar with it, is really quite simple and easy to use. However, to chemists and
those with limited programming experience outside C and Fortran, it may
seem somewhat strange to begin with. The language may seem to you to be
very oriented toward strings rather than numbers, but this is perhaps one of
its strengths.
Command Substitution
This allows you to use the result of one command (a string) as an argument
in another command. Thus,
set y [expr $x + 0.5]
is the way to set y to the value of 4.0, or in general the way to perform arith-
metic. The square brackets invoke command substitution, i.e. everything
inside the square brackets is evaluated as a separate Tcl script and the result
of the script is substituted in place of the bracketed command.
Tk
The Tk commands that are added to Tcl have to do with creating and using a
set of widgets that appear in a window that appears whenever you invoke a
Tcl script (unless you place the Tcl command, TclOnly, at the start of the
script). The widgets include Labels, Text Boxes, Buttons, Menus, Frames,
Scales, Radio Buttons, Check Boxes, List Boxes, etc. A widget is created by
a command as follows:
<widget-type> <widget-name> <argument1> ...
The widget name traditionally starts with a “dot”. For
example, a button is created as follows:
button .b -text “Push Me” -command { <action> }
This button with the text “Push Me” on it will appear in the GUI and will
cause the Tcl command <action> to be executed when it is pushed.
98 Chapter 7
Hcl Embedding
A necessary Tk command in a Tcl script is the one which lays out the widgets.
This pack command,
pack .b
lays out each of its widget arguments in the window, in the order in which the
arguments are named. By default a vertical ordering is used.
Hcl Embedding
Finally, Type 2 or Tcl/Tk scripts can all execute any of the HyperChem script
commands in the HyperChem Script language (Hcl). Within a Tcl script these
Hcl commands are divided into two types:
• Executable command - hcExec
• HSV Query - hcQuery
hcExec
The Tcl command for executing a Hcl command is hcExec. For example,
hcExec “do-molecular-dynamics”
hcExec “window-color green”
hcExec “menu-file-open”
hcExec “query-value window-color”
This command can be used to execute any Hcl script, including menu activa-
tions, direct commands, and any HSV read or write. However, an HSV read
such as, “query-value window-color”, will place the return message into a
HyperChem dialog on the screen as if it was a normal Hcl script and not return
anything to the Tcl script. The string that is returned from any hcExec com-
mand is always the empty string, “”. If one wants a Tcl script to manipulate
and use HSV results from HyperChem then the hcQuery command should be
used.
hcQuery
The Tcl command for querying HyperChem for the value of an HSV is
hcQuery. For example,
set x [hcQuery window-color]
or
set x [hcQuery “window-color”]
The quotes are optional in this context. The hcQuery command is a normal
Tcl call and returns a string as it should. Thus, if one queries an integer value,
a string is returned that represents the integer; everything is consistent. For
example, if the number of atoms in molecule 3 is requested,
set number_atoms [hcQuery “atom-count 3”]
then this value can be later used as in the following:
set twice_number_atoms [expr $number_atoms * 2]
Examples
While we have already seen a couple of very simple Tcl scripts in earlier
chapters, this section describes three examples to help you get started in pro-
gramming Tcl/Tk. The best way to learn the language is to use it. After under-
standing these examples, you should try a few scripts yourself. Obviously, if
you are to become relatively expert in this subject you will need to obtain
some books on Tcl or get assistance through the Internet in understanding the
full syntax and semantics of the language.
100 Chapter 7
Examples
the variable. This is what we have done here; we have bound the variable
natoms to the entry widget.
The next widget is just a button widget as we have discussed above. When the
button is pushed, it executes the Tcl command,
set natoms [hcQuery atom-count]
which assigns a value to natoms that is the result of the query to HyperChem
for the value of the HSV, atom-count (the elimination of quotation marks
around atom-count is deliberate to show that they are optional). Now, atom-
count is a vector and since we have left off the index describing the molecule
number, i.e. the specific component of the vector, all vector components will
be returned. If there are two molecules in the workspace, we will get two
components returned, etc. Because natoms is bound to the entry widget, the
value returned from pushing the button will appear in the entry widget.
Finally, the two widgets must be packed, i.e. they must be laid out on the win-
dow. The packing mentions the button first and then the entry so that this is
the order in which they appear in the window. The default layout scheme is
to have them arranged vertically. The result of pushing the button is thus:
The title at the top of the Tcl/Tk window is the title of the script that has been
executed. Only one molecule is present so only the first component of the
vector is returned. If the Hcl script command, query-response-has-tag false,
had been executed in the Tcl script prior to the query for atom-count, then the
Tcl/Tk entry in the window would only show “8” as the tag, atom-
count(1)=, would have been eliminated.
To elaborate on this kind of script, you simply need to add more widgets and
perform more complicated actions when GUI elements like buttons are
pressed.
The Tcl script for this calculation will now be described. The first part of the
script is associated with setting up the eight label widgets for the text describ-
ing the four values and for the four values themselves.
102 Chapter 7
Examples
Labels
We are going to use labels to describe everything in this window apart from
the button. The labels need to be laid out both horizontally and vertically. The
easiest way to do this is to place labels horizontally into a frame and then
arrange the frames vertically. We use a simple flat label for the text describing
which dipole quantity we are talking about and a label with a relief ridge
around it for the showing the value. Thus, the first frame is just:
frame .f1
label .f1.l1 -text "x component" -width 20
label .f1.l2 -textvariable xdipole -width 20 -relief ridge
pack .f1.l1 .f1.l2 -side left
The label .l1, for example, is a component of the frame .f1 as indicated by the
notation .f1.l1. The packing is done horizontally starting at the left of the win-
dow. This first frame is for the variable that we have called xdipole, the x-
component of the dipole moment. The other three frames are identical:
frame .f2
label .f2.l1 -text "y component" -width 20
label .f2.l2 -textvariable ydipole -width 20 -relief ridge
pack .f2.l1 .f2.l2 -side left
frame .f3
label .f3.l1 -text "z component" -width 20
label .f3.l2 -textvariable zdipole -width 20 -relief ridge
pack .f3.l1 .f3.l2 -side left
frame .f4
label .f4.l1 -text "total" -width 20
label .f4.l2 -textvariable totdipole -width 20 -relief
ridge
pack .f4.l1 .f4.l2 -side left
Finally, we pack the four frames from top to bottom. We will use a slightly
modified call to pack here, called the “configure” option which allows more
formatting which, in this case, we use to add a little more padding between
the frames.
pack configure .f1 .f2 .f3 .f4 -pady 10
Button
The next part of the code describes the button and the action taken when the
button is pressed. The button is called .b and the action is everything between
the opening brace on the first line and the closing brace on the last line. The
first thing that is done is to execute a Hcl command to see that the value we
want comes back without a tag that would interfere with its direct use in Tcl
commands. We then initialize the component values of the dipole moment we
are going to calculate, and initialize the loop counter i. We then get the count
of the number of atoms in molecule 1 for the loop over atoms. The script we
are using here is limited to calculating only the dipole moment of molecule 1.
It is an exercise for the reader to extend this to calculate the dipole moment
of the whole molecular system when it has more than one molecule in it. The
loop is then entered.
button .b -text "Calculate Dipole Moment" -command {
hcExec "query-response-has-tag false"
set xdipole 0
set ydipole 0
set zdipole 0
set i 0
set natoms [hcQuery "atom-count 1"]
while { $i <$natoms } {
incr i 1
The principal task inside the loop is to get the coordinates and charge of each
atom and to multiple them together, accumulating them as we go through the
loop. The charge is straight-forward as the first line below indicates. How-
ever, the coordinates of an atom come back as a string representing the three
x,y,z components separated by commas. This string, referred to here as sz,
must be parsed to extract the individual components which are placed in
arrays x, y, and z. The parsing is accomplished with string commands that
extract the length of a string (string length), look for particular substrings such
as “,” starting at the beginning of the string (string first), extract a substring
104 Chapter 7
Examples
out of a string (string range), search a string from the end to the beginning
looking for a substring (string last), or trim leading blanks off of a string
(string trimleft).
set charge($i) [hcQuery "atom-charge($i,1)"]
set sz [hcQuery "coordinates($i,1)"]
set sz_length [string length $sz]
set comma1 [string first "," $sz]
set x($i) [string range $sz 0 [expr $comma1 - 1] ]
set x($i) [string trimleft $x($i)]
set comma2 [string last "," $sz]
set y($i) [string range $sz [expr $comma1 + 1] [expr $comma2 - 1] ]
set y($i) [string trimleft $y($i)]
set z($i) [string range $sz [expr $comma2 + 1] $sz_length ]
set z($i) [string trimleft $z($i)]
This parsing may seem a bit difficult but this is about the worst that it ever
gets. Finally, the charges and coordinates are multiplied and accumulated.
Once outside the loop, the dipole moment components are converted to
Debyes and then the total is computed from the components.
106 Chapter 7
Chapter 8
DDE Interface to HyperChem
Introduction
This chapter describes the basics of a lower-level Dynamic Data Exchange
(DDE) interface to HyperChem and illustrates it with interactions between
Microsoft Word or Microsoft Excel and HyperChem.
107
Basic Properties of DDE
Visual Basic, because these are very prominent programs of their class not
because identical interfaces could not be demonstrated for other word proces-
sors, spreadsheets, etc.
There are indications that Microsoft might eventually replace DDE with
something referred to as OLE Automation. Essentially identical consider-
ations would really apply to this new approach compared with the discussions
given below for DDE. Nevertheless, a newer version of HyperChem might
some day be needed to replace HyperChem’s current use of DDE with OLE
Automation. There are no indications that Microsoft will abandon its use of
DDE anytime in the near future.
108 Chapter 8
DDE Interface to Microsoft Word
DDE_INITIATE
This message, broadcast by a client, requests a conversation with an applica-
tion on a topic. Hyperchem will respond if the application is “HyperChem”
and the topic is “System”.
DDE_ EXECUTE
This is the message sent by a client to HyperChem to have it execute a piece
of text corresponding to a script command. Thus the content of such a mes-
sage might be, “window-color green” or “do-molecular-dynamics” to
cause the background HyperChem window to turn green or to initiate a
molecular dynamics trajectory.
DDE_ REQUEST
This message type is the traditional client request for a piece of data. The item
named in the request is the data being requested, such as “window-color”,
“scf-binding-energy”, etc.
DDE_ ADVISE
This message type is sent when the client is requesting a hot link for an item.
This means that the server will return an HSV automatically on the hot link
whenever the data representing the HSV changes within HyperChem.
These ideas can be illustrate with simple Excel and Word macros or, as in the
next chapter, by simple Visual Basic Programs.
Chem screen. This example has very little chemical meaning but it is visual
and easily seen when you try it. It is characteristic of hundreds of other avail-
able HSV’s that do have chemical meaning and it is an example of an HSV
that is both readable and writable. You should be able to extrapolate from this
trivial example, that illustrates the basic idea, to examples that perform more
meaningful chemistry in line with your own teaching or research interests.
What we are going to do is add two buttons to the text that you can click on
to effect actions in HyperChem. Let us first of all create two Word Macros.
Word comes with a dialect of Word Basic that you can use to customize Word
and write macros. These macros are then associated with a particular template
file (*.dot). When that template is in use, these macros are available.
43. Select the <Tools/Macro...> menu item and create a macro with the
name, RedMacro. That is, type RedMacro in the text box, “Macro
Name”, and choose a convenient template file to use for “Macros Avail-
able In:”, and then push the “Create” button.
44. Add the following Word Basic code to create the macro,
Channel = DDEInitiate(“HyperChem”, “System”)
110 Chapter 8
DDE Interface to Microsoft Word
The macro code simply initiates communication with the application, Hyper-
Chem, on the topic of System and then sends a DDE_EXECUTE message to
HyperChem containing the text that corresponds to a HyperChem script com-
mand, which here sets the background window color to red.
Next you need to implement something in the Word document that triggers
the Macro. Assuming the text cursor in the document is where you want it,
45. Select the menu item <Insert/Field...> to bring up the following dialog
box.
If you now bring up HyperChem and double click on either of the two
“buttons”, i.e. the text RED or the text GREEN inside the Word document
you will see these color changes in HyperChem.
112 Chapter 8
DDE Interface to Microsoft Word
Extended Example
The first example of Word Basic above was about as simple as one can get.
Word Basic has more programming capability than that example showed. A
slightly more elaborate example can show some of this programming capa-
bility. The following five macros that we are about to describe were generated
exactly as above and correspond to the large bold-faced type of the document
shown below:
ActivateHC
Sub MAIN
If (AppIsRunning("HyperChem") = 0) Then
LineDown
Insert "Starting HyperChem ..." + Chr$(13)
Shell "c:\hyper\chem.exe", 0
LineUp
EndIf
End Sub
Each of these macros has a MAIN subroutine. You may use additional sub-
routines below, or above, the MAIN subroutine. This macro starts Hyper-
Chem on the assumption that it is in the directory c:\hyper. Your copy
may not be in this same location. The Insert command puts text at the current
cursor and LineUp and LineDown move the cursor.
ConnectHC:
Sub MAIN
channel = DDEInitiate("HyperChem", "System")
If (channel <> 0) Then
c$ = Str$(channel)
SetDocumentVar "channel", c$
LineDown
Insert "Document <-> HyperChem connection is ready ..."
Else
LineDown
Insert "Cannot connect to HyperChem !!!"
EndIf
End Sub
The above macro starts HyperChem and stores the communication channel in
a variable that can be accessed by other macros.
ExecuteCmd
Sub MAIN
c$ = GetDocumentVar$("channel")
channel = Val(c$)
name$="c:\hyper\c60.hin"
AppMaximize "HyperChem", 1
DDEExecute channel, "open-file " + name$
DDEExecute channel, "align-viewer z"
DDEExecute channel, "align-molecule primary, x, tertiary, z"
DDEExecute channel, "menu-display-scale-to-fit"
DDEExecute channel, "zoom 1.4"
DDEExecute channel, "menu-edit-copy-image"
LineDown
EditPaste
End Sub
The above macro is an example of one that opens a file containing Buckmin-
sterfullerene (C60), manipulates it in HyperChem and then copies and pastes
it into the document.
GetData
Sub MAIN
c$ = GetDocumentVar$("channel")
114 Chapter 8
DDE Interface to Microsoft Excel
channel = Val(c$)
atom_count$ = DDERequest$(channel, "atom-count")
atomic_symbol$=DDERequest$(channel, "atomic-symbol")
LineDown
Insert atom_count$
Insert atomic_symbol$
End Sub
The above macro first retrieves the text representation of the HyperChem vec-
tor variable, atom-count, which represents the number of atoms in each mol-
ecule. The second query retrieves the atomic symbols for the atoms in the
workspace (C for Carbon, in this case).
DisconnectHC
Sub MAIN
c$ = GetDocumentVar$("channel")
channel = Val(c$)
DDETerminate channel
End Sub
This last macro terminates the connection to HyperChem.
The macros above are stored as part of a Microsoft Word TEMPLATE, not
as a part of the document. So, as long as you are using the same template, you
do not need to worry about macros: they are always in place. However, if you
move your document to another machine, or if you want to distribute it, you
must remember to move the template also. You may save a template in a DOT
file of Microsoft Word.
Install the macros and try them.
Running this macro, RED.XLM, will change the color of the HyperChem win-
dow to red. It can be run by simple hitting Ctrl-r on the keyboard (provided
Excel is running) or from the <Tools/Macro...> menu item. As in earlier
examples, we simply initiate a conversation with the application, Hyper-
Chem, on the topic, System. We then execute a DDE command that is the Hcl
script command, window-color red. A similar macro could change the color
to green but with a different keyboard accelerator such as Ctrl-g. Then, alter-
116 Chapter 8
DDE Interface to Microsoft Excel
nately hitting Ctrl-r and Ctrl-g would flash the HyperChem window from red
to green to red..., etc.
The macro DDE commands, EXECUTE and REQUEST are fundamentally
all you need to communicate with HyperChem. Other macro programming is
needed, of course, to deal with the data coming from or going to HyperChem.
Additional Macros
The Excel macro language and Excel itself provide a powerful capability in
combination with HyperChem but will not be described in detail here. The
HyperChem Getting Started and Reference manual provide additional detail
associated with the interaction between HyperChem and Excel and examples
*.XLM files have been distributed with HyperChem since its inception. The
ChemPlus product includes the code for an extensive Excel macro that makes
3D Ramachandran-like plots of the energy of a molecule versus two indepen-
dent structural variables. You should also check the Hypercube WWW site
(http://www.hyper.com) where Excel macros, along with scripts, are made
available to users of HyperChem.
118 Chapter 8
Chapter 9
DDE and Visual Basic
Introduction
This chapter describes the DDE interface between HyperChem and
Microsoft’s Visual Basic (VB). VB is chosen because it provides a very fast
way of building extensions to HyperChem. While VB is not the only tool in
its class, it is certainly one of the better ones. Some of the prejudice against
Basic as a serious programming language remains, among scientific program-
mers and others. VB, however, is a serious modern tool that can allow you to
very quickly put together applications, particularly applications involving
graphical user interfaces, in a few hours - applications that used to take weeks
or longer. For the demonstrations of the chapter, we will use Visual Basic 4.0
although earlier releases are also appropriate to use.
119
Red and Green
It is possible to lay out these linkcontrols and start from scratch or you can
just read REDGREEN.VBP from the HyperChem installation directories,
120 Chapter 9
Red and Green
What we have done here is to change the caption of Form1, the main form, to
“DDE to HyperChem” and the caption of the two command buttons to
“Red” and “Green”. We have also positioned the controls that have the
Visible property set to “true”, i.e. Text2, Command1, and Command2. We
have also changed the background color of Form1 to white and shrunk it a bit.
A running version of the program might look as follows:
Start Up (Load)
The most important code in this example is that which on start up establishes
the basic link with HyperChem and retrieves the initial color of the window
(which will be restored on exit). The following is the code that is executed
when Form1 loads,
Text1.LinkItem = "window-color"
Text1.LinkRequest
Text2.Text = Text1.Text
If Text3.LinkMode = 0 Then
Text3.LinkTopic = "HyperChem|System"
Text3.LinkItem = "window-color"
Text3.LinkMode = 1
End If
End Sub
With Visual Basic, a communication channel to HyperChem becomes asso-
ciated with a control such as one of the text boxes on the form, i.e. Text1 or
Text3. Once such a channel is set up, text being passed back and forth
between the VB application and HyperChem is stored in VB, as the text field
associated with the control, i.e. as Text1.Text or Text3.Text. These text fields
are where Hcl script commands are placed prior to their execution and where
any HSV messages coming from HyperChem end up.
122 Chapter 9
Red and Green
A Hot Link
The Text3 object in this example is used to establish a “hot link” to Hyper-
Chem, associated with LinkMode = 1. This means that whenever HyperChem
detects that window-color changes its value, from whatever source, Hyper-
Chem will notify whoever is listening of the new value. Setting LinkMode
equal to 1 establishes this hot link to HyperChem requesting a desire to listen
to the LinkItem.
The value returned to the VB application by HyperChem goes into the text
field of Text3 and this field is automatically updated whenever the value
changes in HyperChem. This placing of the new value into Text3.Text can be
detected using the routine, Text3_Change(). The code for this routine in our
example is,
Private Sub Text3_Change()
Text2.Text = Text3.Text
End Sub
This just takes the current value of the color and places it into the Text2 object
so that it is visible to the user of the VB application as part of the VB window
(form).
Execute
Next, we look at the code behind the two buttons that change the color of the
HyperChem window to Red or Green when they are “clicked”. The code for
the red command button is,
Private Sub Command1_Click()
Text1.LinkExecute ("window-color red")
Text2.Text = "window-color = Red"
End Sub
This code, simply sends a Hcl script command message to HyperChem. Here
it changes the window color to red but it could be any script command from
the HyperChem Command Language (Hcl) except that it should not be a
query of an HSV (Use LinkRequest for these). In addition, the color displayed
locally in Text2 is updated.
Unload
The final portion of this example is the code that is executed on exit from the
VB application. This is,
Private Sub Form_Unload(Cancel As Integer)
Text1.LinkExecute (Text1.Text)
End Sub
This code return the color of the HyperChem window to its original color
prior to executing the VB application. This color is still stored in Text1.Text
as per the original request on loading of the form.
A HAPI Interface to VB
The Visual Basic example above showed how to make DDE calls to Hyper-
Chem, via an object such as a text box that provides the DDE channel or link.
It is very object oriented but not an obvious way to do things for conventional
C and Fortran programmers. Nor is it immediately obvious how to transfer
binary data in this fashion.
The HAPI interface for VB consists of a set of straight-forward calls (either
for text or binary data) that can be implemented in ordinary Basic code. The
calls, such as hbExecBin which executes a binary form of a Hcl command, all
begin with “hb”. Thus hbExecTxt is the text equivalent of the above. These
and all the other HAPI calls that refer to Hcl script commands take as their
first argument a long integer, defined in the file HSV.BAS. This integer maps
to one of the many Hcl menu activations, direct commands, or HSV
read/writes. For these calls, the name of the long integer is the normal Hcl
name, e.g. window-color, but with hyphens replaced by underscores. That is,
the relevant VB name to use for HAPI calls is window_color. Thus,
Dim Value As Double
Dim Result as Long
Value = 3.5
Result = hbSetReal( dipole_moment, value, 8)
is the code which would constitute a binary write of the value 3.5 to the
HyperChem dipole moment. The integer variable “dipole_moment” is
defined in HSV.BAS. This call is really targetted at a corresponding C lan-
guage routine, hcSetReal, contained in the dynamic link library, HAPI.DLL.
The file HAPI.BAS makes the appropriate declaration to tie hbSetReal to
this DLL and should be included in all your Visual Basic applications that
wish to use the HyperChem API.
Thus, any of the HAPI calls of Chapter 11 or Appendix C can be used in
Visual Basic programs. All that is necessary is to include two files, HSV.BAS
and HAPI.BAS, in your project and to make calls to routines labelled hb...
rather than to the hc... calls of the C/C++ language or to the hf... calls of For-
124 Chapter 9
A HAPI Interface to VB
tran. Appendix C gives the details of each HAPI call including how to declare
and use them from Visual Basic.
126 Chapter 9
Chapter 10
External Tcl/Tk Interface
Introduction
Hypercube has built a Tcl/Tk interpreter directly into HyperChem Release 5.
This interface derives from Version 7.5 of Tcl and Version 4.1 of Tk. This
internal interpreter is probably the most convenient way to use Tcl/Tk in con-
junction with HyperChem, i.e. by either opening a *.tcl file or by execut-
ing a Hcl script command, read-tcl-script. There is, however, an alternative
way to use Tcl/Tk that is called the external interface.
The external use of Tcl/Tk implies that you use a Tcl/Tk program or inter-
preter that is completely separate from HyperChem and may even be of a dif-
ferent version than the one used in HyperChem. This external Tcl/Tk inter-
preter can then be augmented in a standard way to add the HyperChem Com-
mand Language (Hcl) as an embedded extension. The external Tcl/Tk pro-
gram communicates ultimately with HyperChem via Dynamic Data
Exchange (DDE). But, as a user, you need only to make “HAPI calls” just
as with the internal interpreter. That is, hcExec and hcQuery are still how you
invoke Hcl commands with external Tcl/Tk.
Why External?
The interpreter for Tcl/Tk which is built into HyperChem offers an extremely
powerful extension to the HyperChem Command Language. However there
are certain situations where you might prefer external Tcl/Tk access to Hyper-
Chem. Such situations arise when:
1. You want to connect to HyperChem from another complex application
already containing a Tcl/Tk interpreter as an extension to that applica-
tion.
127
Invoking External Tcl/Tk
2. You want your Tcl program to react to changes in HyperChem via HSV
notifications. Notifications cannot be easily defined with internal Tcl/Tk
scripting.
3. A new version of Tcl/Tk becomes available and it is not yet incorporated
into HyperChem. The new version of Tcl/Tk has enhancements that are
necessary to you.
4. The internal implementation of Tcl/Tk does not perform correctly for
some non-regular scripts or you encounter a devastating bug.
Hypercube has implemented a Tcl/Tk extension “package” (called the
THAPI package) that you can load into a standard Tcl/Tk interpreter and use
to communicate with HyperChem through regular HAPI calls. This chapter
describes this extension.
128 Chapter 10
The THAPI package
In addition to this console window, into which you type Tcl/Tk commands,
you obtain another window where Tk widgets get placed after you request
them from the Console window.
Commands
THAPI, based on the full HAPI interface of the last chapters of this book,
defines a dozen new Tcl/Tk commands that enable you to call the most impor-
tant features of the HyperChem Application Programming Interface from
your Tcl/Tk external program. Further details on these commands is available
in conjunction with a description of the HAPI calls in Appendix C. THAPI is
a subset of HAPI.
The THAPI commands divide up into commands associated with connecting
to HyperChem, the execution of Hcl commands, a utility copy command,
HSV notifications, time-outs, and error processing.
The THAPI commands, which are case sensitive, are:
hcConnect <instance>
This command connects a Tcl/Tk program to HyperChem so that the other
THAPI commands can be executed. It must be called before any other THAPI
commands and after the command loading THAPI. The argument is optional
but can be used to connect to a specific instance of HyperChem when multiple
instances exist simultaneously.
hcDisconnect
This command disconnects the Tcl/Tk program from HyperChem.
hcExec hcl_script_command
This command passes its argument to HyperChem as a normal Hcl script
command. The argument may need to be enclosed in quotes if it itself has
arguments.
hcQuery hsv
This command queries HyperChem for the value of an HSV and returns it as
a string
130 Chapter 10
The THAPI package
hcNotifyStart hsv
This command requests a notification of the HSV corresponding to the argu-
ment. If the HSV changes in HyperChem its new value will sent to the Tcl/Tk
script. The new value can be made available to the script via hcGetNotify-
Data. No call-back routines are available in scripts so that the execution of
hcGetNotifyData must be periodically scheduled via a Tcl command like
after (see the monitor example).
hcNotifyStop hsv
This command requests that the notification of changes in an HSV be termi-
nated.
hcGetNotifyData notification_data
This command will place the result of the first notification from an internal
buffer into the argument, notification_data. The command returns the HSV
corresponding to the original notification (or NULL) so that you can check
whether a notification has happened or not and whether it is the right one.
hcLastError error_text
This command places text describing the last error in error_text. It returns the
following values:
errNO_ERROR = 0 No error
errFATAL = 1 Fatal error of unknown origin
errNON_FATAL = 2 Non fatal error of unknown origin
hcSetErrorAction action_flag
This command sets the behavior flag that will be used, upon recognition of an
error. The arguments are as follows:
errACTION_NO = 0 No action on any error
hcGetErrorAction
This command retrieves the behavior flag showing how errors will be acted
upon. The values returned are the same as the values set by hcSetErrorAction.
A Notification Example
Notification is a powerful capability associated with HyperChem. It allows
you to request a live link to HyperChem such that you are notified of any
change in an indicated variable or data structure. This allows many capabili-
ties that would not be possible otherwise. In particular, this makes it possible
to have very intimate connections between your custom capability and the
“guts” of HyperChem without getting into source code details. It is not
required to know the intimate details of how HyperChem operates but only
that it must be operating in certain ways. Thus, for example, one would know
that at the heart of optimizations are energy and gradient changes without
worrying about what specific algorithm is being used by HyperChem. You
can just ask to monitor these changes without having to dive into code, algo-
rithms, etc.
Most external Tcl scripts are identical with internal Tcl scripts. A notable
exception is that notifications cannot be processed by internal Tcl scripts
(HyperChem does not send messages to itself!). Notifications are normally
associated with external programs like Microsoft Excel, Word or Visual
Basic or external applications build in C, C++, and Fortan. If you intend to
build software in Tcl that requires notification, you will need to do it with
external Tcl/Tk. The example of this section is one that monitors and plots
values of any HSV that is of potential interest to you. A specific example
would be to monitor the energy or rms gradient of a structure optimization.
The Tcl script is executed from the Console as follows:
132 Chapter 10
A Notification Example
The source command begins the execution of *.tcl file as the next com-
mand. In this case it is monitor.tcl which sets up a Tk window that look
as follows:
The Tcl code for setting up this window can be investigated by looking at the
file installed from the CD-ROM but here we want to focus on the code asso-
ciated with the notifications. The code behind the button, “Start New Plot”
leaving out everything unessential to the notifications is,
if {$Prevhsv != -1} {
hcNotifyStop $Prevhsv
}
hcNotifyStart $hsv
set Prevhsv $hsv
if {$IsMonitor == -1} {
monitor
set IsMonitor 1
}
}
When the button is pushed, any previous notifications are first cancelled.
Then a new notification is requested for the new HSV which shows in the
window as total-energy and which is stored in the value, $hsv. A call is then
made to a proc called monitor which will do the monitoring.
proc monitor {} {
global hsv interval
set name [hcGetNotifyData a]
if { $name == $hsv } {
<TAKE $A, THE TOTAL ENERGY POINT AND SAVE FOR PLOTTING>
}
# monitor restarts after plotting
after $interval [list monitor]
}
The code associated with collecting and plotting the notification data has been
abstracted away. The monitoring is done by executing the command, hcGet-
NotifyData., to see if there really is any notification data available, i.e. the
command returns the name of the HSV being monitored. If there was a noti-
fication, it is dealt with. If not, or there was data and it has been dealt with, a
call is made to re-schedule a return to monitor after $interval milliseconds. In
general, this means the process now goes to sleep and wakes up later to see if
any notifications have arrived.
If you had connected the monitor example to HyperChem and then performed
an optimization, the graph displayed in the TK window might look something
like the following:
134 Chapter 10
A Notification Example
136 Chapter 10
Chapter 11
The HAPI Interface to HyperChem
Introduction
This chapter describes the HyperChem Application Programming Interface
(HAPI or HyperChem API), the system library developed by Hypercube to
simplify the task of communication with HyperChem. Instead of sending,
posting and processing Windows DDE messages, an application makes HAPI
calls and uses a set of functions provided by the API to manage the conversa-
tion between HyperChem and your external program. This is a high-level
replacement for communicating via a lower-level DDE call.
The HyperChem API performs the task of packing and unpacking the data
coming to and from messages so that arguments to HAPI calls can be in a
form that you are familiar with and calls to the HAPI library become a simple
extension to normal C or Fortran programming. The sophisticated error han-
dling built into the HyperChem API guarantees robustness of the communi-
cation. While it is possible for applications to communicate with HyperChem
without HAPI calls (as described in chapters 8 and 9, for example), it is not
the recommended procedure. The HAPI library is meant for users intending
to write their own sophisticated interfaces or back ends to the HyperChem
front end. Moreover, some applications, such as most Fortran programs run-
ning under Windows 95 and NT, cannot easily interface to HyperChem with-
out the HyperChem API.
Another reason for using the set of HAPI calls rather than DDE is the com-
patibility issue. There are indications that DDE may be replaced by another
communication paradigm (OLE Automation) in future versions of
Microsoft’s operating systems. It thus might happen that Hypercube would
need to change its underlying communication protocol from DDE to another
messaging system in future releases of its HyperChem core product. Applica-
tions using the HAPI calls will preserve compatibility, while those that use a
lower-level DDE protocol might lose future compatibility.
137
Towards a Chemical Operating System
Tcl/Tk HyperChem
Scripting Your
and GUI Program
GUI
HAPI HAPI
Calls Calls
HyperChem OS
Hardware
The Components
The components of the HyperChem Application Programming Interface are:
• hc.h - This is the header file for C and C++ interfaces that define each of
the entry points for the HyperChem API.
138 Chapter 11
The HAPI Calls
void hcExit(void)
This causes immediate termination of the calling application.
Discussion
The principal call of importance here is the one that connects to HyperChem.
Prior to connecting, however, the HAPI library must have been loaded. See
below how you should load the appropriate DLL or LIB file.
Discussion
These are the text calls that send a command to HyperChem or perform a
Read/Write of a HyperChem State Variable (HSV). They correspond to calls
in the HyperChem Command Language (Hcl), i.e. they involve either a menu
invocation, e.g. menu-file-open, a direct command, e.g. do-molecular -
dynamics, an HSV write, e.g. window-color green, or an HSV read, e.g. win-
140 Chapter 11
The HAPI Calls
LPV hcQueryBin( int hsv, int indx1, int indx2, int* length)
This is the binary form for querying an HSV in HyperChem.
Discussion
The HyperChem Command Language is basically a text form for communi-
cating and exchanging data with HyperChem. For completeness and for effi-
ciency there is an equivalent binary form for all the Hcl script commands.
These can be much more effective and simpler to use in languages like For-
tran where one has to use character data to invoke normal script commands.
See the programming examples for examples of both text and binary based
communication with HyperChem.
With text based communication you use strings, like “window-color” and
“do-molecular-dynamics” to denote the HSV of interest or the direct com-
mand that you want to invoke. With binary versions of hcExec and hcQuery
you use an integer to denote the operation. The name of this integer has the
syntax, window_color or do_molecular_dynamics, for example, where an
underscore replaces the hyphen or minus sign of a Hcl text string. These inte-
gers are defined in hsv.h, hsv.fi, and hsv.bas for C and C++, Fortran, and
Visual Basic applications. Only text-based communication is available for
Tcl/Tk.
Binary Format
The binary form of a HAPI call results in a binary message being sent to
HyperChem rather than a simple text message. The format of these binary
messages is
*To make the binary message different from a text message it is required to
set the highest bit of the first field to 1.
** Arguments are also coded as binary data.
The binary code for each command is the 4-byte integer number found in
hsv.h, hsv.fi, or hsv.bas. The codes may change between different versions of
HyperChem. Three utility Tcl scripts are included on the HyperChem CD-
ROM, called cgenhsv.tcl, fgenhsv.tcl, and bgenhsv.tcl that
are capable of generating the correct hsv.h, hsv.fi, and hsv.bas files for the
version of HyperChem that you are using.
To issue a binary command the user uses, for example:
result=hcExecBin(hsv,arg,length);
in a C/C++ program, or
result=hfExecBin(hsv,arg,length)
in a Fortran program.
142 Chapter 11
The HAPI Calls
Discussion
These calls are specialized forms of hcQueryBin specific to integer variables,
vectors, and arrays. One form gets the whole vector or array at once while the
other form (Elm) gets only a single element at once.
Discussion
These calls are specialized forms of hcQueryBin specific to real variables,
vectors, and arrays. One form gets the whole vector or array at once while the
other form (Elm) gets only a single element at once. The XYZ forms are spe-
cific to Cartesian values.
int hcGetStrVecElm (int hsv, int index, char* buff, int max_length)
This calls gets a string corresponding to a particular element of a vector.
Discussion
These calls correspond very closely to the text based calls in that they convey
arguments as a string. However the HSV is represented as a binary integer not
as a string.
144 Chapter 11
The HAPI Calls
Discussion
These calls are specialized forms of hcExecBin specific to writing HSV’s for
integer variables, vectors, and arrays. One form sets the whole vector or array
at once while the other form (Elm) sets only a single element at once.
Discussion
These calls are specialized forms of hcExecBin specific to writing HSV’s for
real variables, vectors, and arrays. One form sets the whole vector or array at
once while the other form (Elm) sets only a single element at once. The XYZ
forms are specific to Cartesian values.
Discussion
These calls correspond very closely to the text based calls in that they convey
arguments as a string. However the HSV is represented as a binary integer not
as a string.
146 Chapter 11
The HAPI Calls
Discussion
These calls do block copies of data associated with an HSV of any type.
Notification Calls
int hcNotifyStart (LPSTR hsv)
This call requests a notification for an HSV.
Discussion
These calls are associated with notifications.
Memory Allocation
void * hcAlloc (size_t, n_bytes)
This allocates memory associated with the HAPI but is not recommended to
replace the normal user memory allocation routines.
Discussion
These calls are for memory allocation and deallocation associated with the
HAPI.
Auxiliary Calls
void hcShowMessage (LPSTR message)
This call displays a message box with the message provided.
Discussion
Further details on these calls are available in Appendix C.
148 Chapter 11
How to use the HyperChem API
To make the HyperChem API available to your application, you must have
the requisite header files, load the HAPI.DLL properly, and then make a
proper connection of your program to HyperChem. Alternatively, it is possi-
ble to use a library file, HAPI.LIB, link it with your application and use load-
time dynamic linking. Though it is possible for you to make use of he Hyper-
Chem API with a variety of compilers and development systems through
intelligent use of these tools, inspecting our header files, etc., we believe it
makes sense to illustrate the tools very explicitly with a very small variety of
standard environments. Thus, we have chosen to provide standard interface
source code along with the CDK so that at least for certain environments an
interface to HyperChem becomes very straight-forward. We have chosen the
following to illustrate the HyperChem API:
Nevertheless, if you must interface to the HyperChem API from another type
of application, you can use the information in this section combined with each
function’s header information to write your own code to call the API. Such
a situation might happen when you want to use other tools such as Borland
Delhi, for example.
#include "hc.h"
#include "hcload.c"
The corresponding ‘makefile’ (or project workspace) would have the form:
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#+ EXAMPLE make file +
#+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
userapp.obj : userapp.c
$(CC) $(CFLAGS) step0.c
hcload.obj : hcload.c
$(CC) $(CFLAGS) hcload.c
150 Chapter 11
How to use the HyperChem API
/* loading HAPI.DLL */
if (!LoadHAPI("hapi.dll")) {
MessageBox(hwnd,"Error loading HAPI.DLL",
"Error",MB_OK | MB_ICONSTOP);
exit(0);
}
The LoadHAPI call takes one parameter which is a file name, HAPI.DLL.
Note that the DLL can be placed in the local directory, but the most appropri-
ate place is the main Windows system directory (usually C: \WINDOWS).
LoadHAPI activates each of the functions in the DLL by making repetitive
calls to GetProcAddress, the function provided by Microsoft to get the
address of the corresponding function in the DLL:
hcExecTxt=(T_hcExecTxt*)GetProcAddress(hinst,"hcExecTxt");
if ( hcExecTxt == NULL) res=_hcLoadError("hcExecTxt",szN);
However, with load-time linking, all the HAPI functions are available for
calling as soon as the application starts. There is no need for the LoadHAPI
call.
end
What does the source inside hc.fi look like and do? It provides an INTER-
FACE (a Fortran capability of Microsoft Fortran Power Station), so the For-
tran compiler can type-check all function parameters and issue the proper
calling sequences. The source looks as follows:
INTERFACE
c------------------------------------------------------------------
c This is a Microsoft Fortran Power Station 4 Interface to CDK API
c------------------------------------------------------------------
c------------------------------------------------------------------
c Initialization & termination functions
c------------------------------------------------------------------
logical function hfInitAPI()
!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcInitAPI@0' :: hfInitAPI
end function hfInitAPI
152 Chapter 11
How to use the HyperChem API
subroutine hfExit()
!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcExit' :: hfExit
end subroutine hfExit
c-----------------------------------------------------------------
c------------------------------------------------------------------
c Text Query & Execute functions
c------------------------------------------------------------------
......................................
c-----------------------------------------------------------------
integer function hfLastError(error)
!ms$ATTRIBUTES DLLIMPORT,ALIAS: '_hcLastError@4' :: hfLastError
!ms$ATTRIBUTES C,REFERENCE :: error
character *(*) error
end function hfLastError
subroutine hfSetErrorAction(action)
!ms$ATTRIBUTES
DLLIMPORT,ALIAS:'_hcSetErrorAction@4'::hfSetErrorAction
!ms$ATTRIBUTES VALUE :: action
integer action
c------------------------------------------------------------------
c end of hc.fi
c------------------------------------------------------------------
END INTERFACE
154 Chapter 11
How to use the HyperChem API
156 Chapter 11
Examples of HAPI Calls
• The first informs the caller if there is some data that has came in as a noti-
fication message. The second copies the top-most buffer into the user
program, deallocating the buffer.
• The proper accessing by the notification agent and your user program of
a critical section of storage (the buffer area and control area) is handled
by use of semaphores, making the whole solution very robust. Tests
made under both Windows 95 and NT have shown the proper handling
of data without any loss of incoming messages, irrespective of their size.
The notification agent is useful also for those applications that cannot define
a callback (like a regular Tcl/Tk scripting application). It is also the method
used by HyperChem to avoid an event-driven programming paradigm in con-
sole applications, particularly.
C, C++
Text-based
int result;
result = hcExecTxt(“do-molecular-dynamics”);
result = hcExecTxt(“menu-file-open”);
result = hcExecTxt (“dipole moment 2.5”);
Binary-based
int result;
double value;
value = 2.5;
result = hcExecBin (do_molecular_dynamics);
result = hcExecBin (menu_file_open);
result = hcExecBin (dipole_moment, &value, 8);
Fortran
Text-based
integer result
result = hfExecTxt (‘do_molecular_dynamics’)
Binary-based
integer result
double precision value
value = 2.5
result = hfExecBin (do_molecular_dynamics)
result = hfExecBin (menu_file_open)
Visual Basic
Text-based
Dim result As Long
result = hbExecTxt (“do_molecular_dynamics”)
result = hbExecTxt (“menu-file-open”)
result = hbExecTxt (“dipole-moment 2.5”)
Binary-based
Dim result As Long
Dim value As Double
value = 2.5
result = hbExecBin (do_molecular_dynamics)
result = hbExecBin (menu_file_open)
result = hbExecBin (dipole_moment, value, 8)
158 Chapter 11
Chapter 12
Development Using the Windows API
Introduction
This chapter describes the development of “Standard” Windows programs
that interface with HyperChem. By standard we mean that these programs are
written in C and use the lower-level approach of calling the Windows Appli-
cation Programming Interface (API) directly. Such programs are said to be
developed with the System Developer Kit (SDK). This contrasts with the next
chapter which describes development of Windows programs using C++ and
the Microsoft Foundation Classes. The SDK is in some sense the hard way to
do Windows programming but it is also the most basic and flexible way to
build a Windows program and most of the commercial Windows applications
you will encounter have been written in the following fashion.
Programming Assistance
This manual is certainly not a programming manual for Windows but you
may need one. With the entering of any new area of endeavor, it is comforting
to have the right information and assistance from experts. If you are new to
159
A First Example
Language
This chapter uses the C language and the next chapter uses C++, rather than
Fortran, which is generally much more familiar to scientific programmers and
may be your language of choice. In Chapter 14 we describe how to write so-
called console programs in Fortran that can be interfaced to HyperChem.
However, for writing a normal Windows program that has a graphical user
interface, visualization, etc., Fortran is somewhat problematic and C or C++
are much to be preferred for normal Windows programming. With the
Chemist’s Developer Kit, C, C++, and VB are the languages that we antici-
pate you will be using for true “Windows-like” development. Any of the
four languages, C, C++, VB, and Fortran are appropriate for the “character-
like” programming common to most large computational chemistry mod-
ules.
A First Example
The first programming example will again be our “Red and Green” example
which is the equivalent in this manual to the common “Hello World” pro-
gramming examples that you probably have seen elsewhere.
This example is referred to as Colors and will be in its own Colors directory
from the HyperChem CD-ROM. It is assumed that you have installed Visual
C++ 4.0 and that you are working from a DOS box in Windows 95. The first
thing that you must do, as with other programming examples from this chap-
160 Chapter 12
A First Example
If you push the Red button, the HyperChem background window color will
turn red. If you push the Green button, it will turn green. The text above the
buttons indicates the current color of the HyperChem window, if its last
change came from the external application, Colors. If you change the window
from the <File/Preferences...> dialog box within HyperChem, the external
application will not know about the change (a notification operation is neces-
sary for this).
162 Chapter 12
A First Example
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam,
LPARAM lParam)
{
static HWND hwndButton[2] ;
static RECT rect ;
static int cxChar, cyChar ;
HDC hdc ;
PAINTSTRUCT ps ;
TEXTMETRIC tm ;
static char szBuff[200], szInitColor[50];
char *response;
int result;
static int connected=FALSE;
switch (iMsg)
{
case WM_CREATE :
hdc = GetDC (hwnd) ;
SelectObject (hdc,GetStockObject(SYSTEM_FIXED_FONT));
GetTextMetrics (hdc, &tm) ;
cxChar = tm.tmAveCharWidth ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;
ReleaseDC (hwnd, hdc) ;
hwndButton[0]=CreateWindow("button","Red",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
7*cxChar, 3*cyChar, 10*cxChar, 2*cyChar,
hwnd, (HMENU)0,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL) ;
hwndButton[1]=CreateWindow("button","Green",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
7*cxChar, 6*cyChar, 10*cxChar, 2*cyChar,
hwnd,(HMENU)1,
((LPCREATESTRUCT) lParam) -> hInstance,
NULL) ;
return 0;
caseWM_SHOWWINDOW :
if (!connected)
{
/* loading CDK API DLL */
if (!LoadHAPI("hapi.dll"))
{
MessageBox(hwnd,"Error loading CDK's API DLL !",
"Error", MB_OK | MB_ICONSTOP);
exit(0);
}
/* connecting to HyperChem */
if (!hcConnect(cmd_line))
{
MessageBox(hwnd,"Error connecting with HyperChem !",
"Error", MB_OK | MB_ICONSTOP);
exit(0);
}
else
{
connected=TRUE;
}
/* obtaining initial window-color from HyperChem */
response=hcQueryTxt("window-color");
lstrcpy(szInitColor,response);
hcFree(response);
wsprintf(szBuff,"%s",szInitColor);
}
return 0;
case WM_PAINT :
InvalidateRect (hwnd, &rect, TRUE) ;
hdc = BeginPaint (hwnd, &ps) ;
SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT));
SetBkMode (hdc, TRANSPARENT) ;
TextOut(hdc,cxChar,cyChar,szBuff,lstrlen(szBuff)) ;
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DRAWITEM :
case WM_COMMAND :
hdc = GetDC (hwnd) ;
SelectObject(hdc,GetStockObject(SYSTEM_FIXED_FONT));
switch (LOWORD (wParam)) {
case 0 :
164 Chapter 12
Modification of a Molecule’s Coordinates
wsprintf(szBuff,"window-color = Red");
result=hcExecTxt(szBuff);
break;
case 1 :
wsprintf(szBuff,"window-color = Green");
result=hcExecTxt(szBuff);
break;
default : ;
}
/*TextOut (hdc, cxChar, cyChar,
szBuff,lstrlen(szBuff));*/
ReleaseDC (hwnd, hdc) ;
InvalidateRect (hwnd, NULL, TRUE) ;
break ;
case WM_DESTROY :
result=hcExecTxt(szInitColor);
result=hcDisconnect();
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
}
Chem for continuous display. A more elaborate example might extend this
program to perform a geometry optimization, to execute a molecular dynam-
ics, trajectory, etc. Once again the modifications from a standard Windows
program are denoted in bold face type.
/*
* C-API Examples***********************************************
* Rotation - program to demonstrate *
* modification of coordinates in the HyperChem workspace *
****************************************************************
*/
#include <windows.h>
#include <math.h>
#include <stdio.h>
#include "hc.h"
#include "hsv.h"
char cmd_line[100];
static char *Label[] = {"Step Size",
"Total Steps"};
#define _CW(l) cxChar*(lstrlen(l)+1)
#define MAX_BUFF 200
typedef struct _ATM_COORDS { double x,y,z; } ATM_COORDS;
LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;
166 Chapter 12
Modification of a Molecule’s Coordinates
RegisterClassEx (&wndclass) ;
lstrcpy(cmd_line,szCmdLine);
windowx=280;
windowy=200;
hwnd = CreateWindow (szAppName, "Rotate",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT,
windowx,
windowy,
NULL, NULL, hInstance, NULL) ;
ShowWindow (hwnd, iCmdShow) ;
UpdateWindow (hwnd) ;
while (GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg) ;
DispatchMessage (&msg) ;
}
return msg.wParam ;
}
switch (iMsg)
{
case WM_CREATE :
hdc = GetDC (hwnd) ;
SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;
GetTextMetrics (hdc, &tm) ;
cxChar = tm.tmAveCharWidth ;
cyChar = tm.tmHeight + tm.tmExternalLeading ;
ReleaseDC (hwnd, hdc) ;
hins=((LPCREATESTRUCT) lParam) -> hInstance;
hwndLabel[0]=CreateWindow("static",
Label[0],
WS_CHILD | WS_VISIBLE,
2*cxChar,
3*cyChar,
_CW(Label[0]),
2*cyChar,
hwnd,(HMENU)101, hins, NULL);
hwndEdit[0]=CreateWindow("edit",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT,
2*cxChar,
(int)(4.5*cyChar),
10*cxChar,
7*cyChar/4,
hwnd,
(HMENU)200 ,hins, NULL);
hwndLabel[1]=CreateWindow("static",
Label[1],
WS_CHILD | WS_VISIBLE,
22*cxChar,
3*cyChar,
_CW(Label[1]),
2*cyChar,
hwnd,(HMENU)102, hins, NULL);
hwndEdit[1]=CreateWindow("edit",
NULL,
WS_CHILD | WS_VISIBLE | WS_BORDER | ES_LEFT,
22*cxChar,
(int)(4.5*cyChar),
10*cxChar,
7*cyChar/4,
hwnd,(HMENU)201 ,hins, NULL);
hwndButton[0]=CreateWindow("button",
"Spin it !",
WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,
12*cxChar,
(int)(8.5*cyChar),
168 Chapter 12
Modification of a Molecule’s Coordinates
10*cxChar,
7*cyChar/4,
hwnd,(HMENU)0,hins, NULL) ;
return 0;
case WM_SHOWWINDOW :
if (!connected) {
/* loading CDK API DLL */
if (!LoadHAPI("hapi.dll")) {
MessageBox(hwnd,
"Error loading CDK's API DLL !",
"Error", MB_OK | MB_ICONSTOP);
exit(0);
}
/* connecting to HyperChem */
if (!hcConnect(cmd_line)) {
MessageBox(hwnd,
"Error while connecting with HyperChem !",
"Error", MB_OK | MB_ICONSTOP);
exit(0);
} else {
connected=TRUE;
}
/* obtaining coordinates from HyperChem */
nMol=hcGetInt(molecule_count); // getting number of molecules
if (nMol < 1) {
MessageBox(hwnd,
"There are no molecules to play with !",
"Error", MB_OK | MB_ICONSTOP);
hcDisconnect();
exit(0);
};
nAtm=(int*)hcAlloc(nMol*sizeof(int));
// getting vector specifing number of atoms in each
// molecule
if (!nAtm) {
MessageBox(hwnd,
"Memory allocation error",
"Error", MB_OK | MB_ICONSTOP);
hcDisconnect();
exit(0);
};
if (!hcGetIntVec(atom_count,nAtm,nMol)) {
MessageBox(hwnd,
"Error while getting data from HyperChem !",
"Error", MB_OK | MB_ICONSTOP);
hcDisconnect();
exit(0);
};
nAtmTot=0;
for (i=0;i<nMol;i++) nAtmTot += nAtm[i];
org_xyz=(ATM_COORDS*)hcAlloc(nAtmTot*sizeof(ATM_COORDS));
new_xyz=(ATM_COORDS*)hcAlloc(nAtmTot*sizeof(ATM_COORDS));
if ( (!org_xyz) || (!new_xyz) ) {
MessageBox(hwnd,
"Memory allocation error",
"Error", MB_OK | MB_ICONSTOP);
hcDisconnect();
exit(0);
};
if ( !hcGetRealArr(coordinates,
(double*)org_xyz,nAtmTot*3) ) {
MessageBox(hwnd,
"Error getting atomic coordinates",
"Error", MB_OK | MB_ICONSTOP);
hcDisconnect();
exit(0);
};
}
SetWindowText(hwndEdit[0],"12");
// default step for rotation
SetWindowText(hwndEdit[1],"30");
// default number of rotations
return 0;
case WM_COMMAND :
hdc = GetDC (hwnd) ;
SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT)) ;
switch (LOWORD (wParam)) {
case 0 :// ROTATE
EnableWindow(hwndButton[0], FALSE);
GetWindowText(hwndEdit[0],szBuff,MAX_BUFF);
dRot=atof(szBuff);
GetWindowText(hwndEdit[1],szBuff,MAX_BUFF);
170 Chapter 12
Modification of a Molecule’s Coordinates
nRot=atoi(szBuff);
dRot = dRot*3.14159256/180.0;
result=hcSetInt(cancel_menu,1);
for (i=0;i<nRot;i++) {
rAng=dRot*(i+1);
rSin = sin(rAng);
rCos = cos(rAng);
for (ia=0;ia<nAtmTot;ia++) {
new_xyz[ia].x = rCos * org_xyz[ia].x
+ rSin * org_xyz[ia].y;
new_xyz[ia].y =-rSin * org_xyz[ia].x
+ rCos * org_xyz[ia].y;
new_xyz[ia].z=org_xyz[ia].z;
}
result=hcSetRealArr(coordinates,
(double*)new_xyz,nAtmTot*3);
if (!hcGetInt(cancel_menu)) {
result=hcSetRealArr(coordinates,
(double*)org_xyz,nAtmTot*3);
hcDisconnect();
PostQuitMessage(0);
break;
}
}
result=hcSetInt(cancel_menu,0);
EnableWindow(hwndButton[0], TRUE);
break;
default : ;
}
ReleaseDC (hwnd, hdc) ;
ValidateRect (hwnd, &rect) ;
break ;
case WM_DESTROY :
result=hcDisconnect();
PostQuitMessage (0) ;
return 0 ;
}
return DefWindowProc (hwnd, iMsg, wParam, lParam) ;
Executing this program (after invoking HyperChem) gives the following win-
dow:
Pushing the button will rotate the molecule by 12 degrees 30 times with the
above parameters. In conjunction with this program the Cancel button func-
tions appropriately. Pushing it will terminate the rotation and also terminate
the rotate program.
If you are new to programming for Windows and NT, you should now have
the basis for going on and beginning to build real Windows applications.
However, development with the MFC, as described in the next chapter, will
make your life much easier if you wish to develop serious graphical user
interfaces.
172 Chapter 12
Chapter 13
Development Using the MFC
Introduction
This chapter describes the development of C++ Windows programs using the
Microsoft Foundation Classes (MFC). We describe very briefly how to
develop Windows applications of this kind and then how to have them inter-
face and exchange data with HyperChem programs. Examples of such pro-
grams are given.
Programming Assistance
As stated before, this cannot be a programming manual for Windows devel-
opment. We will illustrate the basic ideas for building Windows MFC pro-
173
A First Example
grams that interface to HyperChem and provide some example code but a
serious approach to this subject requires you to obtain additional resources.
The first, of course, is Microsoft Visual C++ 4.0 itself. The ideas discussed
here can certainly be implemented with other compilers and with other devel-
opment environments, but you will have to make some adaptation of the
descriptions given here. We will not attempt to describe development with
alternative tools.
The second requirement, if you are new to Windows development, is access
to good documentation and tutorial material. One recent book on the subject
from Microsoft is,
Programming Windows 95 with MFC
Jeff Proise
Microsoft Press, 1996
ISBN 1-55615-902-1
There are many other books that describe development using the MFC and
Visual C++ 4.0 on the market, as well.
Language
The C++ language of this chapter may be new to you. If this is the case you
may need programming books and tools that specifically address program-
ming in this language. In many ways the object-oriented flavor of C++ makes
it more different from C, than C even is from Fortran. An advantage of Visual
C++ and its Wizards is that very little code will need to be written for devel-
opment of the GUI and you will be able to develop significant applications
just writing C code for the chemical computation part of your application. An
investment in learning C++ programming is probably a well-rewarded invest-
ment.
A First Example
The first example of a C++ program that interfaces to HyperChem will be a
simple one to illustrate the basic tools and concepts of Visual C++ 4.0. Bring
up the Visual C++ program until it looks similar to the following:
174 Chapter 13
A First Example
Then,
1. Select <File/New...>
This will bring up a dialog box to select a Wizard to assist you in creating your
application,
Modifications
To create a custom application, we want to modify the widgets on the dialog
box and create code for the modified ones. Specifically, we are once again
going to create two buttons - one to change the HyperChem screen color to
red and one to change it to green. To accomplish this, we first of all need to
modify the existing resources and create two new resources that are the two
new buttons.
1. Click on the <ResourceView> tab at the bottom of the left window.
2. Double click on <IDD_CPPCOLOR_DIALOG> to place the current dia-
log box in the right window as shown below:
176 Chapter 13
A First Example
You will now want to delete the OK and Cancel buttons and the TODO label.
3. Click on <OK> to select the button and then <File/Delete> to delete it.
4. Repeat for the Cancel button.
5. Repeat for the TODO label.
You can now add whatever widgets you like to the dialog box. Select the But-
ton control from the set of Controls and create a button on the dialog box by
dragging with the mouse until you get the following:
That is,
6. Create a Button on the dialog box.
To create a second button select the first one shown above, copy it to the clip-
board and then paste it back,
7. Copy and Paste the Button to create a second one.
You can now double click on each button in turn to modify its properties.
8. Double click on the first button to change its name to IDC_RED and it
Caption to Red.
9. Repeat for the second Green button.
The buttons should now be labelled Red and Green. To continue, we need to
invoke the Class Wizard to allow us to create specific code for these buttons.
178 Chapter 13
A First Example
11. Select <IDC_RED> and <IDC_GREEN> in turn with the Message field
as <BN_CLICKED> and hit <Add Function> to create functions OnRed
and OnGreen.
Next you need to add code for these functions, so,
12. Hit <Edit Code> and type in the correct code for each button.
The appropriate code to add is:
void CCppColorDlg::OnRed()
{
// TODO: Add your control notification handler code here
hcExecTxt ("window-color red");
}
13. Repeat steps 11 and 12 for the green button.
void CCppColorDlg::OnGreen()
{
// TODO: Add your control notification handler code here
hcExecTxt ("window-color green");
}
This completes the use of the AppWizard and Control Wizard for creating
this application. There are still a couple of things that have to be done, how-
ever, before this code will compile and run correctly. The first task is to add
our include files to the set of includes. The second task is to load the dynamic
link library so that the function hcExec can be found. Finally we have to make
a connection between this program and HyperChem.
The MFC application includes a number of files, all of which are machine
generated. In this case CColor.cpp is really identical to a generic application
and no changes to it are necessary. The CColorDlg.cpp file contains all the
code associated with the dialog box and we need to modify this code. To look
at code you select the <FileView> tab of the left window, find the file of inter-
est and double click on it. This will give you a view of CColorDlg.cpp as
below:
Included Files
At the beginning of the above file the following bold-faced code should be
added to the include files already there:
// CppColorDlg.cpp : implementation file
//
#include "stdafx.h"
180 Chapter 13
A First Example
#include "CppColor.h"
#include "CppColorDlg.h"
#include “hc.h”
#include “hcload.c”
These are the include files that are needed to communicate with HyperChem.
If you are making library calls, e.g. hcExecBin, you will need hsv.h also.
if (!LoadHAPI("hapi.dll"))
{
MessageBox("Error loading HAPI.DLL", Error",
MB_OK|MB_ICONSTOP);
exit(0);
}
if (!hcConnect(NULL)))
MessageBox("Error connecting to HyperChem", "Error",
MB_OK|MB_ICONSTOP);
return TRUE; // return TRUE unless you set the focus to a control
This completes the first simple example. If everything went correctly, you
should have created a Windows application that can talk to and control
HyperChem. Remember that the code we have put into the new Windows
application expects HyperChem to be there so that you need to start Hyper-
Chem before starting the new application. The CppColor application looks as
follows:
Cavity
This next example, called Cavity, is considerably more sophisticated than the
last example. It is still a simple Dialog application but it collects significant
information from HyperChem - the current selections, the current coordi-
nates, plus it collects the values of quantities in the dialog box before calcu-
lating the center of mass of the selection. The application can then place an
atom of arbitrary atomic number at the center of mass of the “cavity” and
draw special dotted bonds between the center of the cavity and the rest of the
molecule. It is essentially identical to the last example except for the more
sophisticated interactions with HyperChem and the inclusion of entries made
in the dialog box. The code for this example is on the HyperChem CD-ROM.
The dialog box is shown below,
182 Chapter 13
Cavity
This application is too long to discuss all the code here. If you are interested,
however, you should be able to follow every aspect of this relatively simple
calculation using the full source code. All the calls in this program are text-
based calls with no binary call that need hsv.h. We will discuss certain por-
tions of the code as being instructive of how one generally interacts with
HyperChem. The code, OnCalc, associated with pushing the Calculate button
is where the coordinates are read. The first thing that is necessary, before
reading the coordinates, is to characterize the atoms and molecules of the sys-
tem in HyperChem,
// HyperChem won't send tags with OMSGS
hcExecTxt("query-response-has-tag = false");
// Gather information about molecular system
// start with number of molecules
resp=hcQueryTxt("molecule-count");
iMol=atoi(resp);hcFree(resp);
// allocate memory for iaAtomCount array
iaAtomCount=(int*)calloc(iMol,sizeof(int));
// next, get count of atom in each molecule
resp=hcQueryTxt("atom-count");
// parse string returned by CDK into integer array
pstr=resp;
i=0;iAtomTot=0;
while (ptok=strtok(pstr,_DELIMITERS)) {
if (pstr) pstr=NULL;
iAtomTot += iaAtomCount[i++]=atoi(ptok);
}
hcFree(resp);
184 Chapter 13
Cavity
}
hcFree(resp);
faX[is] = x;
faY[is] = y;
faZ[is] = z;
}
The loop over selected atoms makes a request for the coordinates of that
atom, as an element of the coordinate array. This element is a string of three
values (x, y, and x coordinates) and has to be parsed.
The code for the remaining portions of this problem is available for your
inspection, if you are interested.
186 Chapter 13
Chapter 14
Console C and Fortran Applications
Introduction
This chapter describes how to develop “conventional” character-oriented or
console applications in C or Fortran that can be interfaced with HyperChem.
It is relatively common in computational or theoretical chemistry to develop
applications in Fortran (or as is becoming more common, in C) that have no
graphical user interface but operate with input files creating output files. For
example, many programs have been developed to calculate a molecular wave
function. Such a program in its simplest form might need as input the Carte-
sian coordinates of a molecule and give as output the energies and coeffi-
cients describing the molecular orbitals. It is a significant effort to build the
additional graphics program that would allow the molecule to be just sketched
and the output to be presented as a 3D rendering of the molecular orbitals. The
CDK, however allows the developer of such a molecular orbital program to
use HyperChem to sketch the molecule and to render the molecular orbitals.
HyperChem can act as a front end GUI and a back end visualizer to this char-
acter-oriented program by simply having it call on HyperChem whenever it
needs graphical services.
Console Applications
Microsoft refers to programs that have no graphical user interface as console
applications. An example output from one of these console applications is
shown below.
187
Introduction
C or Fortran
Until recently, the Microsoft Windows environment and development tools
have essentially been usable only with C (or C++). With the recent introduc-
tion of Fortran PowerStation, however, it has become easy to develop Win-
dows applications in Fortran. For console applications, the tools for C and
Fortran are essentially on the same basis and the choice can be based upon
which language is your personal choice. For more graphical programs, For-
tran (which requires calls to the Windows API - developed for C) is still more
awkward to use than C. It is still possible, however, using tools that Microsoft
has provided with Fortran PowerStation. In this chapter and in this manual we
will not concern ourselves with development of graphical user interfaces in
Fortran. Rather, we restrict our Fortran discussions to the console applica-
tions of this chapter. For such console applications, C and Fortran are inter-
changeable as to their ease of use within Windows.
188 Chapter 14
C Program
For console applications, one has to Insert C (*.c), C++ (*.cpp), or Fortran
(*.f) files into the project as needed since none are generated automatically as
with the AppWizard.
C Program
Our first example of a console program is a C program. The program looks
like any C program beginning with main(), etc. The code for it is as follows:
/*
* Console - UNIX like C program that talks to HyperChem *
*/
#include <stdio.h>
#include <windows.h>
#include "hc.h"
#include "hcload.c"
int main(int iArg, char **pArg)
{
char cmd_line[100],initColor[100],color[100],buffer[100];
char *response;
int result;
/* loading HAPI.DLL */
if (!LoadHAPI("hapi.dll")) {
printf("Error loading HAPI.DLL !\n");
exit(0);
};
/* connecting to HyperChem */
if (iArg!=2) {
strcpy(cmd_line,"");
} else {
strcpy(cmd_line,pArg[1]);
};
if (!hcConnect(cmd_line)) {
printf("Error while connecting with HyperChem !\n");
exit(0);
}
for(;;) {
printf("Choose window-color (black, green, red ... (-1 to end))\n");
scanf("%s",color);
if (atoi(color) == -1) {
result=hcExecTxt(initColor);
result=hcDisconnect();
return 0 ;
} else {
sprintf(buffer,"window-color %s",color);
result=hcExecTxt(buffer);
}
}
return 0;
This code looks like any simple C program with the exception of calls to
hcConnect, hcQueryTxt, hcExecTxt, and hcDisconnect. Any command line
arguments are passed through to HyperChem. The header files, hc.h and
hcload.c are required as is the dynamic loading of the library of the Hyper-
Chem Application Programming Interface, HAPI.DLL. Subsequent to con-
190 Chapter 14
Fortran Programs
necting to HyperChem, the program can just read and write HSV’s to Hyper-
Chem or control HyperChem via direct commands. The program requires
HyperChem to be running prior to its own invocation. The result of running
this program is the following Console window.
Fortran Programs
We will now illustrate, in somewhat more detail, examples of Fortran pro-
grams that behave like the above. It is believed that HyperChem and the CDK
provide an ideal opportunity to interface a wide variety of Fortran programs,
such as could be available from the Quantum Chemistry Program Exchange
(QCPE) at Indiana University. Many programs have been generated over
many years, by many chemists, and these could very quickly have a “slick”
graphical user interface.
Reflect
Our first example is a program that simply collects the coordinates of all the
atoms from HyperChem, performs some simple transformation of these coor-
dinates, and sends them back to HyperChem for display. For simplicity we
will use a reflection in the XY plane through the origin to illustrate the general
process. That is, our program will replace all Z coordinates by -Z. If your mol-
ecule has chiral centers and their chirality label is displayed, you will see the
conversions R->S and S->R from running this program.
This example, while trivial, has some of the characteristics of a “real” pro-
gram that would perform significant computation on an “initial” structure
leading to a “new” structure. Molecular dynamics programs or a structure
optimization programs have this flavor. The whole program is,
program Reflect
c------------------------------------------------------------------
c include header files - HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
parameter (nDimensions=3)
parameter (nMaxAtoms=2000)
character*60 cmd_line
logical result
integer status
integer nAtoms
double precision XYZ(nDimensions, nMaxAtoms)
c
c Connect to HyperChem using current command line
c
call getarg(1,cmd_line,status)
result=hfConnect(cmd_line)
if (.NOT. result) stop
write(*,*)'Reflection Example'
192 Chapter 14
Fortran Programs
end
subroutine GetCoords(coords,nDim,nMaxAt,nAt)
c--------------------------------------------------
c gets xyz coordinetes of all atoms in the system
c and stores them in 'coords' array
c--------------------------------------------------
c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
nMol=hfGetInt(molecule_count)
c get xyz coordinates of all atoms and place them into 'coords' array
c using hfGetRealArr "binary" function ("coordinates" is Real Array)
lres=hfGetRealArr(coordinates,coords,nDim*nMaxAt)
do 111 i=1,nAt
write(*,*)(coords(k,i),k=1,3)
111continue
write(*,*)'-----------'
return
end
subroutine PutCoords(coords,nDim,nMaxAt,nAt)
c--------------------------------------------------
c takes the coords array and send it back to HyperChem
c as the cartesian coordinates of all atoms
c--------------------------------------------------
c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
write(*,*)(coords(k,i),k=1,3)
111 continue
write(*,*)'-----------'
c get xyz coordinates of all atoms and place them into 'coords' array
c using hfGetRealArr "binary" function ("coordinates" is Real Array)
lres=hfSetRealArr(coordinates,coords,nDim*nAt)
return
end
194 Chapter 14
Fortran Programs
This example illustrates the use of both binary calls such as hfSetRealArr that
require the include file hsv.fi as well as text calls such as hfExecTxt that
do not. The binary calls require the include file hsv.fi to map integers such
as “atom_count” to the appropriate HyperChem variable. Note that in binary
calls all “hyphens” are replaced by “underscores”. Thus the HSV, atom-
count, maps to the integer atom_count through hsv.fi. Each of the HAPI
calls is described in Appendix C.
A single call in the code above is all that is necessary to read or write the atom
coordinates once the total number of atoms is know. HyperChem combines
atom numbers within a molecule with molecule numbers to obtain a unique
atom number. The code first of all has to query for the number of molecules
and then for the number of atoms in each molecule to obtain the total number
of atoms. Beyond that computation the rest of the above program is very
straight forward.
MiniGauss Orbitals
The next example is one which contains the elements of a number of poten-
tially very significant uses for the CDK. It provides molecule creation and
visualization for an ab initio wave function package. The ab initio package is
based on a demonstration Fortran code that is an appendix to the book,
This program, only a couple of pages long, contains all the code for an ab ini-
tio STO-1G, STO-2G, or STO-3G calculation on 2-electron diatomics like
H2, HeH+, He2++, etc. It has proved a useful educational tool for a number of
young (and not-so-young) theoreticians. What we do here is offer a “front
end” to this program to illustrate how HyperChem can provide molecular
coordinates plus the visualization of the 3D shape of the calculated orbitals
and charge density.
Outline
The basic idea of this example is to mimic the actions of HyperGauss, a full
fledged ab initio package that comes with HyperChem. We will operate the
MiniGauss back end by having a menu item and scripts to conveniently run
the Fortran program. All the scripts for this example, plus the Fortran code,
are on the HyperChem CD-ROM associated with the Orbitals directory.
While we could easily use the idea of custom menus to run this program we
will simply place an appropriate menu item in the <Script> menu. To do this,
we first of all run a script, orbitals.scr, to set up a convenient way of running
these calculations. This script is,
script-menu-caption(1) = "MiniGauss"
script-menu-enabled(1) = true
script-menu-command(1) = "read-tcl-script orbitals.tcl"
This sets up a new menu item, MiniGauss, that when invoked executes a Tcl
script called orbitals.tcl. The orbitals.scr script could be placed
into chem.scr so that it is always executed and the MiniGauss menu always
appears - if you have developed an application that you would like to be more
or less permanently installed. The HyperChem menu item looks as follows:
196 Chapter 14
Fortran Programs
It collects the two Slater exponents for the minimal basis calculation. For the
other input to the calculation, i.e. the N of STO-NG, we are going to use the
standard facility of HyperChem to define a basis set. Thus, it is only the above
orbital exponents, plus of course the molecule, that MiniGauss needs. The
Tcl/Tk script, orbitals.tcl, is,
The two text entry boxes are used to input the two orbital exponents, zeta1
and zeta2, as strings inzeta1 and inzeta2. The button calls HyperChem to cre-
ate two new string variables (new HSV’s) called appropriately zeta1 and
zeta2. These new HSV’s are then assigned the strings collected from the
entry boxes. This is the first time we have seen the ability to create new
HSV’s and as you can see here it is very useful to provide a repository for
any new values entered from a new GUI until they can be passed to their ulti-
mate destination, which in this case will be the MiniGauss program.
The Exit, with a capital E, exits the Tcl script but not HyperChem [an exit
with a small e would exit both the Tcl script and HyperChem!]. In concert
with this, the MiniGauss program is invoked which is our main Fortran pro-
gram and is here called orbitals.f (and orbitals.exe).
Program Orbitals
implicit double precision(a-h,o-z)
c -------------------------------------------------------
c include header files - HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
parameter (nDimension=3)
parameter (nMaxAtoms=2000)
character*60 cmd_line
logical result
integer status
integer nAtoms
double precision XYZ(nDimension, nMaxAtoms)
c
c Connect to HyperChem using current command line
c
call getarg(1,cmd_line,status)
198 Chapter 14
Fortran Programs
result=hfConnect(cmd_line)
if (.NOT. result) stop
write(*,*)'Orbitals Example'
end
The main program simply connects to HyperChem and makes sure that you
don’t get the tags along with the values when HSV’s are queried. It then
calls a routine (DoCalc) that is principally concerned with performing the cal-
culation and one which sends back the results to be displayed graphically
(SendResults).
Get Molecule
The Subroutine DoCalc is primarily concerned with getting the coordinates
of all the atoms (nAtoms) to be input to the minimal basis set ab initio calcu-
lation. This subroutine is,
subroutine DoCalc(coords,nDim,nMaxAt,nAt)
implicit double precision(a-h,o-z)
c--------------------------------------------------
c gets xyz coordinates of all atoms in the system
c and stores them in 'coords' array
c--------------------------------------------------
c include HAPI definitions and declarations
include 'hc.fi'
include 'hsv.fi'
nMol=hfGetInt(molecule_count)
c we can work only with one molecule
if (nMol .gt. 1) then
write(*,*)'This demo assumes that you have only ONE molecule'
c disconnect from HyperChem
result=hfDisconnect()
stop
endif
200 Chapter 14
Fortran Programs
result=hfDisconnect()
stop
endif
c get the basis set
result = hfQueryTxt("atom-basisset(1,1)", buffer)
if (buffer(1:6).eq.'STO-3G') then
n=3
else if (buffer(1:6) .eq. 'STO-2G') then
n=2
else if (buffer(1:6) .eq. 'STO-1G') then
n=1
else
n=3
end if
c get xyz coordinates of all atoms and place them into 'coords' array
c using hfGetRealArr "binary" function ("coordinates" is Real Array)
lres=hfGetRealArr(coordinates,coords,nDim*nMaxAt)
dx = coords(1,1)-coords(1,2)
dy = coords(2,1)-coords(2,2)
dz = coords(3,1)-coords(3,2)
r = dsqrt( dx*dx + dy*dy + dz*dz) /0.52918
call hfcalc(n,r,zeta1,zeta2,za,zb)
return
end
The above code contains a number of text and binary calls to HyperChem. A
single call (hfGetRealArr) gets all the coordinates once we know the number
of atoms. The two orbital exponents that we got from the Tk dialog box and
stored in HyperChem are retrieved from HyperChem along with other infor-
mation that HyperChem has about the calculation that is about to be per-
formed. One aspect of this information is the basis set, as set by the user in
HyperChem. If HyperChem says it is one of the STO-NG basis sets then that
information is used, otherwise an STO-3G calculation is performed. The
remaining code near the beginning is associated with getting basic informa-
tion about the molecule and making sure it is simple enough for MiniGauss.
This just sets the eigenvalues to arbitrarily be -5.0 and +5.0 and the eigenvec-
tors to be the standard in phase and out of phase orbitals for HOMO and
LUMO. The assumption here is made that the overlap is small so that coeffi-
cients are just 1/sqrt(2).
As discussed a better hfcalc could easily be programmed. The one shown here
is perfectly satisfactory for illustrating the use of the CDK, however.
result = hfExecTxt('orbital-count=2')
write (unit = buff, fmt = '(2f8.4)') e(1,1), e(2,2)
202 Chapter 14
Fortran Programs
result = hfExecTxt('scf-orbital-energy='//buff)
write (unit = buff, fmt = '(2f8.4)') c(1,1), c(2,1)
result = hfExecTxt('alpha-scf-eigenvector(1)='//buff)
write (unit = buff, fmt = '(2f8.4)') c(1,2), c(2,2)
result = hfExecTxt('alpha-scf-eigenvector(2)='//buff)
write result = hfExecTxt('alpha-orbital-occupancy= 2 0')
return
end
There are a number of ways that the results might be returned. One way is to
make binary HAPI calls such as to hcSetRealVec to return vectors of coeffi-
cients. We have chosen here to illustrate the return of text strings to Hyper-
Chem. The first thing that is done is to set the total count of the number of
molecular orbitals which in the minimal basis illustrated here is 2. Next the
orbital energies are returned and then the eigenvectors. Since this is only a
closed-shell calculation, only the alpha (RHF) coefficients need be filled in.
Finally the occupancy is set with 2 electrons in the first orbital (HOMO) and
0 electrons in the LUMO. The result of selecting the MiniGauss menu item
with HeH+ on the screen is,
The orbitals or the charge density or the electrostatic potential can be plotted
The orbitals are somewhat artificial here but asking for the LUMO orbital
gives a plot like the following:
Further Examples
Further examples of using the CDK that might be of interest to you can pos-
sibly be found in conjunction with your specific CD-ROM installation of
HyperChem or possibly on the Hypercube WWW site,
http://www.hyper.com
204 Chapter 14
Appendix A
Classification of Hcl Commands
The Classes
In this appendix we list all the HSV’s and Hcl direct commands according
to a set of classes that will hopefully assist you in finding the appropriate
script command for your task. In the Reference Manual these script com-
mands are classified differently - according to the related HyperChem menu.
In Chapter 7 all HSV’s and direct Hcl commands are listed in alphabetic
order. These three listings complement each other and should assist you in
getting familiar with the extensive set of script commands. The listings in the
Reference Manual have the most explicit description of each of the following
script commands and should be referred to if the use of the command listed
here or in Chapter 6 is confusing to you.
The classes which we use to help classify all the script commands are:
• General Operations
• Cursors
• Selections
• File Operations
• Scripts
• Info
• Errors
• Logging
• Auxiliary
• Viewing
• Rendering
• Coloring and Labeling
205
The Classes
• Images
• Model Building
• Stereochemistry
• Atom Properties
• Molecular Properties
• Backends
• Molecular Mechanics Calculations
• Amino Acids and Nucleic Acids
• Molecular Dynamics and Monte Carlo
• Optimization
• General Quantum Mechanics
• Semi-empirical Calculations
• Ab Initio Calculations
• Configuration Interaction
• Infrared Spectra
• UV Spectra
• Plotting
General Operations
The following script commands involve the general operation of HyperChem
including things that don’t easily fit into other categories. Thus, in this cate-
gory we have the script commands for a single-point calculation and for sol-
vation using the periodic box. Other commands have to do with default or
custom menus, printing, and the operation of the Cancel button.
Single Point
calculation-method: Variable, Read/Write, Type: enum.
do-single-point: Command, Arg list: (void).
total-energy: Variable, Read/Write, Type: float in range (-1e+010 .. 1e+010).
206 Appendix A
The Classes
Solvation
periodic-boundaries: Variable, Read/Write, Type: boolean.
periodic-box-size: Variable, Readonly, Type: (unknown).
solvate-system: Command, Arg list: (void).
solvate-system-in-this-box: Command, Arg list: float, float, float.
Fields
field-direction: Variable, Read/Write, Type: integer
field-strength: Variable, Read/Write, Type: float
magnetic-field-direction: Command, Arg list: unregistered.
magnetic-field-strength: Command, Arg list: unregistered.
use-electric-field: Command, Arg list: unregistered.
use-magnetic-field: Command, Arg list: unregistered.
Customization
hide-toolbar: Variable, Read/Write, Type: boolean.
load-default-menu: Command, Arg list: (void).
load-user-menu: Command, Arg list: string.
switch-to-user-menu: Command, Arg list: (void).
custom-title: Variable, Read/Write, Type: string.
factory-settings: Command, Arg list: (void).
Printing
print: Command, Arg list: (void).
printer-background-white: Variable, Read/Write, Type: boolean.
Other
cancel-menu: Variable, Read/Write, Type: boolean.
do-vibrational-analysis: Command, Arg list: (void).
help: Command, Arg list: string.
hide-messages: Variable, Read/Write, Type: boolean.
Cursors
The following script commands have to do with the operation of the various
cursors apart from the drawing and selection cursor. The remaining cursors
are associated with rotation, translation, zooming, and clipping operations.
These have parameters that describe, for example, the unit of rotation when
the rotation cursor is dragged in the work space (x-y-rotation-cursor). alterna-
tively, there is a unit or rotation when the appropriate keyboard equivalent is
used (x-y-rotation-icon-step). These parameters can be set via the <File/Pref-
erences...> dialog box or via the following script commands.
Mouse Mode
mouse-mode: Variable, Read/Write, Type: enum
Clipping
clip-cursor: Variable, Read/Write, Type: float in range (0 .. 1000).
clip-icon-step: Variable, Read/Write, Type: float in range (0 .. 1000).
back-clip: Variable, Read/Write, Type: float
front-clip: Variable, Read/Write, Type: float.
Rotation
x-y-rotation-cursor: Variable, R/W, Type: float angle in range (0 .. 3600).
x-y-rotation-icon-step: Variable, R/W, Type: float angle in range (0 .. 3600).
z-rotation-cursor: Variable, R/W, Type: float angle in range (0 .. 3600).
z-rotation-icon-step: Variable, R/W, Type: float angle in range (0 .. 3600).
Translation
x-y-translation-icon-step: Variable, R/W, Type: float in range (0 .. 1000).
z-translation-cursor: Variable, R/W, Type: float in range (0 .. 1000).
z-translation-icon-step: Variable, R/W, Type: float in range (0 .. 1000).
Zoom
zoom-cursor: Variable, Read/Write, Type: float in range (1 .. 1000).
208 Appendix A
The Classes
Selections
The following script commands have to do with making selections, a funda-
mental operation. HyperChem generally operates on a selection rather than
on the whole molecular system and these selection scripts are often used in
conjunction with other operations.
Select Options
multiple-selections: Variable, Read/Write, Type: boolean.
select-sphere: Variable, Read/Write, Type: boolean.
selection-target: Variable, Read/Write, Type: enum
Select
select-none: Command, Arg list: (void).
select-atom: Command, Arg list: integer, integer.
select-path: Command, Arg list: integer, integer, integer, integer.
select-residue: Command, Arg list: integer, integer.
un-select-atom: Command, Arg list: integer, integer.
un-select-residue: Command, Arg list: integer, integer.
Operate on Selection
delete-selected-atoms: Command, Arg list: (void).
reorder-selections: Variable, Read/Write, Type: boolean.
Named Selections
name-selection: Command, Arg list: string.
Other
selection-color: Variable, Read/Write, Type: enum
File Operations
The following script commands deal with operations on the molecule files
and the import/export files.
Molecule File
file-format: Variable, Read/Write, Type: string.
path: Variable, Read/Write, Type: string.
current-file-name: Variable, Readonly, Type: string.
open-file: Command, Arg list: string.
merge-file: Command, Arg list: string.
write-file: Command, Arg list: string.
delete-file: Command, Arg list: string.
Options
file-needs-saved: Variable, Read/Write, Type: boolean.
velocities-in-hin-file: Variable, Read/Write, Type: boolean.
view-in-hin-file: Variable, Read/Write, Type: boolean.
PDB File
connectivity-in-pdb-file: Variable, Read/Write, Type: boolean.
hydrogens-in-pdb-file: Variable, Read/Write, Type: boolean.
210 Appendix A
The Classes
Import/Export
import-dipole: Variable, Read/Write, Type: boolean.
import-ir: Variable, Read/Write, Type: boolean.
import-orbitals: Variable, Read/Write, Type: boolean.
import-property-file: Command, Arg list: string.
import-uv: Variable, Read/Write, Type: boolean.
export-dipole: Variable, Read/Write, Type: boolean.
export-ir: Variable, Read/Write, Type: boolean.
export-orbitals: Variable, Read/Write, Type: boolean.
export-property-file: Command, Arg list: string.
export-uv: Variable, Read/Write, Type: boolean.
Other
file-diff-message: Command, Arg list: string, string, string, string.
write-atom-map: Command, Arg list: string.
Scripts
The following script commands have to do with the process of scripting itself.
They are used to open script files, control execution of script commands, or
control the process of notification. Certain other scripts control the OMSG
output of a query or manage the menu items inserted under the script menu.
Finally, values of HSVs can be pushed and popped with a stack.
Script Files
read-script: Command, Arg list: string.
read-tcl-script: Command, Arg list: string.
compile-script-file: Command, Arg list: string, string.
read-binary-script: Command, Arg list: string.
Execution
query-value: Command, Arg list: .
execute-string: Command, Arg list: string.
pause-for: Command, Arg list: integer in range (0 .. 32767).
exit-script: Command, Arg list: (void).
Notifications
notify-on-update: Command, Arg list: string.
cancel-notify: Command, Arg list: string.
notify-with-text: Variable, Read/Write, Type: boolean.
variable-changed: Command, Arg list: string.
OMSGs
append-omsgs-to-file: Command, Arg list: string.
omsg-file: Variable, Read/Write, Type: string.
omsgs-not-to-file: Command, Arg list: (void).
omsgs-to-file: Command, Arg list: string.
query-response-has-tag: Variable, Read/Write, Type: boolean.
Menus
change-user-menuitem: Command, Arg list: integer, string, string.
script-menu-caption: Variable, Read/Write, Type: vector of string.
script-menu-checked: Variable, Read/Write, Type: vector of boolean.
script-menu-command: Variable, Read/Write, Type: vector of string.
script-menu-enabled: Variable, Read/Write, Type: vector of boolean.
script-menu-help-file: Variable, Read/Write, Type: vector of string.
script-menu-help-id: Variable, Read/Write, Type: vector of integer.
script-menu-in-use: Variable, Read/Write, Type: vector of boolean.
script-menu-message: Variable, Read/Write, Type: vector of string.
212 Appendix A
The Classes
Stack Operation
pop-no-value: Command, Arg list: string.
pop-value: Command, Arg list: string.
push: Command, Arg list: string.
Other
execute-client: Command, Arg list: string.
execute-hyperchem-client: Command, Arg list: string.
message: Variable, Read/Write, Type: string.
one-line-arrays: Variable, Read/Write, Type: boolean.
Info
The following script commands are part of a capability for enquiring and
obtaining information about a specific HSV.
info-access: Variable, Readonly, Type: string.
info-enum-id-of: Variable, Readonly, Type: string.
info-enum-list: Variable, Readonly, Type: string.
info-factory-setting: Variable, Readonly, Type: string.
info-id-of: Variable, Readonly, Type: integer.
info-type-of: Variable, Readonly, Type: string.
info-type-of-element: Variable, Readonly, Type: string.
info-variable-target: Variable, Read/Write, Type: string.
Errors
The following script commands deal with errors.
no-source-refs-in-errors: Command, Arg list: (void).
source-refs-in-errors: Command, Arg list: (void).
Logging
The following script commands have to do with the process of creating a log
file.
start-logging: Command, Arg list: string, boolean.
stop-logging: Command, Arg list: (void).
log-comment: Command. Arg list: string.
mechanics-print-level: Variable, Read/Write, Type: integer in range (0 .. 9).
quantum-print-level: Variable, Read/Write, Type: integer in range (0 .. 9).
Auxiliary
The following script commands defy simple classification.
Declarations
declare-integer: Command, Arg list: string.
declare-string: Command, Arg list: string.
Warnings
warning: Variable, Read/Write, Type: string.
warning-type: Variable, Read/Write, Type: enum(none, log, message).
hide-warnings: Variable, Read/Write, Type: boolean.
warnings-are-not-omsgs: Command, Arg list: void.
warnings-are-omsgs: Command, Arg list: void.
214 Appendix A
The Classes
Screen Output
status-message: Variable, Read/Write, Type: string.
request: Command, Arg list: string.
Version
version: Variable, Readonly, Type: string.
serial-number: Variable, Readonly, Type: string.
Other
print-variable-list: Command, Arg list: string.
toggle: Command, Arg list: string.
Viewing
The following script commands are associated with the manipulations deter-
mining what one sees on the screen excluding the specific molecular render-
ing. Some of them are simply viewing transformations. Others move the mol-
ecules or show attributes of the molecules.
Alignment
align-molecule: Command, Arg list: list of enums
align-viewer: Command. Arg list: enum.
Redisplay
global-inhibit-redisplay: Variable, Readonly, Type: boolean.
inhibit-redisplay: Variable, Read/Write, Type: boolean.
Rotation
rotate-molecules: Command, Arg list: enum, float.
rotate-viewer: Command, Arg list: enum, float.
Translation
translate-selection: Command, Arg list: float, float, float.
translate-view: Command, Arg list: float, float, float.
translate-whole-molecules: Variable, Read/Write, Type: boolean.
translate-merged-systems: Variable, Read/Write, Type: boolean.
use-fast-translation: Variable, Read/Write, Type: boolean.
Window
window-height: Variable, Read/Write, Type: integer.
window-width: Variable, Read/Write, Type: integer.
workspace-height: Variable, Read/Write, Type: integer
workspace-width: Variable, Read/Write, Type: integer
Other
show-perspective: Variable, Read/Write, Type: boolean.
wall-eyed-stereo: Variable, Read/Write, Type: boolean.
zoom: Command, Arg list: float in range (0.01 .. 50).
show-axes: Variable, Read/Write, Type: boolean.
show-dipoles: Variable, Read/Write, Type: boolean.
Rendering
The following script commands affect the molecular rendering of the mole-
cule in the workspace.
General Options
bond-spacing-display-ratio: Variable, R/W, Type: float in range (0 .. 1).
cpk-max-double-buffer-atoms: Variable, Read/Write, Type: integer.
dot-surface-angle: Variable, R/W, Type: float angle in range (-90 .. 90).
double-buffered-display: Variable, Read/Write, Type: boolean.
render-method: Variable, Read/Write, Type: enum.
216 Appendix A
The Classes
Color
atom-color: Variable, Read/Write, Type: array of enum.
Labels
atom-label-text: Variable, Readonly, Type: array of string.
atom-labels: Variable, Read/Write, Type: enum.
Images
The following script commands deal with getting bitmaps and metafiles
(images) of molecules into the clipboard or into a file.
image-color: Variable, Read/Write, Type: boolean.
image-destination-clipboard: Variable, Read/Write, Type: boolean.
image-destination-file: Variable, Read/Write, Type: boolean.
image-destination-filename: Variable, Read/Write, Type: string
image-file-bitmap: Variable, Read/Write, Type: boolean.
image-file-bitmapRGB: Variable, Read/Write, Type: boolean.
image-file-metafile: Variable, Read/Write, Type: boolean.
image-include-cursor: Variable, Read/Write, Type: boolean.
image-source-window: Variable, Read/Write, Type: enum.
Model Building
The following script commands deal with aspect of drawing and creating
molecules with the model builder.
218 Appendix A
The Classes
Options
allow-ions: Variable, Read/Write, Type: boolean.
explicit-hydrogens: Variable, Read/Write, Type: boolean.
default-element: Variable, Read/Write, Type: integer in range (0 .. 103).
Drawing
create-atom: Command, Arg list: integer in range (0 .. 103).
set-bond: Command, Arg list: integer, integer, integer, integer, enum.
delete-atom: Command, Arg list: integer, integer.
Constraints
constrain-geometry: Command, Arg list: string.
constrain-bond-length: Command, Arg list: float in range (0 .. 100).
constrain-bond-angle: Command, Arg list: float angle in range (-360 .. 360).
constrain-bond-torsion: Command, Arg list: angle in range (-360 ... 360)
constrain-drawing: Variable, Read/Write. Type: boolean
unconstrain-bond-length: Command, Arg list: (void).
unconstrain-bond-angle: Command, Arg list: (void).
unconstrain-bond-torsion: Command, Arg list: (void).
Other
is-ring-atom: Variable, Readonly, Type: array of boolean.
neighbors: Variable, Readonly, Type: array of (unknown).
Stereochemistry
The following script commands deal with aspects of creating and showing
specific stereochemistry.
builder-enforces-stereo: Variable, Read/Write, Type: boolean.
change-stereochem: Command, Arg list: integer, integer.
Atom Properties
The following script commands deal with changing or displaying properties
of individual atoms perhaps associated with labels.
Labels
atom-charge: Variable, Read/Write, Type: array of float.
atom-mass: Variable, Read/Write, Type: array of float.
atom-name: Variable, Read/Write, Type: array of string.
atom-spin-density-at-nucleus: Variable, Read/Write, array of float.
atom-spin-population: Variable, Read/Write, Type: array of float.
atom-type: Variable, Read/Write, Type: array of string.
atomic-number: Variable, Read/Write, Type: array of integer.
atomic-symbol: Variable, Readonly, Type: array of string.
set-atom-charge: Command, Arg list: float in range (-100 .. 100).
set-atom-type: Command, Arg list: string.
220 Appendix A
The Classes
Other
coordination: Variable, Readonly, Type: array of integer.
Molecule Properties
The following script commands deal with some properties of molecules or the
atoms in molecules.
Charge-Multiplicity
multiplicity: Variable, Read/Write, Type: integer in range (1 .. 6).
quantum-total-charge: Variable, R/W, Type: integer
Counts
atom-count: Variable, Readonly, Type: vector of integer.
molecule-count: Variable, Readonly, Type: integer.
Labels
molecule-name: Variable, Readonly, Type: vector.
name-molecule: Command, Arg list: string.
Properties
dipole-moment: Variable, R/W , Type: float in range (-1e+010 .. 1e+010).
dipole-moment-components: Variable, R/W, Type: float, float, float.
heat-of-formation: Variable, R/W, Type: float in range (-1e+10 .. 1e+10).
Back Ends
The following script commands deal with the operation of the computational
back ends and communication with them.
Basic
backend-active: Variable, Read/Write, Type: boolean.
backend-communications: Variable, Read/Write, Type: enum.
Method
molecular-mechanics-method: Variable, Read/Write, Type: enum.
is-extended-hydrogen: Variable, Readonly, Type: array of boolean.
keep-atom-charges: Variable, Read/Write, Type: boolean.
222 Appendix A
The Classes
Energy Components
bend-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
stretch-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
torsion-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
nonbond-energy: Variable, R only, Type: float in range (-1e+10 .. 1e+10).
estatic-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
hbond-energy: Variable, Readonly, Type: float in range (-1e+10 .. 1e+10).
Cutoffs
cutoff-type: Variable, Read/Write, Type: enum.
cutoff-inner-radius: Variable, Read/Write, Type: float in range (0 .. 1e+10).
cutoff-outer-radius: Variable, Read/Write, Type: float in range (0 .. 1e+10).
Scale Factors
mechanics-dielectric: Variable, R/W, Type: enum, enum, enum, enum.
mechanics-dielectric-scale-factor: Variable, R/W, Type: four floats.
mechanics-electrostatic-scale-factor: Variable, R/W, Type: four floats.
mechanics-mmp-electrostatics: Variable, Read/Write, Type: enum.
mechanics-van-der-waals-scale-factor: Variable, R/W, Type: four floats.
Parameters
parameter-set-changed: Variable, Read/Write, Type: boolean.
use-parameter-set: Command,Arg list: string.
Amino Acids
add-amino-acid: Command, Arg list: string.
Nucleic Acids
add-nucleic-acid: Command, Arg list: string.
nucleic-a-form: Command, Arg list: (void).
nucleic-alpha: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-b-form: Command, Arg list: (void).
nucleic-backwards: Variable, Read/Write, Type: boolean.
nucleic-beta: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-chi: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-delta: Variable, Read/Write, Type: float angle in range (-360 .. 360).
nucleic-double-strand: Variable, Read/Write, Type: boolean.
nucleic-epsilon: Variable, R/W, Type: float angle in range (-360 .. 360).
nucleic-gamma: Variable, R/W, Type: float angle in range (-360 .. 360).
nucleic-sugar-pucker: Variable, Read/Write, Type: enum.
nucleic-z-form: Command, Arg list: (void).
nucleic-zeta: Variable, Read/Write, Type: float angle in range (-360 .. 360).
General Residue
mutate-residue: Command, Arg list: string.
residue-charge: Variable, Readonly, Type: array of float.
residue-coordinates: Variable, Readonly, Type: array of float, float, float.
residue-count: Variable, Readonly, Type: vector of integer.
residue-label-text: Variable, Readonly, Type: array of string.
224 Appendix A
The Classes
Basic
do-molecular-dynamics: Command, Arg list: (void)
do-langevin-dynamics: Command, Arg list: (void)
do-monte-carlo: Command, Arg list: (void)
dynamics-restart: Variable, Read/Write, Type: boolean.
dynamics-average-period: Variable, R/W, Type: integer.
dynamics-collection-period: Variable, R/W, Type: integer.
screen-refresh-period: Variable, Read/Write, Type: integer.
Run Parameters
dynamics-bath-relaxation-time: Variable, R/W, Type: float.
dynamics-constant-temp: Variable, Read/Write. Type: boolean.
dynamics-cool-time: Variable, Read/Write, Type: float.
dynamics-heat-time: Variable, Read/Write, Type: float.
dynamics-final-temp: Variable, R/W, Type: float.
dynamics-friction-coefficient: Variable, R/W, Type: float
dynamics-run-time: Variable, Read/Write, Type: float.
dynamics-seed: Variable, Read/Write, Type: integer.
dynamics-simulation-temp: Variable, Read/Write, Type: float.
dynamics-starting-temp: Variable, Read/Write, Type: float.
dynamics-temp-step: Variable, Read/Write, Type: float.
dynamics-time-step: Variable, Read/Write, Type: float.
Averaging
append-dynamics-average: Command, Arg list: string.
append-dynamics-graph: Command, Arg list: string.
dynamics-info-elapsed-time: Variable, R only, Type: float.
dynamics-info-kinetic-energy: Variable, Readonly, Type: float.
dynamics-info-last-update: Variable, Readonly, Type: boolean.
dynamics-info-potential-energy: Variable, Readonly, Type: float.
dynamics-info-temperature: Variable, Readonly, Type: float.
dynamics-info-total-energy: Variable, Readonly, Type: float.
Playback
dynamics-playback: Variable, Read/Write, Type: enum.
dynamics-playback-end: Variable, Read/Write, Type: integer.
dynamics-playback-period: Variable, Read/Write, Type: integer.
dynamics-playback-start: Variable, Read/Write, Type: integer.
dynamics-snapshot-filename: Variable, Read/Write, Type: string.
dynamics-snapshot-period: Variable, Read/Write, Type: integer.
Optimization
The following script commands deal with facets of geometry optimization.
Basic
do-optimization: Command, Arg list: (void).
226 Appendix A
The Classes
Restraints
restraint: Command, Arg list: string, float, float.
restraint-tether: Command, Arg list: complex.
use-no-restraints: Command, Arg list: (void).
use-restraint: Command, Arg list: string, boolean.
Input Parameters
do-qm-calculation: Variable, Read/Write, Type: boolean.
uhf: Variable, Read/Write, Type: boolean.
accelerate-scf-convergence: Variable, Read/Write, Type: boolean.
alpha-orbital-occupancy: Variable, Read/Write, Type: vector of float.
beta-orbital-occupancy: Variable, Read/Write, Type: vector of float.
excited-state: Variable, Read/Write, Type: boolean.
max-iterations: Variable, Read/Write, Type: integer in range (1 .. 32767).
scf-convergence: Variable, Read/Write, Type: float in range (0 .. 100).
polar-field-strength: Variable, Read/Write, Type: float
polarizability-calculated: Variable, Read/Write, Type: Boolean
Output Results
orbital-count: Variable, Readonly, Type: integer.
alpha-scf-eigenvector: Variable, Read/Write, Type: vector of float-list.
beta-scf-eigenvector: Variable, Read/Write, Type: vector of float-list.
scf-orbital-energy: Variable, Read/Write, Type: vector of float.
orbital-results: Variable, Read/Write, Type: vector of float-list.
scf-electronic-energy: Variable, Read/Write, Type: float.
Semi-empirical Calculations
The following script commands deal with the input parameters required to
specifically perform semi-empirical calculations and with their results. Some
of the input parameteters for semi-empirical methods are essentially part of
the *.abp parameter files.
General
semi-empirical-method: Variable, Read/Write, Type: enum.
d-orbitals-on-second-row: Variable, Read/Write, Type: boolean.
scf-atom-energy: Variable, Read/Write, Type: float.
scf-binding-energy: Variable, Read/Write, Type: float.
scf-core-energy: Variable, Read/Write, Type: float.
Huckel
huckel-constant: Variable, Read/Write, Type: float in range (0 .. 10).
huckel-scaling-factor: Variable, R/W, Type: float in range (0 .. 100000).
huckel-weighted: Variable, Read/Write, Type: boolean.
ZINDO
zindo-1-pi-pi: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-1-sigma-sigma: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-s-pi-pi: Variable, Read/Write, Type: float in range (0 .. 2).
zindo-s-sigma-sigma: Variable, Read/Write, Type: float in range (0 .. 2).
228 Appendix A
The Classes
Ab Initio Calculations
The following script commands pertain to performing ab initio calculations -
their inputs and their results.
Input Options
abinitio-calculate-gradient: Variable, Read/Write, Type: boolean.
abinitio-d-orbitals: Variable, Read/Write, Type: boolean.
abinitio-f-orbitals: Variable, Read/Write, Type: boolean.
abinitio-direct-scf: Variable, Read/Write, Type: boolean.
abinitio-mo-initial-guess: Variable, Read/Write, Type: enum.
abinitio-mp2-correlation-energy: Variable, Read/Write, Type: boolean.
abinitio-mp2-frozen-core: Variable, Read/Write, Type: boolean.
abinitio-scf-convergence: Variable, R/W, Type: float in range (0 .. 100).
abinitio-use-ghost-atoms: Variable, Read/Write, Type: boolean.
Basis Set
assign-basisset: Command, Arg list: string.
atom-basisset: Variable, Read/Write, Type: array of string.
atom-extra-basisset: Variable, Read/Write, Type: array of string, float.
auxilliary-basis: Variable, Read/Write, Type: integer.
basisset-count: Variable, Readonly, Type: integer.
use-auxilliary-basis: Variable, Read/Write, Type: boolean.
2-electron Integrals
abinitio-buffer-size: Variable, Read/Write, Type: integer.
abinitio-cutoff: Variable, Read/Write, Type: float in range (0 .. 1e+10).
abinitio-integral-format: Variable, Read/Write, Type: enum.
abinitio-integral-path: Variable, Read/Write, Type: string.
Results
mp2-energy: Variable, Read/Write, Type: float.
TNDO
tndo-version: Variable, Read/Write, Type: integer.
DFT
correlation-functional: Variable, Read/Write, Type: enum.
exchange-functional: Variable, Read/Write, Type: enum
small-density-cutoff: Variable, Read/Write, Type: float
use-mullikan-approximation-to-density: Variable, Read/Write, Type:
boolean
use-small-density-cutoff: Variable, Read/Write, Type: boolean.
Configuration Interaction
The following script commands are relevant to post-SCF configuration inter-
action calculations.
ci-criterion: Variable, Read/Write, Type: enum.
ci-excitation-energy: Variable, Read/Write, Type: float in range (0 .. 10000).
ci-occupied-orbitals: Variable, R/W, Type: integer in range (0 .. 32767).
ci-state-to-optimize: Command, Arg list: unregistered.
ci-unoccupied-orbitals: Variable, R/W, Type: integer in range (0 .. 32767).
configuration-interaction: Variable, Read/Write, Type: enum.
Infrared Spectra
The following script commands are relevant to the calculation and display of
vibrational spectra.
Animations
animate-vibrations: Variable, Read/Write, Type: boolean.
ir-animate-amplitude: Variable, Read/Write, Type: float in range (0 .. 10).
ir-animate-cycles: Variable, Read/Write, Type: integer in range (0 .. +Inf).
230 Appendix A
The Classes
Spectra
ir-band-count: Variable, Read/Write, Type: integer.
vibrational-mode: Variable, Read/Write, Type: integer.
ir-frequency: Variable, Read/Write, Type: vector of float.
ir-intensity: Variable, Read/Write, Type: vector of float.
ir-intensity-components: Variable, R/W, Type: vector of float, float, float.
ir-normal-mode: Variable, Read/Write, Type: vector of float-list.
UV Spectra
The following script commands are relevant to the calculation of electronic
spectra.
configuration: Variable, Read/Write, Type: integer.
uv-band-count: Variable, Read/Write, Type: integer.
uv-dipole-components: Variable, Read/Write, Type: vector of float-list.
uv-energy: Variable, Read/Write, Type: vector of float.
uv-oscillator-strength: Variable, Read/Write, Type: vector of float.
uv-spin: Variable, Read/Write, Type: vector of float.
uv-total-dipole: Variable, Read/Write. Type: vector of float.
uv-transition-dipole: Variable, R/W, Type: vector of float, float, float.
Plotting
the following script commands are relevant to the plotting of 2D and 3D con-
tours and renderings of orbitals, electron density, spin density and electro-
static potentials.
General Options
graph-beta: Variable, Read/Write, Type: boolean.
graph-data-type: Variable, Read/Write, Type: enum.
2D
do-qm-graph: Variable, Read/Write, Type: boolean.
graph-contour-increment: Variable, Read/Write, Type: float.
graph-contour-increment-other: Variable, Read/Write, Type: boolean.
graph-contour-levels: Variable, Read/Write, Type: integer.
graph-contour-start: Variable, Read/Write, Type: float.
graph-contour-start-other: Variable, Read/Write, Type: boolean.
3D
do-qm-isosurface: Variable, Read/Write, Type: boolean.
isosurface-grid-step-size: Variable, R/W, Type: float in range (0 .. 1e+10)
isosurface-hide-molecule: Variable, Read/Write, Type: boolean
isosurface-map-function: Variable, Read/Write, Type: boolean
isosurface-map-function-display-legend: Variable, R/W, Type: boolean
isosurface-map-function-range: Variable, Read/Write, Type: float, float
isosurface-mesh-quality: Variable, Read/Write, Type: enum
isosurface-render-method: Variable, Read/Write, Type: enum
isosurface-threshold: Variable, Read/Write, Type: float.
isosurface-transparency-level: Variable, R/W, Type: float in range (0 .. 1)
isosurface-x-min: Variable, Read/Write, Type: float.
isosurface-x-nodes: Variable, R/W, Type: integer in range (0 .. 32767).
isosurface-y-min: Variable, Read/Write, Type: float.
isosurface-y-nodes: Variable, R/W, Type: integer in range (0 .. 32767).
isosurface-z-min: Variable, Read/Write, Type: float.
isosurface-z-nodes: Variable, R/W, Type: integer in range (0 .. 32767).
232 Appendix A
The Classes
Grid
graph-data-row: Variable, Readonly, Type: vector of float-list.
graph-horizontal-grid-size: Variable, R/W, Type: integer in (2 .. 8192).
graph-plane-offset: Variable, Read/Write, Type: float.
graph-vertical-grid-size: Variable, R/W, Type: integer in range (2 .. 8192).
grid-max-value: Variable, Readonly, Type: float.
grid-min-value: Variable, Readonly, Type: float.
isosurface-grid-step-size: Variable, R/W, Type: float in range (0 .. 1e+10).
234 Appendix A
Appendix B
Listing of Tcl Commands
235
The Tcl Commands
236 Appendix B
The Tcl Commands
238 Appendix B
The Tcl Commands
240 Appendix B
Appendix C
Classification of HAPI Calls
This appendix lists each of the HAPI calls and gives details as to their use,
their declaration and their parameters. The HAPI calls are classified accord-
ing to their use. Visual Basic Arguments listed as N/A can be inferred from
the corrsponding C/C++ call.
hcInitAPI
The function performs initialization of the HAPI.
API header
BOOL _stdcall hcInitAPI()
FORTRAN interface
logical function hfInitAPI()
241
The API functions
Parameters
The function takes no parameters.
Return Value
The function returns TRUE if initialization was successful. The function
returns FALSE if the user application is already connected with HyperChem.
Remarks
There is no need for explicitly calling the function if you use any of the rec-
ommended methods described in the section “How to use the CDK API” of
Chapter 11. Both LoadHAPI and automatic DLL initialization code call the
function. However the call may be required if you perform your own Run-
Time Load for an unusual application.
hcConnect
The function establishes a link between the user application and HyperChem.
It must be called before ANY other function is called except for auxiliary func-
tions.
API header
BOOL _stdcall hcConnect(LPSTR lszCmd);
FORTRAN interface
logical function hfConnect(init_string)
character*(*) init_string
Parameters
C/C++: LPSTR lszCmd - command line received from HyperChem or empty string (
“” ). See Remarks.
242 Appendix C
The API functions
Return Value
The function returns TRUE(1) when it finds HyperChem and establishes a
connection to it. When it fails, it returns FALSE(0).
Remarks
The command line string lszCmd is received from HyperChem when the
application is called via the ‘execute-hyperchem-client’ script command.
The string contains the information required to connect the user application
with a proper instance of HyperChem. When HyperChem initiates the user
application after issuing a script command:
execute-hyperchem-client userapp.exe
the user application receives a command line parameter. The parameter has
the form:
-hinst:ChemServer-xxxx
For example:
-hinst:ChemServer-510e
The user application should read the command line and simply pass it as a
parameter to hcConnect. If the parameter is not passed (lszCmd points to an
empty string “”), the HAPI connects to the first HyperChem instance it finds.
This may cause problems when there are more than one active HyperChem
on the desktop.
If the flag errACTION_MESS_BOX is raised for error processing (see Auxil-
iary functions) the HAPI displays a message box if the function is not able to
establish a connection with HyperChem. The action then depends on the
user’s choice (Abort/Retry/Ignore).
When the user ignores the message, hcConnect returns FALSE. See Error
processing section for details.
See Also
hcDisconnect, hcSetErrorAction, hcLastError
hcDisconnect
The function hcDisconnect closes the connection with HyperChem opened by
hcConnect.
API header
BOOL hcDisconnect(void);
FORTRAN interface
logical function hfDisconnect()
Parameters
The function takes no parameters
Return Value
The function returns TRUE if the disconnecting was successful.
Remarks
The function is called automatically when errors occurs and the user chooses
ABORT as an action. The application should always close the connection
before it exits, otherwise the number of open but not used DDE channels
would grow unnecessarily.
See Also
hcConnect
244 Appendix C
The API functions
hcExit
This function causes an immediate exit from the application that calls it.
API header
void hcExit(void);
FORTRAN interface
subroutine hfExit()
Parameters
The function takes no parameters.
Remarks
The function should be treated as an emergency exit rather than a regular
method of exiting program operation.
hcExecTxt
This function executes a HyperChem command in a text format. The function
is also used for updating HSV values using a text format.
API header
BOOL hcExecTxt(LPSTR script_cmd);
FORTRAN interface
logical function hfExecTxt(script_cmd)
character*(*) script_cmd
Parameters
C/C++: The parameter is a NULL terminated string containing the command to be
executed.
FORTRAN: The parameter is Fortran string containing the command to be executed.
VB: The parameter is VB string containing the command to be executed
Return Value
The function returns TRUE (1) upon successful completion. If there is an
error, the user is notified by the appropriate message-box. If the error pro-
cessing level is set to errACTION_NO (see SetErrorAction), the user may call
hcLastError for info about the error.
Remarks
The update of an HSV variable is conceptually similar to the execution of a
command. Hence, to set the value of an HSV variable the user’s application
might use the following syntax:
result=hcExecTxt(“coordinates(1,2)=0.1,0.2,0.3”)
See Also
hcQueryTxt, hcExecBin
hcQueryTxt
The function queries for a value of an HSV variable in text mode.
246 Appendix C
The API functions
API header
LPSTR hcQueryTxt(LPSTR hsv);
FORTRAN interface
logical function hfQueryTxt(hsv, res)
character*(*) hsv,res
Parameters
C/C++: Null terminated string containing HSV to be queried. May contain indices in
the case of vector and array variables.
FORTRAN: ‘hsv’ is a Fortran string containing the HSV to be queried. ‘res’ is a
Fortran string where the output is placed.
VB: VB String containing HSV name to be queried.
Return Value
In the C, C++, or VB version , the function allocates the memory required to
hold the answer and returns a pointer or a NULL pointer if the answer is not
valid. However, the Fortran interface receives logical .true. or .false. indicat-
ing successful or unsuccessful completion of the function.
Remarks
When accessed from C/C++, the function returns a pointer to the newly allo-
cated memory. Hence, the calling application is responsible for deallocating
this particular memory block after it has been used, using the hcFree call.
The Fortran interface deallocates the memory block automatically. However,
it is the calling application’s responsibility to pass a reference to the Fortran
string (‘res’) of sufficient length. If the answer is longer than provided
string, the output is truncated.
When Querying for elements of vectors and arrays, the regular
‘parenthesis’ syntax is used. For example:
txt_xyz=hcQueryTxt(“coordinates(1,2)”);
for querying the coordinates of atom 1 in molecule 2.
See Also
hcQueryBin; see remarks for hcExecTxt for information about modifying
HSV values.
hcExecBin
This function executes a binary representation of a script command.
API header
BOOL hcExecBin(HSV cmd, LPV args, DWORD args_length);
FORTRAN interface
logical function hfExecBin(cmd,args,args_length)
integer cmd,args,args_length
dimension args(args_length)
Parameters
C/C++: ‘cmd’ specifies the HSV code. The calling application should include an
‘hsv.h’ file to have the codes available. ‘args’ is a pointer to memory
block containing possible arguments. ‘args_length’ is the total length of
valid data pointed to by ‘args’.
FORTRAN: The calling application should include an ‘hsv.fi’ file to have the relevant
HSV codes available. The difference in the Fortran interface is that ‘args’
is the reference to integer array. When transfering arguments of different
types, the user has to use an equivalence instruction to pack the array with
the required data type.
VB: The ‘cmd’ and ‘args_length’ parameters have the same meaning as for C and
248 Appendix C
The API functions
Fortran. The ‘args’ parameter is of ‘IntBuff’ type. This user defined Visual
Basic type is defined in ‘hsv.bas’ module file.
Return Value
The function returns TRUE when successfully completed.
Remarks
The function may be used to update the values of an HSV variable, similar to
the update via the use of hcExecTxt. Data may need to be packed. However,
it is highly recommended that you use instead the functions from the Binary
Get/Set group, which perform all required packing internally.
Some commands may take time to complete. The regular time-out value for
command completion is set at about 65 seconds. The user may extend the
time-out by calling hcSetTimeouts
See Also
hcQueryBin, hcGetxxx and hcSetxxx functions
hcQueryBin
The function queries for the binary value of an HSV of any type.
API header
void* hcQueryBin(int hsv,int indx1,int indx2,int* resp_length);
FORTRAN interface
logical function hfQueryBin(hsv,indx1,indx2,result,resp_length)
integer hsv,indx1,indx2,resp_length,result
dimension result(resp_length)
Parameters
C/C++: ‘hsv’ - the binary code for HSV to be queried. ‘indx1’, ‘indx2’ the
indexes for vector and array HSVs conforming the rules: indx1=0, indx2=0 -
queries scalar HSV, entire vector or entire array; indx1=n,indx2=0 - queries
n-th element of the vector HSV; indx1=m, indx2=n - get m,n-th element of the
array HSV. ‘resp_length’ is the pointer to an integer variable where the
length of the memory allocated by the function and returned as a pointer is
stored.
FORTRAN: The arguments: ‘hsv’, ‘indx1’ and ‘indx2’ have identical meaning as in
C/C++ case. The fourth argument, ‘result’ is a reference to the integer
array that will receive the result of the query. The fifth argument,
‘resp_length’ should contain maximum number of bytes that ‘result’
array can receive. Upon successful completition ‘resp_length’ will hold the
number of bytes received.
VB: The ‘var’, ‘indx1’ and ‘indx2’ have the same meaning as for C/C++ and
Fortran. ‘result’ is a variable of the ‘IntBuff’ type defined in hsv.bas. See
remarks to hcExecBin for explanations. The fifth argument, ‘resp_length’
should contain maximum number of bytes that ‘result’ array can receive.
Return Value
In the C/C++ case the function returns the pointer to the memory allocated
to hold the result of the query. A null value indicates failure during the query
operation. In the Fortran and VB interface the function returns 1 if it was
completed successfully and 0 otherwise.
Remarks
In the C/C++ case the function allocates a required memory block and
returns the resultant pointer. It is the calling application’s responsibility to
free the memory when it is no longer needed, by calling hcFree.
When querying for vector and array variable with indexes (indx1 and/or
indx2 set to zero) the result of the query contains all of the elements of respec-
tive variable. If it is an array, the atom indices change faster than the mole-
cule indices.
If, in the Fortran case, the size of ‘result’ is smaller than the size of the
query results, only the first ‘resp_length’ bytes are actually transferred to
the ‘result’ array.
250 Appendix C
The API functions
See Also
hcExecBin, hcQueryTxt, hcGetxxx, hcSetxxx
hcGetInt
The function gets the value of a scalar HSV of integer type and returns that
value.
API header
FORTRAN interface
Declare Function hbGetInt Lib "hapi.dll" Alias "hcGetInt" (ByVal hsv As Long)
As Long
Parameters
Return Value
The function returns the value of the HSV variable of integer type.
Remarks
See Also
hcGetReal
The function gets the value of a scalar HSV of floating point (double
precision) type and returns this value.
API header
FORTRAN interface
Declare Function hbGetReal Lib "hapi.dll" Alias "hcGetReal" (ByVal hsv As Long)
As Double
Parameters
Return Value
252 Appendix C
The API functions
See Also
hcSetReal
hcGetIntVec
The function gets the contents of the HSV variable of integer vector type .
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the vector is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
integer array to receive the vector, ‘res_length’ - the size of ‘result’ array.
VB: The ‘hsv’ and ‘max_length’ have the same meaning as in the C/C++ case.
‘buff’ is of IntBuff type defined in ‘hsv.bas’ module definition file.
Return Value
The function returns the number of integer words transfered to the buffer, if
the operation was completed successfuly, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the amount of integer words in the HSV is larger than the
buffer, only the first 'max_length' words are copied into buffer. the same
applies to the Fortran ‘result’ and ‘res_length’ variables.
See Also
hcGetIntArr
The function gets the contents of the HSV variable of the integer array type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the array is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
integer array to receive the HSV array, ‘res_length’ - the size of the
‘result’ array.
VB: N/A
Return Value
The function returns the number of integer words transferred to the buffer, if
the operation was completed successfuly, or 0 if it failed.
254 Appendix C
The API functions
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the amount of integer words in the HSV is larger than the
buffer, only first 'max_length' words are copied into buffer. The same applies
to the Fortran ‘result’ and ‘res_length’ variables.
See Also
hcGetIntArrElm
The function gets the contents of the HSV variable of integer array type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
‘molecule_index’ - index for the column of the array.
FORTRAN: ‘hsv’ - the HSV code for the array variable, 'atom_index' - index for the row
of array, ‘mol_index’ - index for the column of the array.
VB: N/A
Return Value
The function returns the integer value of the element of the array HSV
variable of type integer.
Remarks
HSV arrays are always the arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
hcGetRealVec
The function gets the contents of the HSV variable of the real (double
precision) vector type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the vector is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array to receive the HSV vector, ‘res_length’ - the size of
‘result’ array.
VB: N/A
256 Appendix C
The API functions
Return Value
The function returns the number of double precision words transfered to the
buffer, if the operation was completed successfully, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the amount of double precision words in the HSV is
larger than the buffer, only first 'max_length' words are copied into buffer.
the same applies to Fortran ‘resul’ and ‘res_length’ variables.
See Also
hcGetRealArr
The function gets the contents of the HSV variable of the real (double
precision) array type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the array is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array to receive the HSV vector, ‘res_length’ - the size of
‘result’ array.
VB: N/A
Return Value
The function returns the number of double precision words transfered to the
buffer, if the operation was completed successfuly, or 0 if it failed.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff’ was allocated and is of
'max_length' size. If the amount of double precision words in the HSV is
larger than the buffer, only first 'max_length' words are copied into buffer.
The same applies to Fortran ‘result’ and ‘res_length’ variables.
See Also
hcGetIntVecElm
The function gets the integer value of an element of the vector-type HSV
variable.
API header
FORTRAN interface
258 Appendix C
The API functions
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element to be retrieved.
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘index’ - points out the
element to be retrieved.
VB: N/A
Return Value
The function returns the integer value of the element of an HSV variable of
integer type.
Remarks
The first element of the vector is referred to as an element with index equal to
one.
See Also
hcGetRealVecElm
The function gets the value of a double-precision element of a vector HSV
variable..
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element to be retrieved.
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘index’ - points out the
element.
VB: N/A
Return Value
The function returns the double precision value of the element of the HSV
vector of real type.
Remarks
The first element of the vector is refered to as an element with index equal to
one.
See Also
hcGetRealArrElm
The function gets an element of an array HSV of real (double precision type).
API header
FORTRAN interface
260 Appendix C
The API functions
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array
FORTRAN: ‘hsv’ - the HSV code for the array variable, ‘atom_index’ - index for the
row of array, ‘molecule_index’ - index for the column of the array.
VB: N/A
Return Value
The function returns the double precision value of the element of the array
HSV variable of real type.
Remarks
HSV arrays are always arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
hcGetRealArrXYZ
The function gets the three reals (double precision) that form an element of
the array HSV variable. It's designed almost exclusively for getting Cartesian
coordinates of an atom.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array, 'x' , 'y' and 'z' pointers to
double precision words where the results will be placed.
FORTRAN: ‘hsv’ - the HSV code, ‘atom_index’ - index for the row of the array,
‘molecule_index’ - index for the column of the array, ‘x’, ‘y’, and ‘z’
- double precision variables that receive the results.
VB: N/A
Return Value
Remarks
hcGetRealVecXYZ
The function gets the three components of the elements of a vector HSV
variable.
API header
FORTRAN interface
262 Appendix C
The API functions
double precision x, y, z
Parameters
C/C++: 'var' - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and
'z' pointers to double precision words where the results will be placed.
FORTRAN: ‘hsv’ - the HSV code, ‘index’ - index of the vector element, ‘x’, ‘y’,
and ‘z’ - double precision values that receive the results.
VB: N/A
Return Value
Remarks
hcGetStr
This function retrives the contents of the HSV variable of string type.
API header
FORTRAN interface
Declare Function hbGetStr Lib "hapi.dll" Alias "hcGetStr" (ByVal var As Long,
ByVal buff As String, ByVal max_length) As Long
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the string is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code, ‘result’ - character array where the string is copied,
‘res_length’ - the length of the ‘result’ string.
VB: N/A
Return Value
The function returns the number of charactesr copied into the buffer if the
operation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the number of characters in the HSV is larger than the
buffer, only first 'max_length' bytes are copied into buffer.
See Also
hcGetStrVecElm
The function retrives the contents of the element of the vector HSV variable
of string type.
API header
FORTRAN interface
264 Appendix C
The API functions
character*(*) result
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element to be retrieved, 'buff'
pointer to the buffer where the string is copied, 'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code, ‘index’ - pointsout the element to be retreived,
‘result’ - character array where the string is copied, ‘res_length’ - the
length of’result’ array.
VB: N/A
Return Value
The function returns the number of characters copied into the buffer if the
operation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the number of characters in the HSV is larger than the
buffer, only first 'max_length' bytes are copied into buffer.
The first element of the vector has index equal to one.
See Also
hcGetStrArrElm
The function retrives the contents of the element of the array HSV variable of
string type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array, 'buff' pointer to the
buffer where the string is copied, 'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code, ‘atom_index’ - index for the row of array,
‘mol_index’ - index for the column of array, ‘result’ - character array
where the string is copied, ‘res_length’ - the length of’result’ array.
VB: N/A
Return Value
The function returns the number of characters copied into buffer if the
operation was sucessful or zero otherwise.
Remarks
The function does not allocate memory for 'buff' - it assumes that the
appropriate memory block pointed out by 'buff' was allocated and is of
'max_length' size. If the number of characters in the HSV is larger than the
buffer, only first 'max_length' bytes are copied into buffer.
Both indices start with one.
See Also
266 Appendix C
The API functions
hcGetBlock
The function retrives the contents of the whole HSV variable irrespetiv of its
type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the data is copied,
'max_length' - the size of 'buff'
FORTRAN: ‘hsv’ - the HSV code, ‘result’ - the integer*1 (byte) array where the data
is copied, ‘res_length’ - the size of the result.
VB: N/A
Return Value
The function returns the number of bytes copied into the buffer.
Remarks
Some HSV variables, particularly some vectors and arrays, have the type of
element which is not just an integer, real or string. The hcGetBlock was
provided to get access to that kind of variable. However, the user's
application is responsible for the interpretation of the data in the block and
the proper "sorting-out" of individual elements of the block.
See Also
hcSetBlock, hcQueryBin
hcSetInt
The function updates the scalar HSV of integer type.
API header
FORTRAN interface
Declare Function hbSetInt Lib "hapi.dll" Alias "hcSetInt" (ByVal hsv As Long,
ByVal value As Long) As Long
Parameters
C/C++: ‘var’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
FORTRAN: ‘hsv’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
VB: ‘var’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
Return Value
Remarks
See Also
268 Appendix C
The API functions
hcSetReal
The function updates the scalar HSV of floating point (double precision)
type.
API header
FORTRAN interface
Declare Function hbSetReal Lib "hapi.dll" Alias "hcSetReal" (ByVal hsv As Long,
ByVal value As Double) As Long
Parameters
C/C++: ‘var’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
FORTRAN: ‘hsv’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
VB: ‘var’ - HSV code of the variable to be modified, ‘value’ - new value for
the variable.
Return Value
Remarks
See Also
hcGetReal
hcSetIntVec
The function updates the vector HSV variable of the integer element type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer with the new contens for the
vector, 'length' - the number of elements in the 'buff' buffer.
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
integer array containing data for the vector, ‘res_length’ - the size of
‘result’ array.
VB: N/A
Return Value
Remarks
270 Appendix C
The API functions
hcSetIntArr
The function updates the array HSV variable of the integer element type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer with the new contens for the
array, 'length' - the number of elements in the 'buff' buffer.
FORTRAN: ‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
integer array containing data for the array, ‘res_length’ - the size of
‘result’ array.
VB: N/A
Return Value
Remarks
hcSetIntArrElm
The function updates the element of the array HSV variable of the integer
array type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
‘molecule_index’ - index for the column of the array, ‘value’ - the new
value for the variable.
FORTRAN: 'hsv' - the HSV code, 'atom_index' - index for the row of array,
‘molecule_index’ - index for the column of the array, ‘value’ - the new
integer value for the variable.
VB: N/A
Return Value
Remarks
HSV arrays are always the arrays with atom-in-molecule and molecule index.
Both indices run from 1 to number of respective elements.
See Also
272 Appendix C
The API functions
hcSetRealVec
The function updates the contents of the HSV variable of the real (double
precision) type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer with the new contens for the
vector, 'length' - the number of elements (double precission words) in the
'buff' buffer.
FORTRAN: ‘hsv’ - the HSV code for the vector variable, ‘result’ - one dimensional
double precision array containing the data for the vector, ‘res_length’ - the
size of the ‘result’ array.
VB: N/A
Return Value
See Also
hcSetRealArr
The function updates the HSV variable of the real (double precision) type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer with the new contens for the
array, 'length' - the number of elements (double precission words) in the 'buff'
buffer.
FORTRAN: ‘hsv’ - the HSV code for the array variable, ‘result’ - one dimensional
double precision array containing the data for the array, ‘res_length’ - the
size of the ‘result’ array.
VB: N/A
Return Value
274 Appendix C
The API functions
Remarks
hcSetIntVecElm
The function updates the element of the vector HSV variable of integer type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element to be updated, ‘value’
- new value for the element.
FORTRAN: 'hsv' - the HSV code fo rthe vector variable, 'index' - points out the element to
be updated, ‘value’ - new value for the element.
VB: N/A
Return Value
Remarks
hcSetRealVecElm
The function updates the element of the vector HSV variable of double-
precission type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element to be updated, ‘value’
- new value for the element.
FORTRAN: 'hsv' - the HSV code for the vector variable, 'index' - points out the element to
be updated, ‘value’ - new double precision value for the element.
VB: N/A
Return Value
276 Appendix C
The API functions
not updated.
Remarks
See Also
hcSetRealArrElm
The function updates the element of the array HSV variable of real (double
precission type).
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array, value - the new value for
the variable
FORTRAN: 'hsv' - the HSV code, 'atom_index' - index for the row of array, 'mol_index' -
index for the column of the array, value - the new value for the variable
VB: N/A
Return Value
See Also
hcSetRealArrXYZ
The function updates an element of array HSV variable that has three real
numbers as the element type. It's designed almost exclusively for updating the
cartesian coordinates for an atom
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array, 'x' , 'y' and 'z' are double
precision new values for the element.
278 Appendix C
The API functions
FORTRAN: 'hsv' - the HSV code, 'atom_index' - index for the row of array, 'mol_index' -
index for the column of the array, 'x' , 'y' and 'z' are double precision new
values for the element.
VB: N/A
Return Value
Remarks
hcSetRealVecXYZ
The function updates an element of vector HSV variable that has three real
numbers as the element type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and
'z' double precision new values for the element.
FORTRAN: 'hsv’ - the HSV code, 'index' - index for the element of the vector, 'x' , 'y' and
'z' double precision new values for the element.
VB: N/A
Return Value
Remarks
hcSetStr
The function updates the content of the HSV variable of string type.
API header
FORTRAN interface
Declare Function hbSetStr Lib "hapi.dll" Alias "hcSetStr" (ByVal var As Long,
ByVal buff As String) As Long
280 Appendix C
The API functions
Parameters
C/C++: 'var' - the HSV code, 'string' pointer to the NULL-terminated string
containing a new string.
FORTRAN: 'hsv' - the HSV code, 'buff' - Fortran character array containing the new value
of the string.
VB: N/A
Return Value
Remarks
See Also
hcSetStrVecElm
The function updates the content of the element of the vector HSV variable of
string type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'index' - points out the element of the variable to be
Remarks
hcSetStrArrElm
The function updates the element of the array HSV variable of string type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'atom_index' - index for the row of array,
'molecule_index' - index for the column of the array, 'string' pointer to the
282 Appendix C
The API functions
Remarks
hcSetBlock
The function updates the contents of the whole HSV variable irrespevtively of
its type.
API header
FORTRAN interface
Parameters
C/C++: 'var' - the HSV code, 'buff' pointer to the buffer where the data is copied,
'length' - the size of 'buff' (in bytes)
FORTRAN: 'hsv' - the HSV code, 'buff' - integer*1 (byte) array containing the data,
Remarks
Some HSV variables, particularly, some vectors and arrays have the type of
element which is not scalar. The hcGetBlock was provided to get access to
that kind of variable. However, the user's application is responsible for the
interpretation of the data in the block and proper setting all of the individual
elements of the block.
See Also
hcGetBlock, hcQueryBin
hcNotifyStart
The function requests for notifications about any change of the HSV variable.
API header
FORTRAN interface
284 Appendix C
The API functions
Parameters
Return Value
Remarks
The function simply request for notification. H how the notification will be
processed is specified by the hcNotifySetup function.
See Also
hcNotifyStop, hcNotifySetup
hcNotifyStop
The function cancels the request for notifications about the change of the HSV
variable.
API header
FORTRAN interface
Parameters
C/C++: ‘var_name’ - HSV name (text) for which notification request is cancelled.
FORTRAN: ‘hsv_name’ - HSV name (text) for which notification request is cancelled
VB: N/A
Return Value
Remarks
The function stops the notification irrespective of the method for notification
processing.
See Also
hcNotifyStart, hcNotifySetup
hcNotifySetup
The function establishes how the notifications have to be processed.
API header
int hcNotifySetup(PFNB pCallBack,int NotifyWithText);
FORTRAN interface
logical function hfNotifySetup (FnCallback, TextAdviseFlag)
logical TextAdviseFlag
Parameters
286 Appendix C
The API functions
Remarks
The user application may define its own function to process notification in
one of the forms:
See Also
hcNotifyStart, hcNotifyStop
hcNotifyDataAvail
The functions checks if the Notification Agent has any not-processed
notifications in its buffers.
API header
int hcNotifyDataAvail(void);
FORTRAN interface
Parameters
Return Value
The application may call the function as often as required; a call to the
function deschedules the time slicing of the Windows operating system, so the
application does not consume much processing time.
See Also
hcNotifyStart, hcNotifySetup
hcGetNotifyData
The functions gets data arriving from a notification previously checked.
API header
int hcGetNotifyData(char* name,char *buffer, DWORD MaxBuffLength);
288 Appendix C
The API functions
FORTRAN interface
integer function hfGetNotifyData( name. result, res_length)
integer res_length
character*(*) name, result
Parameters
C/C++: ‘name’- is the address of the buffer where the name of the variable is
placed. ‘buffer’ - is the address of the buffer where incoming data will be
copied, ‘MaxBufferLength’ is the maximum size of the data block that
‘buffer’ can accept.
FORTRAN: ‘name’- is the character array where the name of the variable is placed.
‘result’ - is the character array where incoming data will be copied,
‘res_length’ is the maximum size of the data block that ‘result’ can accept
(in bytes).
VB: N/A
Return Value
The function returns the number of bytes copied by the function to the buffer
‘buffer’.
Remarks
See Also
hcAlloc
The function allocates a memory block.
API header
void* hcAlloc(size_t n_bytes);
FORTRAN interface
This function is unavailable for Fortran programs
Parameters
C/C++: ‘n_bytes’ number of bytes to allocate.
FORTRAN: N/A
VB: N/A
Return Value
The function returns a pointer to the allocated block, or NULL if the
allocation was not successful.
Remarks
The ‘hcAlloc’ allocates memory for both internal HAPI needs and possible
user requirements. However, the user may use regular C/C++ allocation
routines.
See Also
hcFree
290 Appendix C
The API functions
hcFree
The function deallocates a block of memory previously allocated by a call to
hcAlloc.
API header
void hcFree(void* pointer);
FORTRAN interface
This function is unavailable for Fortran programs
Parameters
C/C++: ‘pointer’ is the pointer obtained by a previous call to hcAlloc.
FORTRAN: N/A
VB: N/A
Return Value
The function does not return any data.
Remarks
The main use for hcFree is after processing the data returned by hcQueryTxt
and hcQueryBin. See description for these functions.
See Also
Auxiliary Functions
hcShowMessage
The function displays message box with provided string.
API header
void hcShowMessage(LPSTR message);
FORTRAN interface
subroutine hfShowMessage( str)
character*(*) str
Parameters
C/C++: ‘message’ points to NULL terminated string containing message to be
displayed.
FORTRAN: ‘str’ - Fortran string containing the message to display.
VB: N/A
Return Value
The function does not return any data.
Remarks
The function may be useful for debuging programs that cannot easily display
regular Windows messages (like most console-based programs).
See Also
292 Appendix C
The API functions
hcSetTimeouts
The function sets new timeout values for execution, querying and other types
of communication.
API header
void hcSetTimeouts(int ExcTimeOut,int QryTimeOut,int RstTimeOut);
FORTRAN interface
subroutine hfSetTimeouts(t_exc, t_qry, t_other)
integer t_exc, t_qry, t_other
Parameters
C/C++: ‘ExcTimeOut’ is the new time-out value (in miliseconds) for the execution
of commands sent to HyperChem, ‘QryTimeOut’ is the new time-out value
(in miliseconds) for the processing requests for HSV variables
,’RstTimeOut’ is the new time-out value for processing controling
commands, like notification requests etc.
FORTRAN: ‘t-exc’ is the new time-out value (in milliseconds) for the execution of
commands sent to HyperChem, ‘t_qry’ is the new time-out value (in
milliseconds) for processing requests for HSV variables ,’t_other’ is the
new time-out value for process controlling commands, like notification
requests, etc.
VB: N/A
Return Value
The function does not return any data.
Remarks
The default value for all time-outs is about 65 seconds (0xFFF0.) After this
time expires and any command, query or other operation has not finished, the
error condition is invoked. The user may increase the time-out value for any
of these three types. The most common situation where the time expires is
associated with execution of commands controlled by ‘’ExcTimeOut’ and
t_exc’.
See Also
hcLastError
This function retrieves code and messages associated with the last error
associated with an HAPI operation.
API header
int hcLastError(char* LastErr);
FORTRAN interface
integer function hfLastError( error)
character*(*) error
Parameters
C/C++: The ‘LastErr’ pointer to string that will receive the text message associated
with the last error. The string should be of ‘hcMaxMessSize’, with
‘hcMaxMessSize’ defined in ‘hc.h’
FORTRAN: ‘error’ is the Fortran string that receives the last error message.
VB: N/A
Return Value
The function returns a value indicating how severe the error was. There are
three possibilities:
errNO_ERROR - last operation was completed successfully
errNON_FATAL - last operation has not completed successfully, but the
294 Appendix C
The API functions
Remarks
The hcLastError function is most useful when the user setsthe error action
flag to errACTION_NO using hcSetErrorAction. In this case the error does
not invoke messages on the screen asking for user intervention.
See Also
hcSetErrorAction, hcGetErrorAction
hcGetErrorAction
This function retrives the flag informing you how HAPI processes errors.
API header
int hcGetErrorAction(void);
FORTRAN interface
integer function hfGetErrorAction()
Parameters
C/C++: The function takes no parameters.
FORTRAN:
VB:
Return Value
The function returns the flag that may be a sum of the following flags defined
in ‘hc.h’:
errACTION_NO - do not perform any action on any error
errACTION_MESS_BOX - display message box with error message
errACTION_DISCONNECT - disconnect the application from HyperChem
errACTION_EXIT- immediately exit from application
errDDE_REP - report low level DDE error messages
errDDE_NO_REP - do not report low level DDE error messages
Remarks
The function should be called before the user changes the error processing
method by a call to hcSetErrorAction, and its value stored for later use in
restoring the original error processing method.
See Also
hcLastError, hcSetErrorAction
hcSetErrorAction
This function changes the way errors are processed.
API header
void hcSetErrorAction(int err);
FORTRAN interface
subroutine hfSetErrorAction(action)
integer action
296 Appendix C
The API functions
Parameters
C/C++: ‘err’ - the value indicating how errors are to be processed. Must be a sum
of the following flags defined in ‘hc.h’:
errACTION_NO - do not perform any action on any error
errACTION_MESS_BOX - display message box with error message
errACTION_DISCONNECT - disconnect the application from HyperChem
errACTION_EXIT - immediately exit from application
errDDE_REP - report low level DDE error messages
errDDE_NO_REP - do not report low level DDE error messages
FORTRAN: ‘action’ -indicates how errors are processed. See above for symbolic names.
VB: N/A
Return Value
The function does not return any data.
Remarks
There are situations when the user does want to change the default error
processing. By combining the value of flags in the appropriate sum it is
possible to get different actions on errors, ranging from no action
(errACTION_NO) to full information ( errACTION_MESS_BOX |
errDDE_REP) and, possibly, exiting from current application
(errACTION_EXIT ).
See Also
hcGetErrorAction, hcLastError
298 Appendix C
HyperChem®
Computational Chemistry
Part 1
Practical Guide
Part 2
Theory and Methods
Hypercube, Inc.
Publication HC70-00-04-00 January 2002
Copyright © 2002 Hypercube, Inc.
All rights reserved
The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This
publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN
CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.
Hypercube Trademarks
All other brand and product names are trademarks or registered trademarks of their respective holders.
PRINTED IN USA
Table of Contents
Preface 1
Who Should Read this Guide? . . . . . . . . . . . . . . . .1
Annotated Bibliography . . . . . . . . . . . . . . . . . .2
iii
Chapter 3 Calculation Methods 21
Molecular Mechanics . . . . . . . . . . . . . . . . . 21
Bonds and Angles . . . . . . . . . . . . . . . . 23
Torsions . . . . . . . . . . . . . . . . . . . 25
van der Waals Interactions and Hydrogen Bonding . . . . . 26
Electrostatic Potential . . . . . . . . . . . . . . 27
United versus All Atom Force Fields . . . . . . . . . . 28
Cutoffs . . . . . . . . . . . . . . . . . . . 29
Quantum Mechanics. . . . . . . . . . . . . . . . . . 31
Background . . . . . . . . . . . . . . . . . . 33
Molecular Geometry . . . . . . . . . . . . 33
Calculating Electronic Potential Energy . . . . . . 33
Range of Quantum Mechanics Methods . . . . . . . . . 35
Exclusion Principle . . . . . . . . . . . . . . . 35
Simplified Wave Functions . . . . . . . . . . . . . 37
Hartree-Fock Wave Functions . . . . . . . . . . . . 38
Extending the Wave Function Calculation . . . . . . . . 39
Extending the Wave Function Calculation . . . . . 39
Configuration Interaction . . . . . . . . . . 39
Møller-Plesset Perturbation Theory . . . . . . . 41
Density Functional Theory (DFT) . . . . . . . . . . . 42
Kohn-Sham Orbitals . . . . . . . . . . . . 43
Molecular Orbitals and Electronic Structure. . . . . . . . 43
Orbital Occupancy . . . . . . . . . . . . . 43
Atomic Orbitals and Their Interactions . . . . . . 44
SCF Technique . . . . . . . . . . . . . . 45
Virtual Orbitals . . . . . . . . . . . . . . 46
RHF and UHF . . . . . . . . . . . . . . . . . 46
Multiplicity Considerations . . . . . . . . . . 47
Bond Breaking . . . . . . . . . . . . . . 47
RHF Half-Electron Technique . . . . . . . . . . . . 48
SCF Convergence . . . . . . . . . . . . . . . . 49
Applying an External Field . . . . . . . . . . . . . 50
Calculation Results . . . . . . . . . . . . . . . 50
Quantitative Results . . . . . . . . . . . . 52
iv Table of Contents
Electrostatic Potential . . . . . . . . . . . . . . . . . 55
Examples of Single Point Calculations . . . . . . . . . . . . 55
Chapter5 GeometryOptimizationsandTransitionStateSearching
59
Geometry Optimizations . . . . . . . . . . . . . . . . 59
Steepest Descent . . . . . . . . . . . . . . . . 60
Conjugate Gradient . . . . . . . . . . . . . . . 61
Block Diagonal . . . . . . . . . . . . . . . . 62
Eigenvector Following . . . . . . . . . . . . . . 62
Conjugate Directions . . . . . . . . . . . . . . 62
Setting Convergence Criteria . . . . . . . . . . . . 63
Examples of Geometry Optimizations . . . . . . . . . 64
Solvation and Periodic Boundary Conditions . . . . . . . 65
Transition State Searching. . . . . . . . . . . . . . . . 67
Eigenvector Following . . . . . . . . . . . . . . 68
Synchronous Transit . . . . . . . . . . . . . . 69
Table of Contents v
Using Geometric Restraints . . . . . . . . . . . . . . . 83
Using Experimental Data as Restraints . . . . . . . . . 84
Crossing Energy Barriers . . . . . . . . . . . . . . 84
LimitingConformationalChangesduringHighTemperatureSimulations
84
Docking Molecules . . . . . . . . . . . . . . . 86
Freezing Part of a System . . . . . . . . . . . . . . . . 86
Solvent Simulations . . . . . . . . . . . . . . . . . . 87
Choice of Dielectric Constant . . . . . . . . . . . . 87
Effects on Dynamic Motion . . . . . . . . . . . . . 88
Collecting Averages from Simulations . . . . . . . . . . . . 88
Evaluating Stability and Equilibration . . . . . . . . . 89
Constant Energy Simulations . . . . . . . . . 89
Constant Temperature Simulations . . . . . . . 90
Conformational Searches . . . . . . . . . . . . . 90
Setting Up a Molecular Dynamics Simulation . . . . . . . . . . 91
Heating Time . . . . . . . . . . . . . . . . . 91
Simulation or Run Time . . . . . . . . . . . . . . 91
Cooling (Annealing) Time . . . . . . . . . . . . . 92
Step Size . . . . . . . . . . . . . . . . . . . 92
Temperature . . . . . . . . . . . . . . . . . 93
Scripts . . . . . . . . . . . . . . . . . . . 93
Bond Breaking . . . . . . . . . . . . . . . . . . . . 93
vi Table of Contents
Equilibration and Statistical Averaging . . . . . . 102
Heating and Cooling. . . . . . . . . . . . 103
Table of Contents ix
Molecular Mechanics versus Quantum Mechanics . . . . 171
Classical Mechanics on a Potential Energy Surface . . . . 172
Force-Energy Generators . . . . . . . . . . . . . 173
x Table of Contents
van der Waals . . . . . . . . . . . . . . 201
Electrostatic . . . . . . . . . . . . . . 201
BIO+. . . . . . . . . . . . . . . . . . . . 202
Bond Stretching . . . . . . . . . . . . . 202
Angle Bending . . . . . . . . . . . . . . 203
Dihedrals . . . . . . . . . . . . . . . 203
Improper Dihedrals . . . . . . . . . . . . 203
van der Waals . . . . . . . . . . . . . . 204
Electrostatic . . . . . . . . . . . . . . 205
Hydrogen Bonding . . . . . . . . . . . . 205
Urey-Bradley . . . . . . . . . . . . . . 205
Parameter Sets . . . . . . . . . . . . . . . . . . . 205
Text or DBF Form for Parameters . . . . . . . . . . . 206
Modifying Existing Parameter Sets . . . . . . . . . . 207
Creating New Parameter Sets . . . . . . . . . . . . 207
Compiling Parameters . . . . . . . . . . . . . . . . . 208
Registry Setup of Force Field Options . . . . . . . . . 208
Periodic Boundary Conditions and Solvent . . . . . . . . . . 210
The Periodic Boundary Conditions . . . . . . . . . . 210
Equilibrated Water Box . . . . . . . . . . . . . . 211
Details of Solvation Methodology . . . . . . . . . . 212
Restraints . . . . . . . . . . . . . . . . . . . . . 212
Definition of a Restraint . . . . . . . . . . . . . 212
Adding Restraints . . . . . . . . . . . . . . . 213
The Default (MM+) Force Field . . . . . . . . . . . . . . 214
The Wild Card Approach . . . . . . . . . . . . . 215
The Default Force Field . . . . . . . . . . . . . . 216
Approximate Hybridization . . . . . . . . . 216
Bond Stretching . . . . . . . . . . . . . 218
Parameters for Butadiene and Related Molecules .
220
Angle Bending . . . . . . . . . . . . . . 221
Stretch-Bends . . . . . . . . . . . . . . 221
Out-Of-Plane Bends . . . . . . . . . . . . 221
Torsions . . . . . . . . . . . . . . . . 221
Single Bonds . . . . . . . . . . . 221
Double Bonds . . . . . . . . . . . 222
Electrostatic . . . . . . . . . . . . . . 222
van der Waals . . . . . . . . . . . . . . 222
Table of Contents xi
Approximate Solutions of the Schrödinger equation . . . . 227
Charge and Multiplicity . . . . . . . . . . . . . 228
Independent Electron Methods . . . . . . . . . . . . . 229
The Independent Electron Approximation . . . . . . . 229
Molecular Orbitals. . . . . . . . . . . . . . . 230
Orbital Energy Diagrams. . . . . . . . . . . . . 230
The MO-LCAO Approximation. . . . . . . . . . . 231
The Matrix equations for the Molecular Orbitals . . . . . 232
Solving for the Molecular Orbitals. . . . . . . . . . 233
Self-Consistent Field Methods . . . . . . . . . . . . . . 234
Hartree-Fock Method . . . . . . . . . . . . . . 234
The Roothaan equations . . . . . . . . . . . . . 235
Spin Pairing . . . . . . . . . . . . . . . . . 236
Pople-Nesbet Unrestricted equations . . . . . . . . . 237
Convergence . . . . . . . . . . . . . . . . 239
Spin Pairing—Restricted or Unrestricted? . . . . . . . 240
Electronic States . . . . . . . . . . . . . . . 242
Post Self-Consistent Field Calculations . . . . . . . . . . . 245
Configuration Interaction . . . . . . . . . . . . 245
MP2 Correlation Energy . . . . . . . . . . . . . 246
The Neglect of Differential Overlap Approximation . . . . . . . 248
Characterizations of the Wave function. . . . . . . . . . . 250
Contour Plots . . . . . . . . . . . . . . . . 250
Total Electron Density . . . . . . . . . . . . . 251
Spin Density . . . . . . . . . . . . . . . . 253
Orbital Plots . . . . . . . . . . . . . . . . 253
Electrostatic Potential . . . . . . . . . . . . . 254
Mixed Quantum/Classical Model . . . . . . . . . . . . . 256
Choosing the Classical–Quantum Boundary . . . . . . 256
Capping Atoms and their Parameters. . . . . . . . . 258
Supported Methods . . . . . . . . . . . . . . . . . 260
Ab Initio Method . . . . . . . . . . . . . . . 261
Normalized Primitive Gaussian Functions . . . . 263
Contracted Gaussian Functions . . . . . . . . 264
Minimal Basis Sets: STO-3G . . . . . . . . . 265
Split-Valence Basis Sets . . . . . . . . . . 268
Polarized Basis Sets . . . . . . . . . . . . 271
Two-Electron Integrals . . . . . . . . . . 272
Regular Integral Format . . . . . . . 273
Raffenetti Integral Format . . . . . . . 274
Two-Electron Integral Cutoff . . . . . . 275
Direct SCF Calculation . . . . . . . . . . 275
Initial Guess of MO Coefficients . . . . . . . 276
Table of Contents xv
Collecting Trajectory for Subsequent Playback . . . 357
Creating a Snapshot (SNP) file . . . . . 358
Reading a (HIN, SNP) File for Playback. . . 358
Running a Script at Playback . . . . . . 359
Global Minima on a Potential Energy Surface . . . . . . 359
Simulated Annealing . . . . . . . . . . . 360
Simple Reactions on a Potential Energy Surface . . . . . 360
Trajectory Analysis . . . . . . . . . . . . 361
Setting Initial Coordinates and Velocities . . . . 362
Temperature Considerations . . . . . . . . . 362
RHF/UHF Considerations. . . . . . . . . . 363
UV Visible Spectroscopy . . . . . . . . . . . . . . . 363
Vibrational Analysis and IR Spectroscopy . . . . . . . . . . 365
Vibrational Calculation . . . . . . . . . . . . . 365
Normal Coordinate Analysis . . . . . . . . . . . 366
Infrared Absorption . . . . . . . . . . . . . . 369
xvi
Preface
1
Annotated Bibliography
Advanced users can also benefit from reading this guide. Many
people use a limited number of algorithms and methods for chem-
ical calculations. This book compares of the different methods in
HyperChem and helps you determine the most appropriate
method for your research problems. The book discusses strengths
and weaknesses of the methods and algorithms.
Annotated Bibliography
Although you can investigate many research problems after read-
ing the HyperChem Reference Manual and HyperChem Computational
Chemistry, you may also need information from textbooks and cur-
rent journals. The following list of selected texts can supply the
background necessary for understanding the calculations in
HyperChem.
Allen, M.P.; Tildesley, D.J. Computer Simulation of Liquids,
Clarendon Press, Oxford, 1987.
An important though demanding book. Topics include statis-
tical mechanics, Monte Carlo simulations, equilibrium and
non-equilibrium molecular dynamics, analysis of calculational
results, and applications of methods to problems in liquid
dynamics. The authors also discuss and compare many algo-
rithms used in force field simulations. Includes a microfiche
containing dozens of Fortran-77 subroutines relevant to
molecular dynamics and liquid simulations.
Berkert, U.; Allinger, N.L. Molecular Mechanics, American Chemical
Society Monograph 177, Washington, D.C., 1982.
The classical introduction to molecular mechanics calcula-
tions. The authors describe common components of force
fields, parameterization methods, and molecular mechanics
computational methods. Discusses the application of molecu-
lar mechanics to molecules common in organic and biochem-
istry. Several chapters deal with thermodynamic and chemical
reaction calculations.
2 Preface
Annotated Bibliography
Preface 3
Annotated Bibliography
4 Preface
HyperChem®
Computational Chemistry
Part 1
Practical Guide
5
6
Chapter 1
Practical Guide Introduction
7
What is HyperChem?
What is HyperChem?
HyperChem is a versatile molecular modeler and editor and a pow-
erful computational package. It offers many types of molecular
and quantum mechanics calculations.
8 Chapter 1
What is HyperChem?
ular Orbital Theory3. You can use molecular orbital energies, coef-
ficients, and nodal properties from single point quantum mechan-
ics calculations to investigate issues such as the relative reactivity
of different molecular substituents, regioselectivity of reactions,
and site-selectivity of nucleophiles and electrophiles.
10 Chapter 1
Chapter 2
HyperChem Calculations
Nuclei have many times more mass than electrons. During a very
small period of time when the movement of heavy nuclei is negli-
gible, electrons are moving so fast that their distribution is
smooth. This leads to the approximation that the electron distri-
bution is dependent only on the fixed positions of nuclei and not
on their velocities. This approximation allows two simplifications
11
Exploring Potential Energy Surfaces
(4)
After solving the electronic Schrödinger equation (equation 4), to
calculate a potential energy surface, you must add back nuclear-
nuclear repulsions (equation 5).
H electronic Ψ electronic = E electronic Ψ electronic
12 Chapter 2
Exploring Potential Energy Surfaces
variable 2 (degrees)
A
C
variable 1 (degrees)
This means that the forces on the atoms are zero for the structures
found at A and C. The structure at C is more stable than the struc-
ture at A. In fact, C is the global minimum for this example. Geom-
etry optimizations seek minima such as A and C.
Point B is a maximum along the path from A to C (saddle point).
The forces on the atoms are also zero for this structure. Point B rep-
resents a transition state for the transformation of A to C.
Convergence of a geometry optimization calculation does not nec-
essarily mean that the calculation found a minimum on the poten-
tial energy surface. To categorize a point definitively on the poten-
tial energy surface, you must calculate the second derivatives of
the potential energy with respect to atomic coordinates. You can
then calculate vibrational frequencies from the second derivative
matrix. A minimum configuration has six vibrational frequencies
with a value of zero. For linear molecules the minimum is five with
zero values. A transition state has one vibrational frequency, and
this frequency is an imaginary number.
HyperChem Calculations 13
Exploring Potential Energy Surfaces
D
energy
B F
C E
A G
H3CCH2 - CH2CH3
torsion angle (degrees)
14 Chapter 2
Exploring Potential Energy Surfaces
tions for the backbone atoms. Here are two of the consequences of
this complexity:
United atom force fields (see “United versus All Atom Force Fields”
on page 28) are sometimes used for biomolecules to decrease the
number of nonbonded interactions and the computation time.
Another reason for using a simplified potential is to reduce the
dimensionality of the potential energy surface. This, in turn,
allows for more samples of the surface.
Example: Crippen and Snow reported their success in developing a
simplified potential for protein folding7. In their model, single
points represent amino acids. For the avian pancreatic polypep-
tide, the native structure is not at a potential minimum. However,
a global search found that the most stable potential minimum had
only a 1.8 Ångstrom root-mean-square deviation from the native
structure.
Example: Solvation can have a profound effect on the potential
energy profile for a reaction. Jorgensen’s research group provided
important insights into the role of solvation8. Consider the
nucleophilic addition of the hydroxide anion to formaldehyde:
Ab initio, gas phase calculations found two minima and one max-
imum for the reaction coordinate, leading to an exothermic for-
mation of the tetrahedral complex. One minimum is an ion-dipole
–
complex at a H2(O)C–OH distance of 2.74 Ångstroms. The second
–
is the tetrahedral complex at a H2(O)C–OH distance of 1.47 Ång-
stroms. A potential-of-mean-force calculation was performed
using a Monte Carlo simulation of the reactants in TIP4P water.
6. Dill, K.A. Theory for the folding and stability of globular proteins. Biochemistry 24:1501-
1509, 1985.
7. Crippen, G.M.; Snow, M.E. A 1.8Å resolution potential function for protein folding.
Biopolymers 29:1479-1489, 1990.
8. Madura, J.D.; Jorgensen, W.L. Ab initio and Monte Carlo calculations for a nucleophilic
addition reaction in the gas phase and in aqueous solution. J. Am. Chem. Soc. 108:2517-
2527, 1986.
HyperChem Calculations 15
Types of Calculations
Types of Calculations
There are multiple types of calculations in HyperChem. The
include: single point, geometry optimization or minimization,
transition state searching, molecular dynamics, and Monte Carlo.
Single Point
A single point calculation gives the static properties of a molecule.
The properties include potential energy, derivatives of the poten-
tial energy, electrostatic potential, molecular orbital energies, and
the coefficients of molecular orbitals for ground or excited states.
The input molecular structure for a single point calculation usually
reflects the coordinates of a stationary point on the potential
energy surface, typically a minimum or transition state. Use a
geometry optimization to prepare a molecule for a single point cal-
culation.
One type of single point calculation, that of calculating vibrational
properties, is distinguished as a vibrations calculation in Hyper-
Chem. A vibrations calculation predicts fundamental vibrational
frequencies, infrared absorption intensities, and normal modes for
a geometry optimized molecular structure.
You can use a single point calculation that determines energies for
ground and excited states, using configuration interaction, to pre-
dict frequencies and intensities of an electronic ultraviolet-visible
spectrum.
Geometry Optimization
To carry out a geometry optimization (minimization), HyperChem
starts with a set of Cartesian coordinates for a molecule and tries
to find a new set of coordinates with a minimum potential energy.
You should appreciate that the potential energy surface is very
16 Chapter 2
Types of Calculations
HyperChem Calculations 17
Types of Calculations
Molecular Dynamics
A molecular dynamics simulation samples phase space (the region
defined by atomic positions and velocities) by integrating numer-
ically Newton’s equations of motion. Unlike single point and
geometry optimization calculations, molecular dynamics calcula-
tion account for thermal motion. Molecules may contain enough
thermal energy to cross potential barriers. Molecular dynamics cal-
culations provide information about possible conformations, ther-
modynamic properties, and dynamic behavior of molecules. (See
also “Studying the Dynamic Behavior of Molecules” on page 10.)
Langevin Dynamics
Molecules in solution undergo collisions with other molecules and
experience frictional forces as they move through the solvent.
Using Langevin dynamics, you can model these effects and study
the dynamical behavior of a molecular system in a liquid environ-
ment. These simulations can be much faster than molecular
dynamics. Instead of explicitly including solvent molecules, the
Langevin method models their effect through random forces
applied to the molecule of interest to simulate collisions, and fric-
tional forces are added to model the energy losses associated with
these collisions.
Langevin dynamics simulations can be used to study the same
kinds of problems as molecular dynamics: time dependent proper-
ties of solvated systems at non-zero temperatures. Because of the
implicit treatment of the solvent, this method is particularly well-
suited for studying large molecules in solution. It is possible to
decouple the time scales of molecular motion and focus on just the
slow modes associated with conformational changes, for example,
or to follow the rapid bond stretching motions leading to chemical
reaction, while incorporating the influence of molecular colli-
sions. Langevin dynamics has been use to study solvent effects on
the structural dynamics of the active site of the enzyme lysozyme,
conformational equilibria and the dynamics of conformational
transitions in liquid alkanes, and temperature effects on a system
of interacting quantum harmonic oscillators.
18 Chapter 2
Types of Calculations
HyperChem Calculations 19
Types of Calculations
20 Chapter 2
Chapter 3
Calculation Methods
Molecular Mechanics
Molecular mechanical force fields use the equations of classical
mechanics to describe the potential energy surfaces and physical
properties of molecules. A molecule is described as a collection of
atoms that interact with each other by simple analytical functions.
This description is called a force field. One component of a force
field is the energy arising from compression and stretching a bond.
21
Molecular Mechanics
1 2
V spring = --- K r ( r – r 0 ) (7)
2
The bonding between two atoms is analogous to a spring connect-
ing two masses. Using this analogy, equation 7 gives the potential
energy of the system of masses, Vspring, and the force constant of
the spring, Kr. The equilibrium and displaced distances of the at-
oms in a bond are r0 and r. Both Kr and r0 are constants for a spe-
cific pair of atoms connected by a certain spring. Kr and r0 are force
field parameters.
The potential energy of a molecular system in a force field is the
sum of individual components of the potential, such as bond,
angle, and van der Waals potentials (equation 8). The energies of
the individual bonding components (bonds, angles, and dihe-
drals) are functions of the deviation of a molecule from a hypo-
thetical compound that has bonded interactions at minimum val-
ues.
22 Chapter 3
Molecular Mechanics
∑ K (r – r ) ∑ K (θ – θ )
2 2
V stretch = r 0 V bend = θ 0 (9)
bond angle
Example: For the AMBER force field, a carbonyl C–O bond has an
equilibrium bond length of 1.229 Å and a force constant of 570
2
kcal/mol Å . The potential for an aliphatic C–C bond has a mini-
mum at 1.526 Å. The slope of the latter potential is less steep; a C–
2
C bond has a force constant of 310 kcal/mol Å .
Calculation Methods 23
Molecular Mechanics
Morse
harmonic
energy (kcal/mol)
The Morse function rises more steeply than the harmonic poten-
tial at short bonding distances. This difference can be important
especially during molecular dynamics simulations, where thermal
energy takes a molecule away from a potential minimum.
In light of the differences between a Morse and a harmonic poten-
tial, why do force fields use the harmonic potential? First, the har-
monic potential is faster to compute and easier to parameterize
than the Morse function. The two functions are similar at the po-
tential minimum, so they provide similar values for equilibrium
structures. As computer resources expand and as simulations of
thermal motion (See “Molecular Dynamics”, page 71) become
more popular, the Morse function may be used more often.
24 Chapter 3
Molecular Mechanics
Torsions
In molecular mechanics, the dihedral potential function is often
implemented as a truncated Fourier series. This periodic function
(equation 10) is appropriate for the torsional potential.
Vn
V dihedrals = ∑
dihedrals
------ 1 + cos ( n φ – φ 0 )
2
(10)
sum
energy (kcal/mol)
n=2
n=1
The relative sizes of the potential barriers indicate that the V2 force
constant is larger than the V1 constant. The phase shift is 180
degrees for the Fourier component with a two-fold barrier. Minima
occur at –180, 0, and 180 degrees and maxima at –90 and 90
Calculation Methods 25
Molecular Mechanics
A ij B ij
V VDR = ∑
i<j
-------
12
- – ------6
R ij R ij
(11)
Rij is the nonbonded distance between two atoms. Aij, and Bij are
van der Waals parameters for the interacting pair of atoms. The
R–6 term describes the attractive London dispersion interaction be-
tween two atoms, and the R–12 term describes the repulsive inter-
action caused by Pauli exclusion. The 6–12 function is not as
appropriate physically as a 6-exponential function, but it is faster
to compute.
The AMBER force field replaces the van der Waals by a 10–12
potential for pairs of atoms that can participate in hydrogen bond-
ing (equation 12). The hydrogen bond potential does not contrib-
ute significantly to the hydrogen bonding attraction between two
atoms; rather, it is implemented to fine-tune the distances
between these atoms.
C D
V Hbonds = ∑
Hbonds
-------ij- – -------ij-
12
R ij R ij
10
(12)
26 Chapter 3
Molecular Mechanics
Example: In this example, the van der Waals (6–12) and hydrogen
energy (kcal/mol) bond (10–12) potentials are quickly damped.
6-12
10-12
The attraction for two neutral atoms separated by more than four
Ångstroms is approximately zero. The depth of the potential wells
is minimal. For the AMBER force field, hydrogen bonds have well
depths of about 0.5 kcal/mol; the magnitude of individual van der
Waals well depths is usually less.
Electrostatic Potential
This is a typical function for electrostatic potential (equation 13).
qi qj
V EEL = ∑ ---------
εR
i<j ij
(13)
Calculation Methods 27
Molecular Mechanics
distance-dependent dielectric
constant dielectric
energy (kcal/mol)
28 Chapter 3
Molecular Mechanics
Cutoffs
Force field calculations often truncate the nonbonded potential
energy of a molecular system at some finite distance. Truncation
(nonbonded cutoff) saves computing resources. Also, periodic box-
es and boundary conditions require it. However, this approxima-
tion is too crude for some calculations. For example, a molecular
dynamic simulation with an abruptly truncated potential produc-
es anomalous and nonphysical behavior. One symptom is that the
solute (for example, a protein) cools and the solvent (water) heats
rapidly. The temperatures of system components then slowly con-
verge until the system appears to be in equilibrium, but it is not.
A relatively simple method for alleviating some of the nonphysical
behaviors caused by imposing a nonbonded cutoff is to use a po-
tential switching function (equation 14).
WhenR ij ≤ R on , ′
E EEL = E EEL ≥ 1
2
′ ( R off – R ij ) ( R off + 2R ij – 3R on )
E EEL = E EEL • ------------------------------------------------------------------------------
3
- (14)
( R off – R on )
Calculation Methods 29
Molecular Mechanics
switched cutoff
10Å cutoff
no cutoff
energy (kcal/mol)
′ 2R ij R ij
2 4
E EEL = E EEL • 1 – ---------
- + --------
- (15)
R off R off
2 4
30 Chapter 3
Quantum Mechanics
shifted cutoff
constant dielectric
energy (kcal/mol)
Quantum Mechanics
This section provides an overview and review of quantum
mechanics calculations. The information can help you use Hyper-
Chem to solve practical problems. For quantitative details of quan-
tum mechanics calculations and how HyperChem implements
them, see the second part of this book, Theory and Methods.
Ab initio quantum mechanics methods have evolved for many
decades. The speed and accuracy of ab initio calculations have been
greatly improved by developing new algorithms and introducing
better basis functions.
Density functional methods are newer methods that have a lot in
common with ab initio methods. They use density functional the-
ory (DFT) to predict how the energy depends on the density rather
than the wavefunction. In particular, they replace the Hartree-
Fock potential of ab initio calculations with an exchange-correla-
tion potential that is a functional of the electron density. They
include the effects of electron correlation and hence can, in prin-
Calculation Methods 31
Quantum Mechanics
32 Chapter 3
Quantum Mechanics
Background
Molecules consist of electrons and nuclei. Most applications of
quantum chemistry separate the motion of the nuclei from the
motion of electrons (the Born-Oppenheimer approximation). The
approximation results in a model of nuclei moving on a potential
energy surface, with electrons adjusting instantly to changes in
nuclear positions. Nuclear motion is constrained by the interac-
tion of nuclei and electrons. At any fixed positions of the nuclei,
potential energy is the sum of repulsions among the positively
charged nuclei and attractions arising from the electrons. Elec-
trons are the “glue” holding nuclei together.
Molecular Geometry
The most important chemical structures are stable, equilibrium
molecular geometries and transition states. Equilibrium geometry
of a molecule (bond lengths and angles) describes the coordinates
of a deep minimum on a potential energy surface (see page 11). A
set of atoms may have a number of potential energy minima, each
corresponding to a different isomer of the molecular system.
Other, less-deep minima may correspond to intermediates in
chemical reactions.
Saddle points serve as models for transition states of chemical reac-
tions. The potential energy for saddle points is a maximum along
one direction, called the reaction coordinate, and a minimum
along all others. You can think of saddle points as mountain
passes: they are the lowest barriers separating reactant and product
potential energy valleys. For a discussion of the potential energy
surface, see “Exploring Potential Energy Surfaces” on page 11.
Using the coordinates of special geometries, minima, and saddle
points, together with the nearby values of potential energy, you
can calculate spectroscopic properties and macroscopic thermody-
namic and kinetic parameters, such as enthalpies, entropies, and
thermal rate constants. HyperChem can provide the geometries
and energy values for many of these calculations.
Calculation Methods 33
Quantum Mechanics
34 Chapter 3
Quantum Mechanics
Exclusion Principle
Because of the quantum mechanical Uncertainty Principle, quan-
tum mechanics methods treat electrons as indistinguishable parti-
cles. This leads to the Pauli Exclusion Principle, which states that
the many-electron wave function—which depends on the coordi-
nates of all the electrons—must change sign whenever two elec-
trons interchange positions. That is, the wave function must be
antisymmetric with respect to pair-wise permutations of the elec-
tron coordinates.
Calculation Methods 35
Quantum Mechanics
Example: If two functions are sin and cos and two variables are x
and y, then sin(x)cos(y) has the same sign if you interchange x and
y to give sin(y) cos(x). The antisymmetrized version,
sin(x)cos(y)–cos(x)sin(y), does change sign. This is the determi-
nant:
sin ( x ) cos ( x )
sin ( y ) cos ( y )
36 Chapter 3
Quantum Mechanics
value for the wave function can satisfy these two conditions, iden-
tity of coordinates and an antisymmetric wave function. For the
hydrogen molecule, the antisymmetric wave function is a(1)b(1)–
b(1)a(1), which is zero. Since the wave function is a probability
function, the probability of two electrons having the same coordi-
nates is also zero. In this sense they are mutually excluded.
Calculation Methods 37
Quantum Mechanics
38 Chapter 3
Quantum Mechanics
Configuration Interaction
You can extend the calculation of the Hartree-Fock semi-empirical
wave function by choosing Configuration Interaction (CI) in the
Semi-empirical Options dialog box and you can also extend the
calculation of the Hartree-Fock ab initio wave function by choosing
CI in the Ab Initio Options dialog box. Use CI for these electron
configurations:
Calculation Methods 39
Quantum Mechanics
• Calculate UV spectra
• Calculate the energy of excited states
• Study the making or breaking of bonds, and change of spin
couplings (e.g. dissociation of H2)
• Capture the effects of London dispersion forces
• Describe a nearly degenerate state
• Study singlet-triplet splittings more accurately
40 Chapter 3
Quantum Mechanics
does not affect the energy of the ground state (Brillouin’s Theo-
rem).
Be careful when you use the Orbital Criterion for symmetrical sys-
tems. To get correct results, you must include all or none of any set
of degenerate orbitals in the CI, not just some of them. Carrying
out an RHF calculation first and studying the Orbitals dialog box
will help you to spot degenerate orbitals and avoid this pitfall.
In large systems there can be many orbitals in a small energy
range, and the size of the CI matrix can be very sensitive to the
value of the maximum excitation if you use Energy Criterion. Since
calculation time depends heavily on the size of the CI matrix, you
can end up with very long calculations, especially if you use the ab
initio methods or the MNDO, AM1, or PM3 semi-empirical meth-
ods. This could exhaust the memory of your system. Again,
inspecting the results of an RHF (no CI) calculation will help you
avoid these pitfalls.
Using CI may not necessarily improve the calculation of ground
state energies. Parameters for the MINDO/3, MNDO, AM1, and
PM3 methods already include the effects of CI. CI calculations
require more computing time.
Note: When you use CI, HyperChem does not calculate forces (gra-
dient).
9. Szabo, A.; Ostlund, N. Modern Quantum Chemistry. Macmillan, New York, 1985
Calculation Methods 41
Quantum Mechanics
42 Chapter 3
Quantum Mechanics
Kohn-Sham Orbitals
These similarities are somewhat of an illusion, however, and the
results of ab initio and DFT calculations may have to be interpreted
quite differently. For example DFT results in orbitals that are
referred to as Kohn-Sham orbitals. These should not be used to per-
form Configuration Interaction calculations in the way one uses
the Hartree-Fock orbitals. HyperChem allows one, in practice, to
use the computed orbitals of DFT in exactly the same ways that
one can use Hartree-Fock orbitals (once the orbitals are computed
via either of the two methods no further distinction is made).
Kohn-Sham orbitals, however, do not satisfy a theorem called
Bruekner’s Theorem (as Hartree-Fock orbitals do) and hence their
interpretations requires explicit consideration of the subtle differ-
ences between Hartree-Fock and DFT calculations.
Orbital Occupancy
Because of the LCAO-MO approximation, ab initio, DFT, and semi-
empirical calculations produce occupied and unoccupied (virtual)
orbitals. The Aufbau or “building up” principle determines the
occupancy of orbitals for the ground-state wave function. This first
arranges the orbitals in order of increasing energy. Then it assigns
electrons to orbitals beginning with the lowest energy. For exam-
ple, in an RHF calculation for a molecule with ten electrons and
twelve molecular orbitals, the five lowest energy orbitals receive
two electrons each. The remaining seven virtual orbitals remain
unoccupied and do not appear in the many-electron wave func-
10. Koopmans, T. On the Relation of Wave Functions and Eigenvalues to Individual Elec-
trons of Atoms Physica (Utrecht) 1:104, 1933.
11. Woodward, R.B. and Hoffmann, R. Conservation of Orbital Symmetry Verlag Chemie,
Weinheim, FRG, 1970.
Calculation Methods 43
Quantum Mechanics
ψi = ∑ Cµi φµ (16)
µ
44 Chapter 3
Quantum Mechanics
SCF Technique
All molecular orbitals are combinations of the same set of atomic
orbitals; they differ only by their LCAO expansion coefficients.
HyperChem computes these coefficients, Cµi, and the molecular
orbital energies by requiring that the ground-state electronic
energy be at a minimum. That is, any change in the computed
coefficients can only increase the energy.
The technique for this calculation involves two steps. The first step
computes the Hamiltonian or energy matrix. The elements of this
matrix are integrals involving the atomic orbitals and terms
obtained from the Schrödinger equation. The most important con-
tributions to this matrix involve the overlap integrals, which are
mainly responsible for the bonding between atoms.
The second step determines the LCAO coefficients by standard
methods for matrix diagonalization. In an Extended Hückel calcu-
lation, this results in molecular orbital coefficients and orbital
Calculation Methods 45
Quantum Mechanics
Virtual Orbitals
Even with the minimal basis set of atomic orbitals used in most
semi-empirical calculations, the number of molecular orbitals
resulting from an SCF calculation exceeds the number of occupied
molecular orbitals by a factor of about two. The number of virtual
orbitals in an ab initio or DFT calculation depends on the basis set
used in this calculation.
46 Chapter 3
Quantum Mechanics
Multiplicity Considerations
Most stable organic molecules have an even number of electrons
and a singlet ground-state wave function. Half the electrons are
alpha. For a radical with an odd number of electrons, the ground
state is almost always a doublet with one more alpha than beta
electron. For some highly symmetrical molecules, such as oxygen,
the ground state is a triplet with two more alpha than beta elec-
trons. Biradicals (metastable species formed, for example, by
breaking a bond in a ring molecule) also frequently have triplet
ground states.
RHF UHF
Ψ4 Ψ4α
Ψ3β
Ψ3 Ψ3α
Ψ2β
Ψ2 Ψ2α
Ψ1β
Ψ1 Ψ1α
Bond Breaking
Applications of semi-empirical, ab initio, and DFTmethods fre-
quently follow the course of chemical reactions that break and
Calculation Methods 47
Quantum Mechanics
form covalent bonds. You must take care in choosing a method for
these applications.
If a covalent bond is broken, as in the simple case of dissociation
of the hydrogen molecule into atoms, then the RHF wave function
without the Configuration Interaction option (see “Extending the
Wave Function Calculation” on page 39) is inappropriate. This is
because the doubly occupied RHF molecular orbital includes spu-
rious terms that place both electrons on the same hydrogen atom,
even when they are separated by an infinite distance.
An RHF wave function is also inappropriate for a reaction where
reactants and products share different occupied orbitals, as in a
Woodward-Hoffmann orbital symmetry forbidden thermal reac-
tion. For example, in the absence of symmetry, the disrotatory ring
opening of cyclobutene to butadiene must involve a change in the
orbital occupancy between reactants and products. The lowest vir-
tual orbital in reactants becomes the highest occupied in the prod-
uct. This gives rise to an artificial and undesirable cusp in the
potential energy surface along the reaction path, plus an unrealis-
tically high activation energy. You can prevent this problem and
the breaking of a covalent bond by using a UHF wave function for
the singlet state. A minor disadvantage of the UHF method is that
the space and spin symmetry of the molecular orbitals are broken.
For example, the UHF wave function is a mixture of singlet and
triplet states. To preserve spin symmetry, use RHF plus the Config-
uration Interaction option instead of UHF.
For Woodward-Hoffman allowed thermal reactions (such as the
conrotatory ring opening of cyclobutane), orbital symmetry is
conserved and there is no change in orbital occupancy. Even
though bonds are made and broken, you can use the RHF wave
function.
48 Chapter 3
Quantum Mechanics
SCF Convergence
Not all iterative semi-empirical, ab initio, or DFT calculations con-
verge for all cases. For SCF calculations of electronic structure, sys-
tems with a small energy gap between the highest occupied orbital
and the lowest unoccupied orbital may not converge or may con-
verge slowly. (They are generally poorly described by the Hartree-
Fock method.)
Some systems converge poorly, particularly those with multiple
bonds or weak interactions between open-shell systems.
HyperChem includes two convergence accelerators. One is the
default convergence accelerator, effective in speeding up normally
convergent calculations. The other, called the Direct Inversion in
the Iterative Subspace (DIIS) method, is available for all the SCF
methods in HyperChem. You can turn on this accelerator in the
Calculation Methods 49
Quantum Mechanics
Calculation Results
The results of calculations are often interpreted in terms of familiar
orbital interaction diagrams. The simplest example is two one-
electron atoms combining to form a molecule. This diagram shows
a two-orbital interaction forming a bonding (lower energy) and
antibonding (higher energy) combination.
50 Chapter 3
Quantum Mechanics
Calculation Methods 51
Quantum Mechanics
Quantitative Results
HyperChem provides quantitative results for all calculations. The
status line shows the binding energy and gradient (only binding
energy if you use the Configuration Interaction option, see
page 123). The log file for a calculation contains this information,
plus more, including heats of formation (for all the SCF semiem-
pirical methods in HyperChem), orbital coefficients, dipole
moments, and atomic charges.
52 Chapter 3
Chapter 4
Single Point Calculations
53
Dipole Moment
Dipole Moment
This describes the classical dipole moment:
∑q r i i
µ = ∑ ( –r ) + ∑ Z
i
i
A
A RA (17)
Electric Polarizabilities
The electric polarizabilities are computed as a tensor αij,
∂µ i
α ij =
∂ Fj
54 Chapter 4
Total Spin Density
Electrostatic Potential
The classical electrostatic potential for qn point charges is the
potential energy at a position R (equation 18).
qi
V = ∑ ---------------
R–r i
- (18)
2
ZA Ψ d τ-
V = ∑ -------------------
R – RA ∫
- – ---------------
R–r
(19)
11. Suzuki, T.; Li, Q.; Khemani, K.C.; Wudl, F.; Almarsson, Ö. Systematic Inflation of Buck-
minsterfullerene C60: Synthesis of Diphenyl Fulleroids C61 to C66 Science, 254:1186-1188,
1991.
+-
1) N ≡ N-CPh2
2) -N2
||
|||
12. Miller, K.E.; Rich, D.H. Molecular Mechanics Calculations of Cyclosporin A Analogues.
Effect of Chirality and Degree of Substitution on the Side-Chain Conformations of (2s, 3r,
4r, 6e)-3-Hydroxy-4-methyl-2-(methylamino)-6-octenoic Acid and Related Derivatives.
J. Am. Chem. Soc., 111:8351-8362, 1989.
56 Chapter 4
Examples of Single Point Calculations
4
3 2
1
Geometry Optimizations
HyperChem can calculate geometry optimizations (minimiza-
tions) with either molecular or quantum mechanical methods.
Geometry optimizations find the coordinates of a molecular struc-
ture that represent a potential energy minimum.
These are excellent references for optimization calculations:
∂V = 0
------
- (20)
∂r i
You might perform a geometry optimization calculation with one
of these goals in mind:
59
Geometry Optimizations
Steepest Descent
The steepest descent method is a first order minimizer. It uses the
first derivative of the potential energy with respect to the Carte-
sian coordinates. The method moves down the steepest slope of
the interatomic forces on the potential energy surface. The descent
is accomplished by adding an increment to the coordinates in the
direction of the negative gradient of the potential energy, or the
force.
Example: A potential energy surface has a minimum at M. If the
minimization begins at point A and proceeds with infinitesimally
small steps, the structure follows the overall path A–M during a
steepest descent optimization. If the first step is larger, it might
proceed along A–B, then the next step would proceed along B–C.
A larger initial step might place the system at D. A second step
could proceed along the path D–E, which diverges from the mini-
mum.
E C
A
M
B
60 Chapter 5
Geometry Optimizations
Conjugate Gradient
A conjugate gradient method differs from the steepest descent
technique by using both the current gradient and the previous
search direction to drive the minimization. A conjugate gradient
method is a first order minimizer.
The advantage of a conjugate gradient minimizer is that it uses the
minimization history to calculate the search direction, and con-
verges faster than the steepest descent technique. It also contains
a scaling factor, b, for determining step size. This makes the step
sizes optimal when compared to the steepest descent technique.
Example: Compare the steps of a conjugate gradient minimization
with the steepest descent method. A molecular system can reach a
potential minimum after the second step if the first step proceeds
from A to B. If the first step is too large, placing the system at D,
the second step still places the system near the minimum(E)
because the optimizer remembers the penultimate step.
E
B M
to the number of atoms (N), and the time per cycle is proportional
to N2.
Block Diagonal
The Newton-Raphson block diagonal method is a second order
optimizer. It calculates both the first and second derivatives of
potential energy with respect to Cartesian coordinates. These
derivatives provide information about both the slope and curva-
ture of the potential energy surface. Unlike a full Newton-Raphson
method, the block diagonal algorithm calculates the second deriv-
ative matrix for one atom at a time, avoiding the second deriva-
tives with respect to two atoms.
This technique is available only for the MM+ force field. As is true
for the conjugate gradient methods, you should not use this algo-
rithm when the initial interatomic forces are very large (meaning,
the molecular structure is far from a minimum).
Note: Because of its neglect of off-diagonal blocks, this optimizer
can sometimes oscillate and fail to converge. In this case, use a
conjugate gradient method.
Eigenvector Following
The Eigenvector Following method is in some ways similar to the
Newton-Raphson method. Instead of explicitly calculating the sec-
ond derivatives, it uses a diagonalized Hessian matrix to implicitly
give the second derivatives of energy with respect to atomic dis-
placements. The initial guess is computed empirically.
This method is available for all semi-empirical methods except
Extended Hückel, and for ab initio calculations. This algorithm
may be used if the structure is far from a minimum.
Conjugate Directions
The Conjugate Direction method like the Conjugate Gradient
method seeks to define directions of search that are conjugate to
each other, i.e. optimum. Unlike the Conjugate Gradient optimiz-
ers, however, a conjugate direction optimizer only uses values of
the independent variable itself without information about the gra-
dient.
62 Chapter 5
Geometry Optimizations
This makes such an optimizer much more generic since the value
of the variable (energy) is almost always available while the gradi-
ents of that energy (or forces) may be more difficult to compute.
Thus, for example, the MP2 correlation energy is relatively easy to
compute while all the gradients for an MP2 calculation are more
difficult to compute. Thus, a conjugate direction optimizer is the
easiest to use or implement and sometimes only this optimizer is
available for situations like the geometry of a ground state from a
Hartree-Fock plus MP2 model.
On the other hand, a Conjugate Direction optimizer is not as good
as one that has available the first derivatives of the energy. It is
given less information to enable it to find a minimum. In particu-
lar it may not have a good idea how close to an energy minimum
it is. The gradient which goes to zero at an energy minimum pro-
vides a good measure of convergence and this is unavailable for
the conjugate directions method. Only when it is the only method
available should the Conjugate Directions optimizer commonly be
used.
eigenvector following 63
Geometry Optimizations
64 Chapter 5
Geometry Optimizations
HyperChem uses the TIP3P water model for solvation.15 You can
place the solute in a box of TIP3P water molecules and impose peri-
odic boundary conditions. You may then turn off the boundary
conditions for specific geometry optimization or molecular
dynamics calculations. However, this produces undesirable edge
effects at the solvent-vacuum interface.
Periodic boundary conditions place the molecular system in a box.
Virtual identical images surround the initial box. The atoms far-
thest from the center of the original box no longer suffer from
interactions with an edge, since the original box now meets an
image of itself in all directions. HyperChem uses 26 virtual images.
The solute in the original box interacts only with its nearest neigh-
bor solute images.
Since the periodic images are exact copies of the original box,
movements of atoms in the original box are duplicated in the
images. When a particle leaves a box, its periodic image enters
from the opposite box side and replaces it. This conserves the
number of atoms in each box.
15. Jorgensen, W.L.; Chandrasekhas, J.; Madura, J.D.; Impey, R.W.; Klein, M.L. Comparison
of simple potential functions for simulation liquid water. J. Chem. Phys. 79:926-935, 1983.
eigenvector following 65
Geometry Optimizations
A B C A B C
A A
B B
C C
t t + δt
This example shows the round particle in cell {B,B} with two pos-
sible nonbonded cutoffs. With the outer cutoff, the round particle
interacts with both the rectangle and its periodic image. By reduc-
ing the nonbonded cutoff to an appropriate radius (the inner cir-
cle), the round particle can interact with only one rectangle—in
this case, the rectangle also in cell {B,B}.
For a rectangular box, the nonbonded cutoff should be less than
one-half the smallest box dimension.
c
cutoff < 1/2b
66 Chapter 5
Transition State Searching
eigenvector following 67
Transition State Searching
Eigenvector Following
The eigenvector-following (or Hessian mode) method imple-
mented in HyperChem is based on an efficient quasi-Newton like
algorithm for locating transition states, which can locate transi-
tion states for alternative rearrangement/dissociation reactions,
even when starting from the wrong region on the potential energy
surface.
The algorithm consists of several steps. The first one involves mak-
ing an initial guess at the position of the transition state. It will cal-
culate the gradient vector g and the Hessian matrix H, at the initial
point. The second step involve diagonalization of the Hessian and
determination of local surface characteristics (number of negative
eigenvalues). The next step depends on the structure of the Hes-
sian. If the Hessian has the wrong number of negative eigenvalues,
it will determine which Hessian mode has the greatest overlap
with the eigenvector followed. If mode following has not been
switched on, this algorithm will follow the lowest mode. The next
step will determine SCF convergence. If the criteria are satisfied, it
will stop at this point as the position of the transition state. If con-
vergence criteria are not satisfied, it will calculate the energy and
gradient vector at the new point, provided that maximum number
of steps has not been exceeded.
If a transition state has not been reached after a certain number of
steps, the user may need to upgrade the Hessian and repeat the cal-
culation. It may be necessary if many calculation steps have been
done, and the current geometry differs considerably from the start-
ing point. The Hessian calculated at the starting point and updated
at each new point may not be appropriate at the geometry reached
by the search. This procedure can also help to get to a good starting
point where the Hessian has a correct structure with only one neg-
ative eigenvalue.
68 Chapter 5
Transition State Searching
Synchronous Transit
The synchronous transit method is also combined with quasi-
Newton methods16 to find transition states. Quasi-Newton meth-
ods are very robust and efficient in finding energy minima. Based
solely on local information, there is no unique way of moving
uphill from either reactants or products to reach a specific reaction
state, since all directions away from a minimum go uphill. Hyper-
Chem has two synchronous transit methods implemented. The
linear synchronous transit method (LST) searches for a maximum
along a linear path between reactants and products. It may happen
that this method will end up with a structure having two or more
negative eigenvalues. The quadratic synchronous transit method
(QST) is an improvement of the LST approach and searches for a
maximum along a parabola connecting reactants and products,
and for a minimum in all directions perpendicular to the parabola.
HyperChem offers a Reaction Map facility under the Setup menu.
This is needed for the synchronous transit method to match reac-
tants and products, and depending on λ (a parameter having val-
ues between 0 and 1, determining how far away from reactants
structures a transition structure can be expected) will connect
atoms in reactants and products and give an estimated or expected
transition structure. This procedure can also be used if the eigen-
vector following method is later chosen for a transition state
search method, i.e., if you just want to get an estimate of the tran-
sition state geometry.
HyperChem uses the synchronous transit method described in
Peng, C., and Schlegel, H.B., Israel Journal of Chemistry, 33, 449-454
(1993).
16. Banerjee, A., Adams, N., Simons, J., and Shepard, R., J. Phys. Chem. 87, 52(1985); Simons,
J., Nichols, J., Int. J. Quantum Chem., Quantum Chem. Symp. 24, 263(1990)
eigenvector following 69
70
Chapter 6
Molecular Dynamics
∂V
F i = – ------
- (21)
∂r i
F
a i = ------i (22)
mi
∑m v
1 2
K = --- i i (23)
2
i=1
The total energy of the system, called the Hamiltonian, is the sum
of the kinetic and potential energies (equation 24).
16. See van Gunsteren, W.F.; Berendsen, H.J.C. Computer simulation of molecular dynamics
– methodology, applications, and perspectives in chemistry Angewandte Chemie, Internation-
al Edition in English, 29:992-1023, 1990, and Karplus, M.; Petsko, G.A. Molecular dynamics
simulations in biology Nature 347:631-639, 1990.
71
Integration Algorithm
H ( r, p ) = K ( p ) + V ( r ) (24)
where r = the set of Cartesian coordinates and p = the momenta of
the atoms.
Integration Algorithm
If the atomic positions at a particular time, t, are ri (t), the veloci-
ties, vi (t), are the first derivative of the positions with respect to
time (equation 25).
d
v i ( t ) = ----- r i ( t ) (25)
dt
HyperChem employs the leap frog algorithm to integrate the
equations of motion. This algorithm updates the positions of
atoms and the velocities for the next time step by this calculation
(equation 26).
v i t + --- ∆ t = v i t – 1--- ∆ t + ∆ ta i ( t )
1
(26)
2 2
In the first time step (∆t), the velocities advance from time
t=0 to (t +1/2 ∆t). In doing so, they “leap” over the positions at
time t. The current velocities are then calculated using equation
27. This equation supplies only approximate velocities used to cal-
culate energies at time t.
72 Chapter 6
Integration Algorithm
Length of Simulations
HyperChem integrates the equations of motion using very small
time steps (∆t). At each step, the algorithm evaluates energy and
forces of the molecular system. Use a time step of about 0.5 to 1.0
femtoseconds (fs) for an All Atom system or 1 to 2 fs for a United
Atom system. Small time steps allow the simulation to adequately
integrate the highest frequency motions of the system, usually
bond stretching vibrations on the order of several picoseconds.
Adjust ∆t for each molecular system to obtain energy conservation
(see the next section).
One drawback to a molecular dynamics simulation is that the tra-
jectory length calculated in a reasonable time is several orders of
magnitude shorter than any chemical process and most physical
processes, which occur in nanoseconds or longer. This allows you
to study properties that change within shorter time periods (such
as energy fluctuations and atomic positions), but not long-term
processes like protein folding.
Conservation of Energy
Molecular dynamics calculations use equations 25–27.
HyperChem integrates equations 26 and 27 to describe the
motions of atoms. In the absence of temperature regulation, there
are no external sources or depositories of energy. That is, no other
energy terms exist in the Hamiltonian, and the total energy of the
system is constant.
One way to test for success of a dynamics simulation and the
length of the time step is to determine the change in kinetic and
potential energy between time steps. In the microcanonical
ensemble (constant number, volume, and energy), the change in
kinetic energy should be of the opposite sign and exact magnitude
as the change in potential energy. Though the total energy of the
system should not change during the simulation, molecular
dynamics simulations only approximate this condition. Energy
conservation is difficult to achieve using computers with finite
precision.
Because of limitations in computer power and time, it is frequently
impractical to run a constant energy molecular dynamics simula-
tion. Several approximations to the energy (usually to the poten-
tial energy) are possible, which require modifying the Hamilto-
Molecular Dynamics 73
Temperature Control
Temperature Control
In a molecular dynamics calculation, you can add a term to adjust
the velocities, keeping the molecular system near a desired temper-
ature.17 During a constant temperature simulation, velocities are
scaled at each time step. This couples the system to a simulated
heat bath at T0, with a temperature relaxation time of τ. The veloc-
ities are scaled by a factor λ, where
1⁄2
∆t T
λ = 1 + ----- -----0 – 1 (28)
τT
If the Bath relaxation constant, τ, is greater than 0.1 ps, you should
be able to calculate dynamic properties, like time correlation func-
tions and diffusion constants, from data in the SNP and/or CSV
files (see “Collecting Averages from Simulations” on page 88).17
Note: This method of temperature regulation does not give all
properties of the canonical ensemble. In particular, you cannot
calculate CV, heat capacity at constant volume.
17. Berendsen, H.J.C., Postma, J.P.M.; van Gunsteren, W.F.; DiNola, A.; Haak, J.R. Molecular
Dynamics with coupling to an external bath J. Chem. Phys. 81:3684, 1984.
74 Chapter 6
Translational and Rotational Quenching
Simulation Periods
A molecular dynamics simulation can have three distinct time and
temperature periods: heating, simulation (run), and cooling. If you
want to measure equilibrium properties of a molecular system, you
can divide the simulation period into two parts: equilibration and
data collection.
Molecular Dynamics 75
Simulation Periods
76 Chapter 6
Simulation Periods
Molecular Dynamics 77
Examples of Molecular Dynamics Simulations
Collecting Data
After initial heating and equilibration, the trajectory may be stable
for thousands of time points. During this phase of a simulation,
you can collect data. Snapshots and CSV files (see “Collecting
Averages from Simulations” on page 88) store conformational and
numeric data that you can later use in thermodynamic calcula-
tions.
In general, the longer the simulation, the more reliable the calcu-
lated properties. You can also average the data from several simu-
lations.
Generating several different trajectories for the same molecular
system can lead to more accurate and more reliable simulations of
real physical systems and their properties. To increase the sam-
pling of conformational states, you can run several medium-
length simulations from the same molecular geometry but with
different initial velocities or velocity vectors. You can change the
distribution of velocities—but not their initial directions—by
changing the number and size of heating steps. To change the
directions of the initial velocities, you can rotate the molecular
system in the Molecular Coordinate System, changing atomic
coordinates.
Cooling
Cooling a molecular system after heating or equilibration can
serve these functions:
78 Chapter 6
Strategies
Strategies
Molecular dynamics simulations can overcome energy barriers and
provide information about the time-dependent motion of molec-
ular systems. You can use various strategies to set up and run a
molecular dynamics simulation, depending on your objective.
This section defines many of these strategies and discusses specific
considerations in setting up a simulation.
Molecular Dynamics 79
Strategies
Conformational Searching
Molecular dynamics simulations are efficient for searching the
conformational space of medium-sized molecules and peptides.
Different protocols can increase the efficiency of the search and
reduce the computer time needed to sample adequately the avail-
able conformations.
Quenched Dynamics
Quenched dynamics is a combination of high temperature molec-
ular dynamics and energy minimization. This process determines
the energy distribution of conformational families produced dur-
ing molecular dynamics trajectories. To provide a better estimate
of conformations, you should combine quenched dynamics with
simulated annealing.
For a conformation in a relatively deep local minimum, a room
temperature molecular dynamics simulation may not overcome
the barrier and search other regions of conformational space in
reasonable computing time. To overcome barriers, many confor-
mational searches use elevated temperatures (600–1200 K) at con-
stant energy. To search conformational space adequately, run sim-
ulations of 0.5–1.0 ps each at high temperature and save the
molecular structures after each simulation. Alternatively, take a
snapshot of a simulation at about one picosecond intervals to store
80 Chapter 6
Strategies
Simulated Annealing
Quenched dynamics can trap structures in local minima. To pre-
vent this problem, you can cool the system slowly to room tem-
perature or some appropriate lower temperature. Then run room
temperature molecular dynamics simulations to search for confor-
mations that have lower energies, closer to the starting structure.
Cooling a structure slowly is called simulated annealing.
Molecular Dynamics 81
Strategies
Sampling Frequency
One of the most important considerations in using molecular
dynamics for a conformational search is determining the sampling
interval. HyperChem lets you sample the simulation in two ways:
82 Chapter 6
Using Geometric Restraints
Molecular Dynamics 83
Using Geometric Restraints
84 Chapter 6
Using Geometric Restraints
sions, and other changes that you cannot reverse easily by geome-
try optimization. You can use restraints to prevent these changes.
Molecular Dynamics 85
Freezing Part of a System
Docking Molecules
Restraints can facilitate docking a substrate molecule to a binding
site. Restraints can also facilitate the interaction of two molecules
in solution. In both cases, it is unlikely that two different neutral
molecules would come into van der Waals contact with each other
without the use of restraints.
Example: If a drug molecule interacts with a receptor molecule
through hydrogen bonds, then you might restrain the distance
between the donor and acceptor atoms involved in the hydrogen
bonds. During a molecular dynamics simulation, these atoms
would stay near an ideal value, while the rest of the molecular sys-
tem fully relaxes.
Example: You could explore the possible geometries of two mole-
cules interacting in solution and guess at initial transition struc-
tures. For example, if molecule A undergoes nucleophilic attack on
molecule B, you could impose a distance restraint between the two
atoms that would form a bond, allowing the rest of the system to
relax. Simulations such as these can help to explain stereochemis-
try or reaction kinetics and can serve as starting points for quan-
tum mechanics calculations and optimizations.
86 Chapter 6
Solvent Simulations
Solvent Simulations
Often you need to add solvent molecules to a solute before run-
ning a molecular dynamics simulation (see also “Solvation and
Periodic Boundary Conditions” on page 65). In HyperChem,
choose Periodic Box on the Setup menu to enclose a solute in a peri-
odic box filled appropriately with TIP3P models of water mole-
cules.
Molecular Dynamics 87
Collecting Averages from Simulations
2
21. D x = 〈 x 2〉 – 〈 x〉 , where xi = value of EKIN, ETOT, EPOT, TEMP, or another value,
n n 2
1 2 1
∑ ∑
2
〈 x 〉 = --- xi , and 〈 x〉 2 = --- x i .
n n
i=1 i=1
88 Chapter 6
Collecting Averages from Simulations
Molecular Dynamics 89
Collecting Averages from Simulations
Conformational Searches
A molecular dynamics simulation used for a conformational
search can provide a quick assessment of low energy conformers
suitable for further analysis. Plot the average potential energy of
the molecule at each geometry. This plot may also suggest confor-
mational changes in a molecule.
Evaluating average distances, angles, and torsion angles, plus their
deviations, can facilitate understanding of detailed molecular
properties and functional characteristics.
Example: The distance between two ends of a large, flexible mole-
cule can provide information about its structural properties or its
interaction with solvent. Analysis of an angle can reveal a hinged
motion in a macromolecule.
Example: You can monitor improper torsion angles to determine
which side of a substrate molecule faces the active site of a protein.
Select three atoms on the substrate molecule and a fourth in the
active site. These atoms define an improper torsion angle. Save this
selection as a named selection. Then observe a plot of this
improper torsion angle (in the Molecular Dynamics Results dialog
90 Chapter 6
Setting Up a Molecular Dynamics Simulation
Heating Time
The choice of heating time depends on the purpose of the molec-
ular dynamics simulation. If the simulation is for conformational
searches, the heating step is not critical for a successful calculation.
The heating step may be rapid to induce large structural changes
that provide access to more of the conformational space.
Heating and equilibration are critical (see page 75 and page 76) for
investigating equilibrium properties of a molecular system. Several
strategies are available to heat and equilibrate molecules.
For simulations of biological molecules, many researchers advo-
cate slow heating. This allows the molecule to heat while keeping
the structure close to the starting conformation. These simulations
often investigate the potential energy surface near an important
local minimum, such as a crystal structure.The heat time might be
in the range of 510 ps, with a temperature step of 6 K, until the sys-
tem reaches a simulation temperature of 300 K. The heating rate
(30 K/ps) should allow a molecule to equilibrate during each tem-
perature step.
For constant energy simulations without temperature regulation,
use heating steps of about 0.5 ps and a heating time of 20–30 ps.
In general, short heating times and large temperature steps perturb
the initial system more than longer heating times and small tem-
perature steps.
Molecular Dynamics 91
Setting Up a Molecular Dynamics Simulation
Step Size
Step size is critical in all simulations. This is the increment for inte-
grating the equations of motion. It ultimately determines the
accuracy of the numerical integration. For molecules with high
frequency motion, such as bond vibrations that involve hydro-
gens, use a small step size.
Temperature also determines step size. An acceptable time step for
room temperature simulations is about 0.5–1 fs for All Atom sys-
tems or for simulations that do not constrain hydrogen atoms. For
United Atom systems or systems containing only heavy atoms,
you can use steps of 1–2 fs.
In general, smaller time steps generally lead to more accurate tra-
jectories, but they can increase computing time significantly. Since
each integration step requires about the same computing time,
decreasing the time step from 1.0 fs to 0.1 fs may require an order
of magnitude more time. You must balance accuracy with avail-
able computing resources.
Higher temperatures correspond to increased velocities and greater
distances traveled by atoms between time steps. Generally, the
length of a time step should allow only a small energy change.
However, high temperature simulations can cause large energy
changes between time steps, resulting in inaccurate integrations
and unstable molecular dynamics trajectories. If a high tempera-
ture conformational search uses a large time step (> 1 fs), a molec-
92 Chapter 6
Bond Breaking
Temperature
The temperature of a simulation depends on your objectives. You
might use high temperatures to search for additional conforma-
tions of a molecule (see “Quenched Dynamics” on page 80). Room
temperature simulations generally provide dynamic properties of
molecules such as proteins, peptides, and small drug molecules.
Low temperatures (<250 K) often promote a molecule to a lower
energy conformation than you could obtain by geometry optimi-
zation alone.
Scripts
Molecular dynamics trajectories can be generated initially (real-
time) or played back later at faster speed (playback-time). At play-
back time, it is possible to run any HyperChem script at each play-
back time step. This can be a very generic operation. For example,
a trajectory might be generated and at playback time a quantum
mechanical single point calculation might be requested, along
with display of the electron density. This would result in a “movie”
showing how the 3D electron density changes in time along a tra-
jectory of the molecular system. This capability could be use, for
example, to show the orbital changes during a chemical reaction.
The procedure for running a script during molecular dynamics
play back is to place a script with a specific name in the HyperChem
Program folder. This name is chem-dynamics.scr. If such a script
exists, then it will be run at every playback time step. If it doesn’t
exist with this specific name, then play back will occur as normal.
This functionaity is similar to that for chem.scr which is run at
instantiation time, if the script exists in the program folder.
Bond Breaking
Quantum mechanical calculation of molecular dynamics trajecto-
ries can simulate bond breaking and formation. Although you do
not see the appearance or disappearance of bonds, you can plot the
distance between two bonded atoms. A distance exceeding a theo-
retical bond length suggests bond breaking.
Molecular Dynamics 93
Bond Breaking
94 Chapter 6
Chapter 7
Langevin Dynamics and
Monte Carlo
Langevin Dynamics
The molecular dynamics method is useful for calculating the time-
dependent properties of an isolated molecule. However, more
often, one is interested in the properties of a molecule that is inter-
acting with other molecules. With HyperChem, you can add sol-
vent molecules to the simulation explicitly, but the addition of
many solvent molecules will make the simulation much slower. A
faster solution is to simulate the motion of the molecule of interest
using Langevin dynamics.
Langevin dynamics simulates the effect of molecular collisions
and the resulting dissipation of energy that occur in real solvents,
without explicitly including solvent molecules. This is accom-
plished by adding a random force (to model the effect of collisions)
and a frictional force (to model dissipative losses) to each atom at
each time step. Mathematically, this is expressed by the Langevin
equation of motion (compare to Equation (22) in the previous
chapter):
Fi R
ai = − γvi + i .
mi mi
95
Langevin Dynamics
Integration Algorithm
To integrate the Langevin equation, HyperChem uses the method
of: M.P. Allen and D.J. Tildesley, Computer Simulation of Liquids,
Clarendon Press, Oxford, 1987; Ch.9, page 261:
c0 = e-t
c1 = (1 – c0)/(γ ∆t)
c2 = (1 – c1)/(γ ∆t)
and ∆rG and ∆vG are random numbers chosen from a Gaussian dis-
tribution, with:
∆r G = 0
∆v G = 0
96 Chapter 7
Langevin Dynamics
Time Step
When the friction coefficient is set to zero, HyperChem performs
regular molecular dynamics, and one should use a time step that
is appropriate for a molecular dynamics run. With larger values of
the friction coefficient, larger time steps can be used. This is
because the solution to the Langevin equation in effect separates
the motions of the atoms into two time scales: the short-time (fast)
motions, like bond stretches, which are approximated, and long-
time (slow) motions, such as torsional motions, which are accu-
rately evaluated. As one increases the friction coefficient, the
short-time motions become more approximate, and thus it is less
important to have a small timestep.
Temperature
Temperature is handled the same way in Langevin dynamics as it
its in molecular dynamics. High temperature runs may be used to
overcome potential energy barriers. Cooling a system to a low tem-
perature in steps may result in a different stable conformation
than would be found by direct geometry optimization.
Friction coefficient
The friction coefficient determines the strength of the viscous drag
felt by atoms as they move through the medium; its magnitude is
related to the diffusion coefficient, D, through the relation
γ = kBT/mD. Because the value of γ is related to the rate of decay of
velocity correlations in the medium, its numerical value deter-
mines the relative importance of the systematic dynamic and sto-
chastic elements of the Langevin equation. At low values of the
friction coefficient, the dynamical aspects dominate and Newto-
nian mechanics is recovered as γ → 0. At high values of γ , the ran-
dom collisions dominate and the motion is diffusion-like.
Example: Conformations of molecules like n-decane can be glo-
bally characterized by the end-to-end distance, R. In a comparison
of single-molecule Brownian (Langevin) dynamics to molecular
dynamics, the average end-to-end distance for n-decane from a
600 ps single-molecule Langevin dynamics run was almost identi-
cal to results from 19 ps of a 27-molecule molecular dynamics run.
Both simulations were at 481K; the time step and friction coeffi-
cient for the Langevin simulation were 0.001 ps and 3.759 ps-1,
respectively.16
98 Chapter 7
Monte Carlo Simulations
Additional Procedures
Refer to the following sections of this manual for related material:
“Strategies” on page 79; “Using Geometric Restraints” on page 83;
“Collecting Averages from Simulations” on page 88; “Molecular
Dynamics on a Potential Energy Surface” on page 342.
Introduction
Monte Carlo simulations are commonly used to compute the aver-
age thermodynamic properties of a molecule or a system of mole-
cules, and have been employed extensively in the study of the
structure and equilibrium properties of liquids and solutions.18
Monte Carlo methods have also been used to conduct conforma-
tional searches under non-equilibrium conditions.
Monte Carlo calculations are somewhat similar to the molecular
(or Langevin) dynamics calculations discussed earlier. All function
by repeated application of a computational algorithm that gener-
ates a new configuration from the current configuration. The
16. W.f. van Gunsteren, H.J.C. Berendsen and J.A.C.Rullmann. “Stochastic dynamics for
molecules with constraints. Brownian dynamics of n-alkanes.” Molecular Physics, 1981, Vol.
44, No.1, 69-95.
17. G. Ramachandran and T. Schlick. “Solvent effects on supercoiled DNA dynamics ex-
plored by Langevin dynamics simulations.”, Phys.Rev. E, Vol. 51, No. 6, p.6188 (1995).
18. Allen, M. P., and Tildesley, D.J., Computer Simulation of Liquids, Oxford University Press,
New York (1987).
100 Chapter 7
Monte Carlo Simulations
Temperature
The effect of temperature in Monte Carlo simulations is primarily
to modulate the strength of intermolecular interactions, since
temperature enters the simulation only through the Boltzmann
factor exp(-∆E/kT) , where ∆E represents a difference in potential
19. Metropolis, N., Rosenbluth, A.W., Rosenbluth, M.N., Teller, A.H. and Teller, E., Equation
of state calculations by fast computing machines, J. Chem. Phys. 21, 1087-92 (1953).
102 Chapter 7
Monte Carlo Simulations
ity of the run; from statistical mechanics, one expects the mean-
squared fluctuations in the energy for the canonical ensemble to
be simply related to the constant-volume heat capacity: 〈(δE)2〉 =
kBT2 CV . For a simulation of finite duration this equality will not
be strictly obeyed, but it is useful as a limiting value.
Averaging and storage of data for a Monte Carlo run are carried out
in much the same way as for molecular dynamics (see p. 350-357).
Availability of Parameters
Force fields give the best results for molecules similar to those used
to develop its parameters. Choose a force field developed for a
range of molecules similar to your molecular system.
MM+
MM+ is unique among the force fields in the way it treats bonds
and angles. Both the bond and angle terms can contain higher
105
Force Field Features
order terms than the standard quadratic. These bond and angle
potentials express a harmonic motion better than a harmonic
potential.
MM+ also contains a stretch-bend cross term, called a Urey-Bradley
term. The other force fields in HyperChem normally evaluate non-
bonded interactions for atoms separated by three or more bonds
(1–4 and larger interactions). A Urey-Bradley term includes 1–3
interactions, which are critical for accurately simulating mole-
cules. For example, the bond angles for heavy atoms in cyclobu-
tane are compressed, compared to the natural bond angle for C sp3
orbitals, and the carbon-carbon bonds have higher p character.
This results in a weaker bond and an increased carbon-carbon
bond length. A Urey-Bradley term allows for these structural
changes and recognizes the unique 1–3 interactions which occur
in strained molecules.
HyperChem supplements the standard MM2 force field (see “Ref-
erences” on page 110) by providing additional parameters (force
constants) using two alternative schemes (see the second part of
this book, Theory and Methods). This extends the range of chemical
compounds that MM+ can accommodate. MM+ also provides cut-
offs for calculating nonbonded interactions and periodic bound-
ary conditions.
Note: MM+ is derived from the public domain code developed by
Dr. Norman Allinger, referred to as MM2(1977), and distributed by
the Quantum Chemistry Program Exchange (QCPE). The code for
MM+ is not derived from Dr. Allinger’s present version of code,
which is trademarked MM2. Specifically, QCMP010 was used as
a starting point for HyperChem MM+ code. The code was exten-
sively modified and extended over several years to include molec-
ular dynamics, switching functions for cubic stretch terms, peri-
odic boundary conditions, superimposed restraints, a default
(additional) parameter scheme, and so on.
The HyperChem MM+ code and program also differ from
MM2(1977) by having parameters in text files separate from the
code. These parameter files are available for your modification and
additions. The parameters distributed with HyperChem include
the public domain values, generally referred to as the MM2(1991)
parameter set, that Dr. Allinger contributed to HyperCube, Inc.
Parameters not obtained from Dr. Allinger are appropriately
labeled in the distributed parameter files.
106 Chapter 8
Accuracy of Force Fields
Electrostatic Interactions
Another difference between the force fields is the calculation of
electrostatic interactions. AMBER, BIO+, and OPLS use point
charges to model electrostatic interactions. MM+ calculates elec-
trostatic interactions using bond dipoles. The bond dipole method
may not adequately simulate very polar or charged systems.
Previous Experiences
Previous investigations might influence the choice of a molecular
mechanics method. If molecular mechanics calculations of a par-
ticular compound or molecule type already exist, choose the same
force field so you can make comparisons easily.
Dielectric Function
You can use two types of dielectric functions: a constant and a dis-
tance-dependent dielectric. Use constant dielectric for in vacuo sys-
tems and for molecular systems with explicit solvent molecules.
Also use constant dielectric for MM+ and OPLS calculations. Use
the distance-dependent dielectric for AMBER and BIO+ to mimic
the screening effects of solvation when no explicit solvent mole-
cules are present. The scale factor for the dielectric permittivity, ε,
can vary from 1 to 80. HyperChem sets ε to 1.5 for MM+. Use 1.0
for AMBER and OPLS, and 1.0–2.5 for BIO+.
Nonbonded Cutoffs
You can choose to calculate all nonbonded interactions or to trun-
cate (cut off) the nonbonded interaction calculations using a
switched or shifted function. Computing time for molecular
mechanics calculations is largely a function of the number of non-
bonded interactions, so truncating nonbonded interactions
reduces computing time. You must also truncate nonbonded inter-
actions for periodic boundary conditions to prevent interaction
problems between nearest neighbor images.
Use these guidelines for nonbonded interactions:
108 Chapter 8
Restraints
Restraints
You can restrain atoms during molecular mechanics or quantum
mechanics calculations. Choosing restraints, via the Restraint
Forces dialog box, applies additional harmonic forces—which you
specify, to interatomic distances, angles, or dihedrals that you
have set up as named selections.
Note: Restraints apply to distances, angles and dihedrals between
bonded or nonbonded atoms. You can also restrain atoms to
points in space.
You need to specify two parameters: the equilibrium value of the
internal coordinate and the force constant for the harmonic
potential. The equilibrium restraint value depends on the reason
you choose a restraint. If, for example, you would like a particular
bond length to remain constant during a simulation, then the
equilibrium restraint value would probably be the initial length of
the bond. If you want to force an internal coordinate to a new
value, the equilibrium internal coordinate is the new value.
2
Recommended values for the force constant are 7.0 kcal/mol Å for
2
an interatomic distance, 12.5 kcal/mol degree for an angle, and
2
16.0 kcal/mol degree for a dihedral angle. Use the recommended
values and then, if the internal coordinate is not sufficiently
restrained, try a larger force constant.
See “Using Geometric Restraints” on page 83 for examples of using
restraints.
References
MM2 Allinger, N.L. J. Am. Chem. Soc. 99:8127, 1977.
AMBER Weiner, S.J.;Kollman, P.A.; Case, D.A.; Singh, U.C.,
Ghio, C.; Alagona, G.; Profeta Jr., S.; Weiner, P.
A new force field for molecular mechanical simula-
tion of nucleic acids and proteins J. Am. Chem. Soc.
106:765–784, 1984.
Weiner, S.J.; Kollman, P.A.; Nguyen, D.T.; Case,
D.A. An all atom force field for simulations of pro-
teins and nucleic acids J. Comput. Chem. 7:230–
252, 1986.
Cornell, W.D.; Cieplak P.; Bayly, C.I.; Gould, I.R.;
Merz, K.M., Jr.; Ferguson, D.M.; Spellmeyer, D.C.;
Fox, T.; Caldwell, J.W.; Kollman, P.A., A second
generation force field for the simulation of pro-
teins and nucleic acids, Journal of the American
Chemical Society 117, 5179-5197 (1995).
CHARMM Brooks, B.R.; Bruccoleri, R.E.; Olafson, B.D.; States,
D.J.; Swaminathan, S.; Karplus, M. CHARMM: A
program for macromolecular energy, minimiza-
tion, and dynamics calculations J. Comput. Chem.
4:187–217, 1983.
MacKerell, A.D., Jr.; Bashford, D.; Bellott, M.; Dun-
brack, R.L., Jr.; Evanseck, J.; Field, M.J.; Fischer, S.;
Gao, J.; Guo, H.; Ha, S.; Joseph, D.; Kuchnir, L.;
Kuczera, K.; Lau, F.T.K.; Mattos, C.; Michnick, S.;
Ngo, T.; Nguyen, D.T.; Prodhom, B.; Reiher, W.E.,
III; Roux, B.; Schlenkrich, M.; Smith, J.; AStote, R.;
Straub, J.; Watanabe, M.; Wiorkiewicz-Kuczera, J.;
Yin, D.; Karplus, M, J. Phys. Chem B, 102, 3586.
OPLS Jorgensen, W.L.; Tirado-Rives, J. The OPLS poten-
tial functions for proteins. Energy minimizations
for crystals of cyclic peptides and crambin. J. Am.
Chem. Soc. 110:1657–1666, 1988
Pranate, J.; Wierschke, S.; Jorgensen, W.L.
J. Am. Chem. Soc. 113:2810, 1991.
110 Chapter 8
Chapter 9
Using Quantum Mechanics
Methods
There are three steps in carrying out any quantum mechanical cal-
culation in HyperChem. First, prepare a molecule with an appro-
priate starting geometry. Second, choose a calculation method and
its associated (Setup menu) options. Third, choose the type of cal-
culation (single point, geometry optimization, molecular dynam-
ics, Langevin dynamics, Monte Carlo, or vibrational analysis) with
the relevant (Compute menu) options.
111
Obtaining a Starting Structure
112 Chapter 9
Setting Up Options
Setting Up Options
Certain options are needed to setup for running quantum
mechanics calculations in HyperChem via the corresponding
option dialog boxes on the Setup menu.
114 Chapter 9
Setting Up Options
Convergence Criteria
Convergence limit and Iteration limit specify the precision of the
SCF calculation. Convergence limit refers to the difference in total
electronic energy (in kcal/mol) between two successive SCF itera-
tions yielding a converged result. Iteration limit specifies the max-
imum number of iterations allowed to reach that goal.
You can always use the default values. If the calculation exceeds
the iteration limit before it reaches the convergence limit, then
most likely there is a convergence failure. Simply increasing this
limit is unlikely to help. The DIIS convergence accelerator may
help in some cases.
Convergence Acceleration
Choose the DIIS SCF convergence accelerator to potentially speed
up SCF convergence. DIIS often reduces the number of iterations
required to reach a convergence limit. However, it takes memory
to store the Fock matrices from the previous iterations and this
option may increase the computational time for individual itera-
tions because the Fock matrix has to be calculated as a linear com-
bination of the current Fock matrix and Fock matrices from previ-
ous iterations.
116 Chapter 9
Setting Up Options
Calculate Gradient
Specifies the calculation of gradients (the first derivatives of the
total energy with respect to the nuclear positions). The RMS gradi-
ent gives an indication of the deviation from an optimized struc-
ture. The computations of two-electron integrals and their deriva-
tives are time-consuming, because of the huge number of the two-
electron integrals even for a medium size of molecule. You may
not be interested in gradients for single point calculations, so you
can turn off (not check) gradient calculation to speed up your task.
This option applies to single point calculations only. HyperGauss
always computes the gradients in doing geometry optimization,
molecular dynamics, and vibration calculations.
34. Raffenetti, R.C. Pre-processing two-electron integrals for efficient utilization in many-
electron self-consistent field calculations. Chem. Phys. Letters 20:335-338, 1973.
118 Chapter 9
Setting Up Options
Number of d Orbitals
There are two different sets of d-type functions (d orbitals) used in
ab initio and DFT calculations. One 3d set consists of five 3d func-
35. Almlof, J.; Faegri Jr., K.; Korsell, K. J. Comp. Chem. 3:385, 1982.
tions —3d0, 3d+1, 3d-1, 3d+2, and 3d-2 and is normally used in STO-
NG basis sets. The other is a set of six 3d functions — 3dxx, 3dyy,
3dzz, 3dxy, 3dxz, and 3dyz, and is used in the split-valence basis sets,
such as, 3-21G, 4-31G, 6-31G, etc.
The contraction exponents and coefficients of the d-type func-
tions were optimized using five d-primitives (the first set of d-type
functions) for the STO-NG basis sets and six d-primitives (the sec-
ond set of d-type functions) for the split-valence basis sets. Thus,
five d orbitals are recommended for the STO-NG basis sets and six
d orbitals for the split-valence basis sets.
Ghost-Atoms
With HyperChem you can always name a selection of atoms using
the Name Selection item of the Select menu. A named selection
called “ghost-atoms” has a special meaning, however. In most sit-
uations any atom that is a “ghost” atom, i.e. is a member of the
ghost-atom set is treated just like any other atom and the named
selection “ghost-atoms” is treated like any other named selection.
[An alternative to naming “ghost-atoms” is to just make the selec-
tion, GHOST ATOMS]. However HyperChem may treat the ghost
atoms differently from the regular atoms when performing certain
ab initio or DFT calculations. If you have specified the use of
“ghost-atoms” in the Ab Initio and DFT Advanced Options dialog
box, then a ghost atom is represented in ab initio or DFT calcula-
tions by its basis set only and does not have any nucleus or elec-
trons associated with it. Since there are atomic orbitals (basis func-
tions) belonging to a ghost atom, there will be Mulliken charges
attached to the ghost atoms after performing an ab initio or DFT
calculation.
The concept of “ghost-atoms” only applies to Single Point calcula-
tions in the current version of HyperChem.
A major use of ghost atoms is to be able to offset the effect of basis
set superposition effects (BSSE). For example, as two monomers
come together the basis set of one monomer extends the basis set
of the other, lowering the dimer energy more than just from the
physical monomer-monomer interaction. A way to offset this in
computing the dimerization energy is to use the same basis set in
both monomer and dimer calculations. That is, the monomer
energy is the energy of the dimer with ghost-atoms for the atoms
of one of the monomers and “real” atoms for the other monomer.
120 Chapter 9
Setting Up Options
Configuration Interaction
Use Configuration Interaction to predict the electronic spectra of
molecules. The Configuration Interaction wave function com-
putes a ground state plus low lying excited states. You can obtain
electronic absorption frequencies from the differences between
the energies of the ground state and the excited states.
A configuration interaction calculation is available only for single
points when the reference ground state is obtained from an RHF
calculation.
The calculation mixes all single determinant wavefunctions that
can be obtained from the ground state by exciting electrons from
a subset of the occupied orbitals (of the ground state) to a subset of
the unoccupied orbitals. The subsets are specified as a fixed num-
ber (highest occupied or lowest unoccupied) or by an energy crite-
rion associated with the energy difference between the occupied
orbital and the unoccupied orbital.
If you use the Conjugate Direction optimizer, you can optimize
the geometries of excited states from configuration interaction cal-
cultions.
Hückel Constant
The Hückel constant (k) scales the interaction energy between two
atomic orbitals (see “Extended Hückel Method” on page 130).
HyperChem uses the default value of 1.75 (see the second part of
this book, Theory and Methods). You should use this value for most
cases. A suggested range for experimental adjustment of this con-
stant is 1.6–2.0.36
You can select Unweighted constant or Weight diffuseness for the
Hückel constant. The unweighted option uses only the scale factor
k. The Weight diffuseness option weighs the contributions from the
two binding energies differently, but absorbs this weighting into
the Hückel constant. The option you choose makes little differ-
ence in cases of orbitals with similar diffuseness, as for most
organic molecules. It may be useful in calculations involving third
row elements.
d Orbitals
The Extended Hückel method also allows the inclusion of d orbit-
als for third row elements (specifically, Si, P, S and Cl) in the basis
set. Since there are more atomic orbitals, choosing this option
results in a longer calculation. The major reason to include d orbit-
als is to improve the description of the molecular system.
In some situations, using this option may be important. For exam-
ple, if p orbitals on electronegative atoms interact with d orbitals,
(as for a silicon atom bonded to an amine group), you may want
to include d orbitals.
Convergence Criteria
Convergence limit and Iteration limit specify the precision of the cal-
culation. Convergence limit refers to the difference in energy (in
kcal/mol) between two successive SCF cycles. Iteration limit speci-
fies the maximum number of cycles allowed to reach that goal.
You can usually use the default values. If the calculation exceeds
the iteration limit before it reaches the convergence limit, then
36. Hoffmann, R. An Extended Hückel Theory. I. Hydrocarbons J. Chem. Phys. 39(6):1397-
1412, 1963.
122 Chapter 9
Setting Up Options
Convergence Acceleration
The DIIS convergence accelerator is available for all the SCF
semiempirical methods. This accelerator may be helpful in curing
convergence problems. It often reduces the number of iteration
cycles required to reach convergence. However, it may be slower
because it requires time to form a linear combination of the Fock
matrices during the SCF calculation. The performance of the DIIS
accelerator depends, in part, on the power of your computer.
Configuration Interaction
Configuration Interaction (or electron correlation) improves
energy calculations using CNDO, INDO, MINDO/3, MNDO,
124 Chapter 9
Types of Calculations
Types of Calculations
Single-point, geometry optimization, molecular dynamics and
vibration calculations are all available with either ab initio, DFT, or
semi-empirical SCF methods. After obtaining a wavefunction via
any of these calculations, you can plot two-dimensional contour
diagrams of the electrostatic potential surrounding a molecule, the
total electronic density, the spin density, one or more molecular
orbitals, and the electron densities of individual orbitals. After a
vibration calculation, you can display a predicted infrared spec-
trum and display normal modes as vector attached to atoms or by
animation of each mode. If you have performed a single-point cal-
culation with a singly-excited configuration interaction, you can
display a simulated ultraviolet-visible spectrum.
The setup of these calculations is very similar for both quantum
and molecular mechanics. In practice, molecular dynamics calcu-
lations using the ab initio, DFT, and semi-empirical quantum
mechanical SCF methods are limited to relatively small systems.
Each time step requires a complete calculation of the wave func-
tion and the forces.
Note: You can superimpose harmonic restraining forces to inter-
atomic distances, angles, or dihedrals that you have set up as
named selections. You can also restrain atoms to points in space.
See “Using Geometric Restraints” on page 83 and “Restraints” on
page 109.
Optimization Methods
Four optimization techniques are available for geometry optimiza-
tions with quantum mechanical methods: a steepest descent
method, two conjugate gradient methods, and eigenvector follow-
ing. A generally less desirable conjugate directions optimizer is also
available for certain situations where gradients are not available.
To select these methods, choose Geometry Optimization on the
Compute menu. The Semi-empirical Optimization or Ab Initio or
Density Functional Optimization dialog box appears. You have the
choice of the same methods as for molecular mechanics calcula-
tions (see “Geometry Optimizations” on page 59).
In general, the steepest descent method is useful when a molecule
is far from a minimum. Conjugate gradient methods are better
when the minimum is nearby. You choose the precision of the
optimization in the Semi-empirical Optimization or Ab Initio or
Density Functional Optimization dialog box. Suitable default val-
ues for ending an optimization calculation are either an RMS gra-
dient of 0.1 kcal/mol/Å or a maximum number of cycles that is 15
times the number of atoms involved in the calculation. In general,
you must use a gradient limit. For improved precision, use a lower
gradient limit.
The conjugate directions optimizer will take longer than the other
optimizers to find a minimum since it does not have information
on gradients. It may require a relatively large number of cycles to
find a minimum. Each time it is started over again (somewhat)
since without gradients it doesn’t know where it is starting from or
how far away the minimum is.
Note: You cannot use the Extended Hückel method or any one of
the SCF methods with the CI option being turned on for geometry
optimizations, molecular dynamics simulations or vibrational cal-
culations, in the current version of HyperChem [Geometry optimi-
zation by Conjugate Directions is available with the CI option].
126 Chapter 9
Types of Calculations
Molecular Dynamics
You can use any ab initio or DFT SCF calculation and all the semi-
empirical methods, except Extended Hückel, for molecular
dynamics simulations. The procedures and considerations are sim-
ilar for simulations using molecular mechanics methods (see
“Molecular Dynamics” on page 71).
These simulations take much longer than molecular mechanics
simulations. They may, however, model bond breaking and forma-
Vibrations
A vibrations calculation is the first step of a vibrational analysis. It
involves the time consuming step of evaluating the Hessian matrix
(the second derivatives of the energy with respect to atomic Carte-
sian coordinates) and diagonalizing it to determine normal modes
and harmonic frequencies. For the SCF methods the Hessian
matrix is evaluated by finite difference of analytic gradients, so the
time required quickly grows with system size.
Once the vibration calculation completes, you can analyze and
display the results by using Vibrational Spectrum menu item.
128 Chapter 9
Types of Calculations
Vibrational Spectrum
To perform a vibrational analysis, choose Vibrations on the Com-
pute menu to invoke a vibrational analysis calculation, and then
choose Vibrational Spectrum to visualize the results. The Vibra-
tional Spectrum dialog box displays all vibrational frequencies and
a simulated infrared spectrum. You can zoom and pan in the spec-
trum and pick normal modes for display, using vectors (using the
Rendering dialog box from Display/Rendering menu item) and/or
animation.
Generally, a vibration analysis calculation should be performed
after a geometry optimization with the same method. This ensures
that the calculation of second derivatives is performed at a config-
uration for which all first derivatives are zero.
Electronic Spectrum
Use the Electronic Spectrum dialog box to display and analyze the
UV-visible spectrum produced by a singly excited CI calculation.
This dialog box is available from the Compute menu only after
you do a single point CI semi-empirical, DFT, or ab initio calcula-
tion. Electronic Spectrum is then activated on the Compute menu.
the DFT values are to be considered suspect because the orbitals are
Kohn-Sham orbitals not Hartree-Fock orbitals and their use in a CI
requires re-examination. For example, the matrix elements
between the ground state and singly-excited states from DFT are
no longer zero as the CI code assumes.
130 Chapter 9
NDO Methods
NDO Methods
The Extended Hückel method neglects all electron-electron inter-
actions. More accurate calculations are possible with HyperChem
by using methods that neglect some, but not all, of the electron-
electron interactions. These methods are called Neglect of Differ-
ential Overlap or NDO methods. In some parts of the calculation
they neglect the effects of any overlap density between atomic
orbitals. This reduces the number of electron-electron interaction
integrals to calculate, which would otherwise be too time-consum-
ing for all but the smallest molecules.
132 Chapter 9
NDO Methods
TNDO Methods
The TNDO (Typed Neglect of Differential Overlap) approximation
is a new semi-empirical method with considerable research needed
before its parameters are fully known for the variety of situations
in which it might be used. It is essentially identical to CNDO
(TNDO/1) or INDO (TNDO/2). The only difference is that the
semi-empirical parameters are a function not of the atomic num-
ber but of the atom type. It uses Amber atom types and is in some
sense a combination of molecular mechanics and semi-empirical
quantum mechanics.
To be fully effective TNDO needs lots of research effort to develop
parameters for the different atom types (chemical environments).
For example, unlike INDO, which has one β bonding parameter for
all C-C bonds, TNDO/2 has different β values for C-C single bonds,
double bonds, triple bonds, aromatic bonds, etc. The atom param-
eters depend upon specific chemical environments as well as the
property one is trying to predict. That is, in the general TNDO
scheme one does not have one generic set of parameters for all sit-
uations but different parameter sets for different properties. Thus,
in HyperNMR, which uses TNDO, there is one parameter set for
predicting chemical shifts and a different parameter set for predict-
ing spin-spin coupling.
For only the TNDO semi-empirical method a scheme, associated
with the menu item Select Parameter Set, is available for quickly
choosing and copying parameter sets.
Parameterization
The various semi-empirical methods in HyperChem differ in many
technical details. Treatment of electron-electron interactions is
one major distinguishing feature. Another important distinguish-
ing feature is the approach used to parameterize the methods.
Based on the methods used for obtaining parameters, the NDO
methods fall into two classes:
134 Chapter 9
Results of Semi-Empirical Calculations
Energies of Molecules
The total energy in an Molecular Orbital calculation is the net
result of electronic kinetic energies and the interactions between
all electrons and atomic cores in the system. This is the potential
energy for nuclear motion in the Born-Oppenheimer approxima-
tion (see page 33).
The stable geometry of a molecule has a minimal total energy.
Geometries at different energy minima (local minima plus the glo-
bal minimum) describe different stable or metastable conforma-
tions and isomers of a molecule. Geometry optimizations with
NDO methods generally yield geometries corresponding to energy
minima.
While the HyperChem status line reports the binding energy of
the electrons, all the SCF methods also supply heat of formation.
MINDO/3, MNDO, AM1, and PM3 are parameterized by fitting to
experimentally determined heats (enthalpies) of formation for a
set of molecules at 298 K. The heat of formation is calculated for
136 Chapter 9
Results of Semi-Empirical Calculations
39. Thiel, W. Semiempirical Methods: Current Status and Perspectives Tetrahedron, 44:7393,
1988.
40. Dewar, J. S.; Dieter, K. M. J. Am. Chem. Soc. 108: 8075, 1986.
Geometries of Molecules
The geometries obtained from optimizations with semi-empirical
calculations describe the shapes of molecules. The calculations
have varying degrees of accuracy and take more time than molec-
ular mechanics methods. The accuracy of the results depends on
the molecule.
Molecular mechanics force fields have much information built
into them and can be accurate for the molecules used in their
parameterization. For molecules outside the limited scope for
which they were designed, semi-empirical methods are more reli-
able. Stewart38 reports a statistical study of geometries obtained
using MNDO and AM1. For second row elements, the calculations
of bond lengths are accurate to an average of approximately 0.01
Ångstrom for AM1, and almost twice this error for MNDO. For
third row elements, the error is about twice that of the second row
elements. Bond angles are predicted correctly to within a few
degrees for almost all organic molecules.
138 Chapter 9
Results of Semi-Empirical Calculations
Dipole Moments
The molecular dipole moment is perhaps the simplest experimen-
tal measure of charge density in a molecule. The accuracy of the
overall distribution of electrons in a molecule is hard to quantify,
since it involves all of the multipole moments. Experimental mea-
sures of accuracy are necessary to evaluate results. The values for
the magnitudes of dipole moments from AM1 calculations for a
small sample of molecules (Table 4) indicate the accuracy you may
expect. This data is a sampling from Stewart’s review.38
Table 8–4. Dipole moments of selected molecules, from AM1 calculations
140 Chapter 9
Results of Semi-Empirical Calculations
Electrostatic Potential
Electron distribution governs the electrostatic potential of mole-
cules. The electrostatic potential describes the interaction of
energy of the molecular system with a positive point charge. Elec-
trostatic potential is useful for finding sites of reaction in a mole-
cule: positively charged species tend to attack where the electro-
static potential is strongly negative (electrophilic attack).
HyperChem displays the electrostatic potential as a contour plot
when you select the appropriate option in the Contour Plot dialog
box. Choose the values for the starting contour and the contour
increment so that you can observe the minimum (typically about
–0.5 for polar organic molecules) and so that the zero potential
line appears.
View the contour map in several planes to see the general form of
the distribution. As long as you don’t alter the molecular coordi-
nates, you don’t need to repeat the wave function calculation. Use
the left mouse button and the HyperChem Rotation or Translation
tools (or Tool icons) to change the view of a molecule without
changing its atomic coordinates.
Atomic charges indicate where large negative values (sites for
electrophilic attack) are likely to occur. However, the largest
negative value of the electrostatic potential is not necessarily adja-
cent to the atom with the largest negative charge. An example is
formamide (NH2CHO). The largest negative atomic charge occurs
on the nitrogen, but the most negative values of the electrostatic
potential occur at the oxygen lone pair sites. Protonation most
favorably occurs at these sites. This illustrates the value of electro-
static potential compared to simple atomic charges in predicting
reactivity.
142 Chapter 9
Results of Semi-Empirical Calculations
Atomic Charges
Energy, geometry, dipole moment, and the electrostatic potential
all have a clear relation to experimental values. Calculated atomic
charges are a different matter. There are various ways to define
atomic charges. HyperChem uses Mulliken atomic charges, which
are commonly used in Molecular Orbital theory. These quantities
have only an approximate relation to experiment; their values are
sensitive to the basis set and to the method of calculation.
It is interesting to calculate the atomic charges of the water mole-
cule using the various methods in HyperChem, and compare the
results to the optimized point charges for the TIP3P model of
water. The TIP3P model, which HyperChem uses in its periodic
box, gives atomic charges that reproduce accurately the electro-
static interactions between water molecules. The charge on the
oxygen atom is –0.834, while the charges on the oxygens from the
semi-empirical calculations at optimized geometries are –0.383
(AM1), –0.326 (MNDO), –0.505 (MINDO/3), –0.312 (INDO), and
–0.266 (CNDO). At the CNDO geometry, the Extended Hückel
charge on oxygen is –0.884. Extended Hückel, which gives the
least accurate results of any method, yields a charge closest to the
electrostatic potential values of TIP3P. Note that the TIP3P values
are appropriate for a particular use; it would be incorrect to call
them the proper atomic charges. However, it is clear that reliable
energies and geometries do not translate into a meaningful set of
atomic charges.
Despite these reservations, Mulliken population-derived atomic
charges are easy to compute. Empirical investigation shows that
they have various uses; they provide approximate representation
of the 3D charge distribution within a molecule.
AMBER, BIO+, and OPLS calculations use information on atomic
charges. Atomic charges can come from these sources:
Chemical Reactivity
Because of thermodynamic forces, many elementary reactions
(those that take place in a single step) favor the most stable prod-
uct. In these cases, calculating energies of the reaction products
yields straightforward, well-defined information about the likely
products. Electrophilic, aromatic substitutions are an example of
this type of reaction.
Other reactions are controlled kinetically, and the most stable
product is not the major one observed. In these cases, you must
look at the reactant side of the reaction coordinate to discover fac-
tors determining the outcome. Klopman42 and Salem43 developed
an analysis of reactivity in terms of two factors: an electrostatic
interaction approximated by atomic charges and a Frontier orbital
interaction. Fleming’s book provides an excellent introduction to
these ideas.44
The Klopman-Salem equation partitions contributions to the
interaction energy of two molecules into two teams, as they
approach each other (equation 29).
144 Chapter 9
Results of Semi-Empirical Calculations
C ⋅ C ⋅ H 2
q A q B occ unocc occ unocc µ ν
2 ∑ µr νs µν
∆E = ∑ ------------- +
R
A < B AB
∑
r
∑ – ∑ ∑ -----------------------------------------------------
εr – εs
-
s s r
(29)
∆E is the interaction energy; qA and qB are charges on atoms A and
B, separated by RAB, on different molecules. r and s are molecular
orbitals on the two different molecules. µ and ν label the atomic
orbitals that contribute to these molecular orbitals, with coeffi-
cients Cµr and Cνs. Hµν is the matrix element between atomic orbit-
als µ and ν, which is a measure of the energy of their interaction,
roughly proportional to their overlap. The energies of the molecu-
lar orbitals are εr and εs.
The first term includes the electrostatic attractions and repulsions
between the net charges on pairs of atoms, one from each mole-
cule. The second involves interactions between occupied and
vacant molecular orbitals on the two molecules. The hypothesis is
that the reaction proceeds in a way to produce the most favorable
interaction energy. In one extreme, this can be accomplished by a
favorable electrostatic interaction between charges. At the other
extreme, it is accomplished by a favorable overlap of Frontier
orbitals. Note that the Klopman-Salem equation is approximate,
and that even within the framework of the equation, both factors
are always at work.
Frontier Orbital theory supplies an additional assumption to this
calculation. It considers only the interactions between the highest
occupied molecular orbital (HOMO) and the lowest unoccupied
molecular orbital (LUMO). These orbitals have the smallest energy
separation, leading to a small denominator in the Klopman-Salem
equation. The Frontier orbitals are generally diffuse, so the numer-
ator in the equation has large terms.
The interaction between charges favors reaction between sites (on
the two species) that have extreme charge values: the most positive
charge interacts with the most negative. This ionic reaction gener-
ally involves strongly polar reactants. The second term favors
interactions where the HOMO and the LUMO can overlap most
favorably. This generally occurs for less polar reactants and is
important when the two have similar energies, so that the denom-
inator is small.
146 Chapter 9
Results of Semi-Empirical Calculations
148 Chapter 9
Results of Semi-Empirical Calculations
1370-1380 s
720-725 m
2.Alkenes
1645 m C = C stretch
990 s
C – H out-of-plane bend
910 s
1650 m C = C stretch
150 Chapter 9
Results of Semi-Empirical Calculations
1660 m C = C stretch
1675 vw C = C stretch
1670 w C = C stretch
3.Alkynes
a) RC ≡ CH 3300 s ≡ C – H stretch
2100-2140 m C ≡ C stretch
600-700 s ≡ C – H bend
b) RC ≡ CR 2190-2260 vw C ≡ C stretch
4.Alkyl Halides
a) R – F 1000-1350 vs C – F stretch
b) R – Cl 750-850 s C – Cl stretch
c) R – Br 500-680 s C – Br stretch
d) R – I 200-500 s C – I stretch
5.Alcohols
1050 C – O stretch
1150 s C – O stretch
1200 s C – O stretch
8. Ketones
UV-visible Spectra
The longest wavelength absorption transition for ethene calcu-
lated by HyperChem using PM3 is 207 nm, which compares favor-
ably with the experimental value of 190-200 nm.
152 Chapter 9
Choosing a Semi-Empirical Method
Styrenes 270-300
Extended Hückel
Extended Hückel (EHT) is the computational equivalent of the
orbital interaction pictures familiar to chemists (see “Generating
and Viewing Orbitals and Electronic Plots” on page 9). The ener-
gies of atomic orbitals are well defined, and the total energy is the
sum of occupied orbital energies. Neither factor is true for other
methods. Extended Hückel is useful for examining the general
form and energy ordering of molecular orbitals. The method is
simple and it provides qualitative answers to questions about elec-
tronic structure.
CNDO
Although CNDO is less accurate than other NDO methods, there
are two common reasons for using it:
154 Chapter 9
Choosing a Semi-Empirical Method
INDO
INDO is faster than MINDO/3, MNDO, AM1, and PM3 and, unlike
CNDO, can deal with spin effects. It is a particularly appealing
choice for UHF calculations on open-shell molecules. It is also
available for mixed mode calculations (see the previous section).
INDO shares the speed and storage advantages of CNDO and is
also more accurate. Although it is preferred for numerical results,
it loses some of the simplicity and interpretability of CNDO.
MINDO/3
MINDO/3 is the earliest of the Dewar methods. It provides more
accurate geometries and heats of formation than CNDO or INDO,
and has been used widely. The limitations of the INDO approxima-
tion, on which MINDO/3 is based, frequently lead to problems of
accuracy when dealing with molecules containing heteroatoms.
MINDO/3 is particularly good for describing carbocations, includ-
ing nonclassical carbocations, and polynitro organic compounds.
For these problems it gives better results than MNDO and AM1,
even though those methods are generally more accurate. Stewart23
reports that for a set of 11 nitro and polynitro organic compounds,
the average error in heats of formation is 3.5 kcal/mol for
MINDO/3, compared to 34.5 kcal/mol for MNDO or 13.7 kcal/mol
for AM1.
MNDO
MNDO was introduced to correct some of the problems with
MINDO/3. It has been used widely to calculate heats of formation,
molecular geometries, dipole moments, ionization energies, elec-
tron affinities, and other properties. It has problems dealing with
sterically crowded molecules (too unstable), four-membered rings
(too stable), hydrogen bonding (almost nonexistent), and hyper-
valent compounds (too unstable). Also, nitrobenzene incorrectly
yields an out-of-plane nitro group, and the peroxide bond is too
short by about 0.17 Ångstrom.
Although AM1 is generally a significant improvement over
MNDO, MNDO gives better results for some classes of molecule,
such as some phosphorus compounds.
MNDO/d
MNDO/d is a version of MNDO with d-orbital capability. In addi-
tion to the previous MNDO parameter sets, parameters for several
new elements are included in the implementation of the MNDO/d
method, such as Na, Mg, Cd and Sn. The MNDO/d method and its
parameter set referred to can be found in the following references:
W. Theil and A. Voityuk, Theo. Chim. Acta 81, pp391-404 (1992);
W. Thiel and A. Voityuk, Int.J. Quant. Chem. 44, pp807-829
(1992);
AM1
Many problems with MNDO involve cases where the NDO approx-
imation electron-electron repulsion is most important. AM1 is an
improvement over MNDO, even though it uses the same basic
approximation. It is generally the most accurate semi-empirical
method in HyperChem and is the method of choice for most prob-
lems. Altering part of the theoretical framework (the function
describing repulsion between atomic cores) and assigning new
parameters improves the performance of AM1. It deals with hydro-
gen bonds properly, produces accurate predictions of activation
barriers for many reactions, and predicts heats of formation of
molecules with an error that is about 40 percent smaller than with
MNDO.
Problems still exist with AM1. Treatment of phosphorus-oxygen
bonds is inaccurate, nitro compounds are still too positive in
energy, and the peroxide bond, for example, is still too short. In
many cases, PM3 is an improvement over AM1.
PM3
PM3 is a reparameterization of AM1, which is based on the neglect
of diatomic differential overlap (NDDO) approximation. NDDO
retains all one-center differential overlap terms when Coulomb
and exchange integrals are computed. PM3 differs from AM1 only
in the values of the parameters. The parameters for PM3 were
derived by comparing a much larger number and wider variety of
experimental versus computed molecular properties. Typically,
nonbonded interactions are less repulsive in PM3 than in AM1.
PM3 is primarily used for organic molecules, but is also parameter-
ized for many main group elements.
156 Chapter 9
Choosing a Semi-Empirical Method
ZINDO/1
The ZINDO/1 method is the most suitable semi-empirical method
in HyperChem for determining structures and energies of mole-
cules with first or second transition row metals.
The ability to perform molecular orbital (MO) calculations on met-
als is extremely useful because molecular mechanics methods are
generally unable to treat metals. This is because metals have a wide
range of valences, oxidation states, spin multiplicities, and have
unusual bonding situations (e.g., dπ-pπ back bonding). In addi-
tion, the nondirectional nature of metallic bonding is less amena-
ble to a ball and spring interpretation.
Conversely, these factors dictate that molecular orbital calcula-
tions on metals yield less reliable results than with organic com-
pounds.
ZINDO/S
ZINDO/S is parameterized to reproduce spectroscopic transitions,
therefore we do not recommend using this method for geometry
optimization. You can obtain better results by performing a single-
point calculation with ZINDO/S on a geometry obtained from the
Model Builder, an optimization using one of HyperChem’s other
methods, or an external source.
For transition metal complexes with several possible spin arrange-
ments, a separate calculation within each spin multiplicity may be
required to find the ground state of the complex.
When computing UV visible spectra, you should do a CI singles
calculation. RHF or UHF calculations are sufficient to reproduce
the proper order of molecular orbitals in most complexes.
TNDO
TNDO is essentially an experimental method. While simple, it can
be the most accurate of any of the semi-empirical methods. To be
accurate, however, requires a good set of parameters for the prop-
erty of interest and the set of atom types included in set of mole-
cules for which predictions are required. If only the CNDO or
INDO parameters are available then it reduces to a method with
the relatively modest predictability that CNDO or INDO provide.
Further Reading
Documentation on the reliability of the different NDO methods
for various applications is scattered throughout the chemistry lit-
erature. Original papers describing the methods present relevant
material. The CNDO and INDO methods are discussed in books by
Pople and Beveridge45 and by Murrell and Harget46. Compilations
exist for MINDO/3 and MNDO in a book by Clark.47 For MNDO,
AM1, and PM323, see the MOPAC documentation by Stewart24 and
a review article by Stewart27.
45. Pople, J. A.; Beveridge, D. L. Approximate Molecular Orbital Theory McGraw-Hill, New
York, 1970.
46. Murrell, J. N.; Harget, A. J. Semi-empirical Self-consistent-field Molecular Orbital Theory of
Molecules Wiley Interscience, New York, 1971.
47. Clark, T. A. Handbook of Computational Chemistry, John Wiley and Sons, New York, 1985.
158 Chapter 9
HyperChem®
Computational Chemistry
Part 2
Theory and Methods
159
160
Chapter 10
Theory and Methods Introduction
HyperChem Architecture
While you may not necessarily perceive the difference, Hyper-
Chem is designed to consist of two basic components: a front end
and a back end.
The front end is what you see and what you interact with. It pro-
vides a user interface to molecular modeling and provides the visu-
alization of molecules and the results of computations. The front
end can be thought of as the molecular modeling component of
HyperChem.
161
HyperChem Architecture
162 Chapter 10
HyperChem Philosophy
HyperChem Philosophy
The HyperChem philosophy associated with back end computa-
tions is one which is intended to instill confidence, as far as is pos-
sible, in the scientific results emanating from HyperChem. This
philosophy is one of openness — openness about the product, the
calculations being performed, the science embodied in the prod-
uct, etc. Apart from protecting the proprietary code associated
with a commercial product, Hypercube wishes to document and
describe as fully as is possible the calculations that HyperChem
performs. There should be no mystery about the scientific results
obtained with HyperChem.
164 Chapter 10
Background on Computational Chemistry
ple, the potential surface (in this case a potential curve) for a
diatomic molecule is sketched qualitatively in the following illus-
tration. The potential energy curve shows the potential energy of
the molecule as a function of the internuclear distance R. Now, in
fact, there are six degrees of freedom on which the energy might
depend—for instance the X, Y, and Z coordinates of each of the
two atoms. However, five of these degrees of freedom correspond
to translations (3) and rotations (2) of the rigid molecule and do
not affect the energy of the system. This leaves only the internu-
clear distance as the variable upon which the potential energy
depends.
Energy
166 Chapter 10
Background on Computational Chemistry
Energy
molecular
mechanics
semi-empirical
Single Point
A single point calculation, as its name suggests, performs a calcula-
tion at only a single point on the potential surface. For a diatomic
molecule, this might be a calculation at R=2.0 Å, for example. The
results of a single point calculation give the potential energy of the
system at that geometry, as well as the gradient at that point. For
single parameter potential curves like that shown above, the gra-
dient describes the steepness of the potential curve at that point
along the direction in which the energy decreases. For a poly-
Geometry Optimization
A geometry optimization samples single points on the potential
surface, searching for a minimum. At a potential minimum, the
gradient is zero, and any small change in geometry causes the
potential energy to rise. The technique used to search for the min-
imum is called the optimization algorithm, and several of these are
available for selection in the optimization dialog box. The optimi-
zation algorithms are recipes for using the past history of points
sampled from the potential surface to determine the next point to
examine.
Molecular Dynamics
Molecular dynamics involves the addition of kinetic energy to the
above potential energy surface description and the subsequent
motion of the molecular system over the potential surface. This
motion follows the laws of classical mechanics according to New-
ton. Normally (except for the constant temperature algorithm of
HyperChem), the classical total energy (sum of kinetic energy and
potential energy) is conserved and the motion is faster (larger
kinetic energy) near minima in the potential surface (smaller
potential energy). If a set of initial conditions is defined (initial
velocities and a particular point on the potential surface), then
Newton's laws cause the molecular system to evolve along a path
that is referred to as the molecular dynamics trajectory. This trajec-
tory traverses the potential surface in ways that are of considerable
interest to explore. Both the end point of a trajectory and the path
taken to get there are of interest in molecular modeling.
168 Chapter 10
Background on Computational Chemistry
Electrons
Nuclei
where (R) is the total kinetic energy of the nuclei, (r) is the
n e
total kinetic energy of the electrons, (r,r) is the potential energy
ee
of interaction of electrons with electrons, (R,r) is the potential
ne
energy of interaction of the nuclei with electrons, and (R,R) is
nn
the potential energy of interaction of nuclei with nuclei.
or
(R) = n(R) + E elec ( R ) + nn ( R, R) (5)
170 Chapter 10
Background on Computational Chemistry
172 Chapter 10
Background on Computational Chemistry
Force-Energy Generators
HyperChem performs a number of different types of calculations
such as geometry optimization, molecular dynamics, etc. Each of
these types of calculations is designed to be, as far as is possible,
independent of the technology that produces the potential energy
surface. The technology that produces the potential energy surface
is referred to here as a force-energy generator. Thus, geometry opti-
mization of a molecule is fed by routines that compute the poten-
2 2
tial energy (R) and its derivatives d (R)/dR, d (R)/dR , etc.
without concern whether these force-energy generators are molec-
ular mechanics or semi-empirical quantum mechanics. New force-
energy generators could, in principle, be added easily. An example
would be the addition of an ab initio force-energy generator for
which all the other methodology of HyperChem, such as molecu-
lar dynamics, would become available.
174 Chapter 10
Chapter 11
Molecular Mechanics
175
Background
Background
Molecular mechanics has three important concepts:
• Functional form
• Atom types
• Parameter sets
Each force field includes a set of atom types. Consider the qua-
dratic stretch term shown above. In principle, every different bond
in every molecule would have its own parameters r0 and K . This
r
would be unmanageable for a generic method that attempts to
compare molecules. Instead, atoms are classified as having a given
type. Thus, you can distinguish an sp-hybridized carbon from an
2 3
sp -hybridized carbon from an sp -hybridized carbon by saying
they are different types (C2, C3, and C4 in MM+, for example). You
can then describe quadratic stretching constants r0 and K for each
r
pair of atoms types (C2-C2, C2-C3, C3-C3, etc. as in MM+). The
atom types in HyperChem are a characteristic of the force field
with one set of atom types for each force field.
Finally, each force field may have multiple parameter sets (the val-
ues of r0 and K , for example). The AMBER force field and AMBER
r
set of types may be used with, for example, the AMBER/2 or
AMBER/3 set of parameters.
These ideas plus others related to the molecular mechanics options
of HyperChem are discussed in this chapter.
176 Chapter 11
Atom Types
Atom Types
The concept of atom types might be considered the most funda-
mental topic in molecular mechanics and lies behind all aspects of
the approach. Atom types, not atoms, are the fundamental basis
for calculating interactions in molecular mechanics.
• Hybridization
• Formal charge on the atom
• Immediate bonded neighbors
a default set of atom types and all parameter sets for a given force
field must use the same set of atom types. It is possible, however,
to redefine or modify the atom types associated with a force field
as described in the next section.
Atom types are defined in the file chem.rul. The atom types for
each of the force fields are listed in the files pointed to by the
AtomTypeMass entries associated with the specific force fields in
the Registry. They are usually named *typ.txt or *typ.dbf, depend-
ing on whether text or dBASE format is used. For the AMBER force
field, all variations use the same type file, defined in the [Amber]
section of the Registry. It is usually called ambertyp.txt, if a text
format file is used, indicated by FileFormat=Text or ambertyp.dbf,
if a dBASE III format file is used, indicated by FileFormat=dbf [
dBase formats for parameters are being discontinued in favor of
text files].
The concept of atom types is particularly relevant to the united
atom approach. In AMBER, for example, an all atom treatment of
a methyl group uses the type CT to describe the carbon and the
type HC to describe the hydrogens. A united atom approach col-
lapses the hydrogens into the carbon nucleus to represent the
whole methyl group as one type, C3, located at the position of the
carbon but with quite different interaction characteristics (param-
eters). For each force field, the list of types and their atomic masses
is stored in the file pointed to by the AtomTypeMass entry in the
Registry or chem.ini. The masses of CT and C3 are respectively
12.01 and 15.03, with the larger number including the mass of the
hydrogen atoms.
While atom types are tied to a specific force fields, it is easy to
modify each force field's atom types; the functional form cannot
be modified but atom types can. The next section describes how
atom types are defined.
178 Chapter 11
Atom Types
O:
; carbonyl
connected to =C?
=O.
; ether
connected to (-C)-C?
=OS.
; ester
connected to (C=O)C?
=OS.
; water
connected to H2?
=OW.
; hydroxyl
connected to H?
=OH.
; phospho ester
connected to (C)P?
=OS.
; phosphate
connected to P?
=O2.
; default
=OS.
180 Chapter 11
Force Fields
The new parameter files must be compiled for each parameter set
used with the particular force field that has the new type, as fol-
lows:
1. Start HyperChem.
2. Choose the appropriate force field (MM+, AMBER, OPLS, or
BIO+).
3. Select Setup/Select Parameter Set and specify a particular
parameter set.
4. Select Setup/Compile Parameter File to create a new binary
*.par parameter file that includes the new type.
5. Repeat steps 3 and 4 for each of the parameter sets available
with the particular force field being modified.
Force Fields
This section describes HyperChem's four force fields, MM+,
AMBER, OPLS, and BIO+, providing auxiliary information for all
force field calculations.
Note: All of the force fields provided in HyperChem are built on
new implementations of force fields developed by various compu-
tational chemistry research groups. However, HyperChem
improves on the original force fields and uses new code.
Background
Many of the ideas and issues surrounding the use of molecular
mechanics (or force field technology) in computational chemistry
are common to all force fields and in this section we describe many
of these basic ideas.
182 Chapter 11
Force Fields
Bond Stretching
This term is associated with deformation of a bond from its stan-
dard equilibrium length. For small displacements from equilib-
rium, a harmonic function is often used:
E bond = ∑ Kr ( r – r0 ) 2
bonds
(11)
E bond angle = ∑
angles
Kθ ( θ – θ0 ) 2 (12)
Dihedrals
This term is associated with the tendency of dihedral angles to
have a certain n-fold symmetry and to have minimum energy for
the cis-, gauche-, or trans-conformation, etc.
∑
V
E dihedral = ------n [ 1 + cos ( nφ – φ 0 ) ]
2
dihedral
(13)
The period of the interaction is 360/n. The phase angle φ shifts the
0
curve to the left or right. For n=1 and φ =0, the curve represents the
0
situation where the energy is a minimum for the trans-conforma-
Improper Dihedrals
This term is associated with maintaining the planarity of planar
atoms, or preventing inversion of tetrahedral carbons with one
hydrogen in a united atom representation. This type of term usu-
ally employs an energetic penalty for deformation of a dihedral
angle defined by the central atom and its three bonded neighbors.
The functional form employed may be that of equation (12) or
equation (13) on page 183, or a different scheme altogether (as in
MM+).
∑
A ij B ij
E vanderWaals = --------
- – ------- (14)
R ij12 R ij6
ij ∈ vdW
184 Chapter 11
Force Fields
a specific pair, ij, of atom types. Pairs of atom types means that
parameter files contain explicit parameters for a pair of atom types
ij and that no combining of single atom type parameters is neces-
sary. If in the first case, there were N parameters, the second case
would require N(N-1)/2 parameters for an equivalent set. If
present, the constants specified by pairs of atoms types are used to
override the values generated from single atom types.
The form that single atom type constants take is selected by setting
the Registry/chem.ini parameter set entry 6–12AtomVDWFormat
to one of RStarEpsilon, SigmaEpsilon or SlaterKirkwood. This spec-
ifies the combination rules that are used for the file pointed to by
the 6–12AtomVDW entry in the Registry or the chem.ini file for
the same parameter set.
For the 6–12AtomVDWFormat entry set to RStarEpsilon, the com-
bination rules used are:
r i∗ r j∗ 12
A ij = -----
- + ------ εi εj (15)
2 2
r i∗ r j∗ 6
B ij = 2 ----- εi εj
2- + -----
- (16)
2
where r∗i /2 is half the minimum energy separation for two atoms
of type i, ε is the well depth for two atoms of type i. These param-
i
eters are found in the parameter file.
For the 6–12AtomVDWFormat entry set to SigmaEpsilon, the com-
bination rules used are:
A ij = 4 ( σ i σ j ) 6 ε i ε j (17)
B ij = 4 ( σ i σ j ) 3 ε i ε j (18)
(r = 6 2 σ i ) , and ε , the well depth for two atoms of type i, are the
i
parameters from the parameter file.
For the 6–12AtomVDWFormat entry set to SlaterKirkwood, the
combination rules used are:
Cα i α j
B ij = --------------------------
- (19)
αi αj
----- + -----
Ni Nj
1
A ij = --- B ij ( R i + R j ) 6 (20)
2
3eh
C = ----------------------
- (21)
4 πε 0 m e
A ij = r ij∗ 12 ε ij (22)
B ij = 2r ij∗ 6 ε ij (23)
where r*ij, the minimum energy separation for two atoms of type i
and j, and e , the well depth for two atoms of type i and j, are the
ij
parameters from the parameter file.
For the 6–12PairVDWFormat entry set to SigmaEpsilon, the values
are converted by:
186 Chapter 11
Force Fields
A ij = 4σ ij12 ε ij (24)
B ij = 4σ ij6 ε ij (25)
where σ , the zero energy separation for two atoms of type i and
ij
Electrostatic
This term describes the classical nonbonded electrostatic interac-
tions of charge distributions.
∑
qi qj
E electrostatic = ---------
- (26)
εR ij
ij ∈ electrostatic
Hydrogen Bonding
This term is an explicit recognition of the importance of hydrogen
bonding to molecular interactions.
∑
C ij D ij
E H-bonded = --------
- – --------- (27)
R ij12 R ij10
ij ∈ H-bond
Not all force fields add a specific hydrogen bonding term, as there
is evidence from accurate quantum mechanical calculations that
hydrogen bonding is accounted for by normal electrostatic inter-
actions. In HyperChem, only the AMBER force field employs an
explicit hydrogen bonding term. The 12–10 form was suggested by
Pauling but other functional forms for explicit hydrogen bonding
have also been used.
188 Chapter 11
Force Fields
Cutoffs
When dealing with large systems where the number of nonbonded
interactions dominate the calculation time, a time-saving approx-
imation introduces a cutoff distance. This neglects nonbonded
interactions beyond this distance. While this approximation is
particularly difficult to justify for long range coulombic interac-
tions (unit charges separated by 20 Å still contribute 17 kcal/mol
to the energy), a cutoff in the range of 8–15 Å is still commonly
used.
For the periodic boundary conditions described below, the cutoff
distance is fixed by the nearest image approximation to be less
than half the smallest box length. With a cutoff any larger, more
than nearest images would be included.
When the cutoff is sharp, discontinuities in the forces and result-
ant loss of conservation of energy in molecular dynamics calcula-
tions can result. To minimize edge effects of a cutoff, often the cut-
off is implemented with a switching or shifting function to allow
the interactions to go smoothly to zero.
The switching function used by HyperChem, called switch below,
alters the nonbonded energy (van der Waals, hydrogen bond, and
electrostatic) in the following way:
where:
switch ( x, a, b ) = 1 x≤a (29)
switch ( x, a, b ) = 0 x≥b
( b – x ) 2 ( b + 2x – 3a )
switch ( x, a, b ) = ---------------------------------------------------- a<x<b
( b – a)3
Between the inner radius R of the switch and the outer radius
inner
R of the switch the interaction goes smoothly to zero.
outer
MM+
The MM+ force field is an extension of MM2 which was developed
by Allinger and co-workers [N. L. Allinger, J. Am. Chem. Soc., 99,
8127 (1977), N. L. Allinger and Y. H. Yuh, Quantum Chemistry
Program Exchange, Bloomington, Indiana, Program #395, U.
Burkert and N. L. Allinger, Molecular Mechanics, ACS Monograph
177 (1982).] and is designed primarily for small organic molecules
although it is being expanded to peptides [J. Lii et. al., J. Comp.
Chem. 10, 503 (1989)] and other systems as well [K. B. Lipkowitz,
QCPE Bulletin, Indiana University,12, 1, (Feb., 1992)]. The efforts
of the Allinger group have been focused more on very accurate
results for certain classes of molecules than on developing a
generic (but less accurate) method that can be applied to almost all
situations in organic chemistry. Thus, the MM2 force field will fail
in many situations where no parameters exist. With the MM+
force field specified, HyperChem first tries to perform a calculation
with MM2 (1991)parameters but has a default scheme when there
190 Chapter 11
Force Fields
are no MM2 parameters. A message in the status line and log file
indicates that default parameters are being used. These default cal-
culations are described later in this chapter.
HyperChem’s MM+ force field uses the latest MM2 (1991) param-
eters and atom types (provided directly by Dr. Allinger) with the
1977 functional form [N. L. Allinger, J. Am. Chem. Soc., 99, 8127
(1977), N. L. Allinger and Y. H. Yuh, Quantum Chemistry Program
Exchange, Bloomington, Indiana, Program #395, U. Burkert and
N. L. Allinger, Molecular Mechanics, ACS Monograph 177 (1982).]
modified to incorporate nonbonded cutoffs (using switched or
shifted smoothing), periodic boundary conditions, and the bond
stretch term switched from cubic form to quadratic form at long
range (to avoid the long range repulsive region of standard MM2).
Units
Like MM2, MM+ internally uses ergs for energy and reports its
force constants (a stretching force constant, for example) in units
of millidynes per Ångstrom. Other force fields in HyperChem
report their force constants in kcal/mol per Å2. In addition, there
is a factor of 1/2 in the definition of a stretching force constant
when comparing MM+ and other force fields. Thus, it is necessary
to be quite careful in comparing force constants between different
force fields. In the following discussion (and in HyperChem),
every equation uses kcal/mol as the basic unit of energy and appro-
priate conversion constants are described. For example, a factor of
71.94 must be multiplied to MM+ stretching force constants for
comparison with stretching force constants for the other force
fields. These details affect the internal operation and the interpre-
tation of the input values in parameter files but HyperChem
reports all energetic results in energy units of kcal/mol.
Bond Stretching
MM2 uses a cubic stretch term:
E bond = 143.88
∑
bonds
1
--- K r ( r – r 0 ) 2 [ 1 + CS ( r – r 0 ) ]
2
(31)
in the Registry or the chem.ini file. The default value for MM2 and
MM+ is CS =-2.0.
However, this form becomes repulsive for r - r0 > 2/3 CS, so it is
unsuitable for bond lengths significantly larger than equilibrium.
In the MM2 program, this is avoided by temporarily setting CS to
zero, reverting to a quadratic form, which leads to discontinuities
in the potential surface that are unacceptable for geometry optimi-
zation and molecular dynamics. Thus the MM+ force field applies
the switching function from equation (29) on page 189 to give
E bond = 143.88
∑bonds
1
--- K r ( r – r 0 ) 2
2
Two r0 values are given for each MM+ bond, r0A and r0B. If r0B is
available (has a non-zero value in the parameter file) then it is used
in preference to the normal r0A for bonds where atom i and atom
j have at least two hydrogen atoms directly attached to them. For
example, CH -CH , CH -CH , or CH -CH bonds may have their
2 2 2 3 3 3
own equilibrium distance differentiated from the average single
bond between carbon atoms.
Bond Dipoles
MM+ calculations do not usually have an electrostatic charge-
charge interaction nor define a set of atomic charges for atoms.
Instead, the electrostatic contribution comes from defining a set of
bond dipole moments associated with polar bonds. These bond
moments are defined in the mmpstr.txt(dbf) file along with the
bond stretching parameters and are given in units of Debyes. The
center of the dipole is defined to be the midpoint of the bond and
two dipoles µ and µ , separated by R , as shown below:
i j ij
192 Chapter 11
Force Fields
E dipole = 14.39418 ε
∑
ij ∈ polar bonds
cos χ – 3 cos α i cos α j
µ i µ j -------------------------------------------------
R ij3
- (33)
Angle Bending
The quadratic angle bending term in MM+ is identical to that of
equation (12) on page 183, apart from a factor 1/2. Three θ0 values
are given for each MM+ bond, θA, θB and θC. If θB is available (has
a non-zero value in the parameter file) then it is used in preference
to the normal θA, for angles where the central atom has one hydro-
gen atom directly attached to it. If θC is available (has a non-zero
value in the parameter file) then it is used in preference to the nor-
mal θA for angles where the central atom has two hydrogen atoms
directly attached to it. If no hydrogen atoms are attached to the
central atom or if θA or θB values are not available (when they are
relevant), the normal θA is used.
MM+ also includes a sextic angle bending term. The final form for
the angle bending energy is:
E stretch-bend = 2.51118 ∑
angles
K sb ( θ – θ 0 ) ikj [ ( r – r 0 ) ik + ( r – r 0 ) jk ] (35)
or
K sb = 0.250 for XR 2
194 Chapter 11
Force Fields
Out-of-Plane Bending
2
An atom that has sp hybridization tends to be coplanar with its
attached atoms. This effect is accounted for by improper torsions
in other force fields and by out-of-plane-bending interactions in
MM+. Consider the following situation involving an atom X that
2
is sp hybridized
Dihedrals
The dihedral angle or torsional energy interaction in MM+ is of the
general form of equation (12) on page 183 but explicitly includes
n=1, 2, and 3 with a phase angle φ =0:
0
E dihedral = (36)
∑
V1 V V
------ ( 1 + cos φ ) + ------2 ( 1 – cos 2φ ) + ------3 ( 1 + cos 3φ )
2 2 2
dihedrals
The values of V1, V2, and V3, in kcal/mol, are listed in mmp-
tor.txt(dbf). The MM+ force field uses special values for the tor-
sional force constants when the atoms are in a four-member ring.
ε ij = εi εj (38)
E vanderWaals = ∑
ij ∈ vdW
ε ij ( 2.9 × 10 5 exp ( – 12.5ρ ij ) – 2.25ρ ij–6 ) (39)
where
R ij
ρ ij = -------
- (40)
r ij∗
E vanderWaals = 336.176 ∑
ij ∈ vdW
ε ij ρ ij– 2 (41)
196 Chapter 11
Force Fields
AMBER
The AMBER (Assisted Model Building and Energy Refinement) is
based on a force field developed for protein and nucleic acid com-
putations by members of the Peter Kollman research group at the
University of California, San Francisco. The original AMBER has
become one of the more widely used academic force fields and
extensive work has gone into developing it — resulting in a num-
ber of versions of the method and associated parameters.
HyperChem originally gave results equivalent to Versions 2.0 and
3.0a of the AMBER program distributed by the Kollman group and
parameter sets for both these versions are distributed with Hyper-
Chem. Subsequently, the ambers parameter set was added for sug-
ars molecules. More recently, the Amber94 and Amber96 parame-
ter sets were added corresponding to a slightly revised form of the
Amber force field that eliminated explicit hydrogen bonding terms
and included a whole new set of atom types. the current program
includes choices of Amber2, Amber3, Ambers, Amber94, and
Amber96 parameter sets and associated force field terms.
AMBER was first developed as a united atom force field [S. J.
Weiner et al., J. Am. Chem. Soc., 106, 765 (1984)] and later
extended to include an all atom version [S. J. Weiner et al., J. Comp.
Chem., 7, 230 (1986)]. The newest version of Amber is due to Cor-
nell et. al., J. Am. Chem. Soc. 117, 5179-5197 (1995). HyperChem
allows the user to switch back and forth between the united atom
and all atom force fields as well as to mix the two force fields
within the same molecule. Since the force field was developed for
macromolecules, there are few atom types and parameters for
small organic systems or inorganic systems, and most calculations
on such systems with the AMBER force field will lack explicit
parameters. HyperChem, however, will chooses a default parma-
eter for a missing parameters as per the scheme originally imple-
Bond Stretching
The functional form for bond stretching in AMBER is quadratic
only and is identical to that shown in equation (11) on page 183.
2
The bond stretching force constants are in units of kcal/mol per Å
and are in the file pointed to by the QuadraticStretch entry for the
parameter set in the Registry or the chem.ini file, usually called
*str.txt(dbf).
Angle Bending
The functional form for angle bending in AMBER is quadratic only
and is identical with that shown in equation (12) on page 183. The
2
angle bending force constants are in units of kcal/mol per radian
and are in the file pointed to by the QuadraticBend entry for the
parameter set in the Registry or the chem.ini file, usually called
*ben.txt(dbf).
Dihedrals
The functional form for dihedral angle (torsional) rotation is iden-
tical to that shown in equation (13) on page 183. The barrier
heights are in kcal/mol and are in the file pointed to by the Fouri-
erTorsion entry for the parameter set in the Registry or the
chem.ini file, usually called *tor.txt(dbf). If more than one term is
available for a given dihedral angle in the parameter file, the terms
are summed to give the total potential, i.e., the potential can be a
Fourier sum over n in equation (14) where n is from 1 to 6.
Improper Dihedrals
The functional form for improper dihedral term is identical to that
shown in equation (13) on page 183. The barrier heights are in
kcal/mol and are in the file pointed to by the FourierImpTorsion
entry for the parameter set in the Registry or the chem.ini file, usu-
ally called *imp.txt(dbf). The central atom in the improper torsion
is the second or third atom (i.e. a central atom) in the dihedral
angle. For atoms that have the improper flag set (either from tem-
plates or editing a HIN file) HyperChem uses the improper dihe-
dral angle formed by neighbor 1 - neighbor 2 - central atom -
198 Chapter 11
Force Fields
Electrostatic
The functional form for electrostatic interactions in AMBER is
identical with that shown in equation (26) on page 187. You nor-
mally use a dielectric scaling of D=1 with AMBER combined with
a constant functional form when solvent molecules are explicitly
included or a distance dependent form when trying to emulate the
effects of solvent without explicitly adding solvent molecules. The
charges q are not part of any AMBER parameter file. Standard
i
atomic charges are placed on an atom only when the molecular
system is created from templates, by using the database menu or
reading a PDB file. Otherwise charges must be set manually or by
a quantum mechanical calculation, or they default to zero and no
electrostatic interactions result. The 1–4 electrostatic interactions
are usually scaled in AMBER to half their nominal value (a scale
factor of 0.5 in the Force Field Options dialog box).
Hydrogen Bonding
The original AMBER force field uses a hydrogen bonding term
identical to equation (27) on page 188. The coefficients C and D
ij ij
for appropriate donor-acceptor pairs are given in the file pointed
to by the 10–12PairHBond entry for the parameter set in the Reg-
istry or the chem.ini file, usually called *hbd.txt(dbf). If a non-
bonded atom pair (excluding 1–4 interactions) has hydrogen bond
parameters, the interaction is calculated using the hydrogen bond-
ing term instead of the van der Waals term.
The newer, Cornell et. al. Amber94 and Amber96 versions of
Amber do not use a hydrogen bonding term.
Lone Pairs
The AMBER force field expects lone pairs to be added to all sulfur
atoms and computes the interactions as if these lone pairs were
atoms with a specific type just like any other atom. The templates
automatically add the expected lone pairs to sulfur atoms when
using the AMBER force field.
OPLS
OPLS (Optimized Potentials for Liquid Simulations) is based on a
force field developed by the research group of Bill Jorgensen now
at Yale University and previously at Purdue University. Like
AMBER, the OPLS force field is designed for calculations on pro-
teins and nucleic acids. It introduces nonbonded interaction
parameters that have been carefully developed from extensive
Monte Carlo liquid simulations of small molecules. These non-
bonded interactions have been added to the bonding interactions
of AMBER to produce a new force field that is expected to be better
than AMBER at describing simulations where the solvent is explic-
itly included and nonbonded interactions are particularly impor-
tant.
The HyperChem OPLS force field gives results equivalent to the
original OPLS force field.
The OPLS force field is described in two papers, one discussing
parameters for proteins [W. L. Jorgensen and J. Tirado-Rives, J.
Amer. Chem. Soc., 110, 1657 (1988)] and one discussing parameters
for nucleotide bases [J. Pranata, S. Wierschke, and W. L. Jorgensen,
200 Chapter 11
Force Fields
J. Amer. Chem. Soc., 113, 2810 (1991)]. The force field uses the
united atom concept for many, but not all, hydrogens attached to
carbons to allow faster calculations on macromolecular systems.
The amino and nucleic acid residue templates in HyperChem
automatically switch to a united atom representation where
appropriate when the OPLS option is selected.
The OPLS atom types are a superset of the AMBER united atom
types and the bonding parameters are just those of AMBER, sup-
plemented where needed by the OPLS developers. The bond
stretch, angle bending, dihedral angle and improper dihedral
angle terms are identical to those of AMBER. Unlike AMBER, dif-
ferent combination rules are used for the van der Waals parame-
ters, no hydrogen bonding term is used and no lone pairs are used.
Electrostatic
The OPLS form of electrostatic interactions is that of equation (26)
on page 187. That is, it uses a charge-charge interaction just like
AMBER. However, since the nonbonded potentials were developed
from liquid studies with explicit water molecules, the use of a dis-
tance-dependent dielectric is excluded. The appropriate dielectric
scaling factor for OPLS calculations is D=1. A set of charges are
defined for protein and nucleic acid residues in the template (.tpl)
files.
BIO+
The BIO+ force field is an implementation of the CHARMM
(Chemistry at HARvard Macromolecular Mechanics) force field
developed in the group of Martin Karplus at Harvard University.
Like AMBER and OPLS, it is primarily designed to explore macro-
molecules. It does not use lone pairs.
CHARMM was first developed as a united atom force field and
parameters for some amino acids have been published [B. R.
Brooks et al., J. Comp. Chem., 4, 187 (1983)]. Subsequent changes
to the functional form and parameters were published [W. Reiher,
Ph.D., Harvard 1985], but most parameter development remained
unpublished and unavailable without purchasing the CHARMM
program, i.e. until relatively recently. Subsequent parameter devel-
opment in the Karplus group at Harvard employed an all-atom
representation, using all dihedral angles with no hydrogen bond-
ing term and a Urey-Bradley term [J. C. Smith and M. Karplus, J.
Am. Chem. Soc. 114, 805-812, 1992]. More recently, full details of
the CHARMM force field and parameters have been made available
[A.D. MacKerell et. al. J. Phys. Chem B, 102, 3586] and a web site
(http://www.pharmacy.umaryland.edu/~alex/research.html)
describes the current parameter sets. Thus parameter sets
charmm19, charmm22, and charmm27, etc. are now available in
HyperChem for an up-to-date implementation of CHARMM.
Beginning with the choice of the charmm22 set and beyond, the
newer force field without hydrogen bonding terms and with a
Urey-Bradley term is used. The HyperChem BIO+ force field thus
gives results equivalent to CHARMM using the same CHARMM
parameter sets.
Bond Stretching
The functional form for bond stretching in BIO+, as in CHARMM,
is quadratic only and is identical to that shown in equation (11)
on page 183. The bond stretching force constants are in units of
2
kcal/mol per Å and are in the file pointed to by the Quadratic-
Stretch entry for the parameter set in the Registry or the chem.ini
file, usually called *str.txt(dbf).
202 Chapter 11
Force Fields
Angle Bending
The functional form for angle bending in BIO+ is quadratic only
and is identical with that shown in equation (12) on page 183. The
2
angle bending force constants are in units of kcal/mol per radian
and are in the file pointed to by the QuadraticBend entry for the
parameter set in the Registry or the chem.ini file, usually called
*ben.txt(dbf).
Dihedrals
The functional form for dihedral angle (torsional) rotation is iden-
tical to that shown in equation (13) on page 183. The barrier
heights are in kcal/mol and are in the file pointed to by the Fouri-
erTorsion entry for the parameter set in the Registry or the
chem.ini file, usually called *tor.txt(dbf). If more than one term is
available for a given dihedral angle in the parameter file, the terms
are summed to give the total potential, i.e. the potential can be a
Fourier sum over n in equation (13), where n is from 1 to 6. The
term in BIO+ is a generalization of that given for CHARMM in B.
R. Brooks et al., J. Comp. Chem., 4, 187 (1983), in that φ values
0
other than 0° or 180° are allowed. In HyperChem, all bond dihe-
dral angles are included in the energy calculation, equivalent to
autogenerating dihedral angles in CHARMM. Thus, parameters
developed for use with arbitrary subsets of bond dihedral angles,
as is common with CHARMM, need to be scaled or have some
parameters set to have zero force constants for use in HyperChem
BIO+. Note: An extra column exists in the dihedral parameter file
for specifying a factor to divide into the force constant.
Improper Dihedrals
The functional form for an improper dihedral term is that shown
in equation (12) on page 183 except that the summation is over
improper torsion angles and q represents an improper torsion
angle. For angles smaller than 6°, with q equal to 0°, a series
0
expansion is used to avoid a numerically indeterminate derivative.
The barrier heights are in kcal/mol and are in the file pointed to by
the QuadraticImpTorsion entry for the parameter set in the Regis-
try or the chem.ini file, usually called *imp.txt(dbf). The central
atom in the improper torsion is the first or fourth atom (i.e. a ter-
minal atom) in the dihedral angle. For atoms that have the
204 Chapter 11
Parameter Sets
Electrostatic
The functional form for electrostatic interactions in CHARMM is
identical with that shown in equation (26) on page 187. A dielec-
tric scaling of D=2.5 was common with older, published
CHARMM parameter sets but newer sets seem to use a scaling of
D=1, combined with a constant functional form when solvent
molecules are explicitly included or a distance-dependent form
when trying to emulate the effects of solvent without explicitly
adding solvent molecules. The charges q are not part of any pub-
i
lished CHARMM parameter file. Standard atomic charges are
placed on an atom only when the molecular system is created from
templates, by using the database menu or reading a PDB file. Oth-
erwise charges must be set manually or by a quantum mechanical
calculation, or they default to zero and no electrostatic interac-
tions result. The 1-4 electrostatic interactions are scaled with
newer, published CHARMM parameter sets to 0.4 or 0.5 times their
nominal value (a scale factor of 0.4 or 0.5 in the Force Field
Options dialog box).
Hydrogen Bonding
The BIO+ force field option in HyperChem has no hydrogen bond-
ing term. This is consistent with evolution and common use of the
CHARMM force field (even the 1983 paper did not use a hydrogen
bonding term in its example calculations and mentioned that the
functional form used then was unsatisfactory and under review).
Urey-Bradley
If one selects a parameter set charmm22 or later, a Urey-Bradley
term (harmonic repulsion between the terminal atoms of a bond
angle) is included in the force field, provided parameters are avail-
able.
Parameter Sets
The concept of a parameter set is an important (but often inconve-
nient) aspect of molecular mechanics calculations. Molecular
mechanics tries to use experimental data to replace a priori compu-
tation, but in many situations the experimental data is not known
and a parameter is missing. Collecting parameters, verification of
206 Chapter 11
Parameter Sets
Compiling Parameters
Compilation of parameters makes HyperChem more efficient. It
replaces a set of text or dBASE files (for one parameter set) by a sin-
gle binary *.par file. The compilation can be performed at any time
from within HyperChem by selecting the parameter set
(Setup/Select Parameter Set) and requesting a compilation
(Setup/Compile Parameters). If the parameter files are not modified,
you do not have to compile them.
208 Chapter 11
Compiling Parameters
210 Chapter 11
Periodic Boundary Conditions and Solvent
the basic Jorgensen box. When a bigger box (more than 216 water
molecules or perhaps an elongated box) is required, then the basic
216 molecule box is duplicated to create 3 x 3 x 3 x 216 water mol-
ecules in a box 56.10 Å on a side and the required box is carved out
of this.
Restraints
You can add restraints to any molecular mechanics calculation
(single point, optimization or dynamics). These might be NMR
restraints, for example, or any situation where a length, angle, or
torsion is known or pre-defined. Restraints with large force con-
stants result in high frequency components in a molecular dynam-
ics calculation and can result in instability under some circum-
stances.
Definition of a Restraint
A restraint (not to be confused with a Model Builder constraint) is
a user-specified one-atom tether, two-atom stretch, three-atom
bend, or four-atom torsional interaction to add to the list of molec-
ular mechanics interactions computed for a molecule. These added
interactions are treated no differently from any other stretch,
bend, or torsion, except that they employ a quadratic functional
form. They replace no interaction, only add to the computed inter-
actions.
Restraints are commonly used to restrain certain long range con-
formations. For example, you might restrain a certain end of a
large molecule to be near another end. Alternatively, if the added
force constant associated with the restraint is large enough, a local
geometry, such as a bond length, bond angle, or torsion angle,
could be almost forced to remain fixed. These restraints do not
212 Chapter 11
Restraints
Adding Restraints
Use Named Selections to add restraints:
1. Name any one-atom, two-atom, three-atom, or four-atom
selection with the Select/Select command.
2. Use Restraints in the Setup menu to bring up the Restraint
Forces dialog box
3. Add any of the currently named 1-, 2-, 3-, or 4-atom selections
to the list of restraints.
214 Chapter 11
The Default (MM+) Force Field
Approximate Hybridization
An estimate of the hybridization state of an atom in a molecule
can be obtained from the group of the periodic table that the atom
resides in (which describes the number of valence electrons) and
the connectivity (coordination of the atom). The HyperChem
default scheme uses this estimate to assign a hybridization state to
2 2.5 3
all atoms from the set (null, s, sp, sp , sp , and sp ). The special
2.5
value sp is used to denote aromatic systems such as benzene. In
this release of HyperChem, hybridization states involving d orbit-
als are not considered. For the transition metals (or lanthanides
and actinides) the number of valence electrons is only considered
to be those normally residing in (ns,np) orbitals. This is, of course,
an approximation that may not be justified in all cases but is the
basis of the current default scheme where a hybridization is
assigned based on the number of s and p valence electrons (0–8)
216 Chapter 11
The Default (MM+) Force Field
2
bond the hybridization is set to sp , or if neither of the bonds
is single the hybridization is set to sp.
8. If there is 1 neighbor, then if the one bond is a triple bond the
hybridization is set to sp, or if the one bond is an aromatic
2.5
bond the hybridization is set to sp , or if the one bond is
2
double the hybridization is set to sp , or if the one bond is sin-
3
gle the hybridization is set to sp .
9. If the number of valence electrons is 5 (N, P, etc.), the hybrid-
3
ization is set to sp for 4 or 3 neighbors, unless it is attached to
an atom with a triple, double, or aromatic bond, in which case
2
it is set to sp .
10. If there are 2 neighbors and one or more of them is connected
2.5
by an aromatic bond then the hybridization is set to sp or
2
the hybridization is set to sp .
11. If there is 1 neighbor, then if the one bond is triple the hybrid-
ization is set to sp, or if the one bond is aromatic the hybrid-
2.5
ization is set to sp , or if the one bond is double the hybrid-
2
ization is set to sp , or if the one bond is single the hybridiza-
3
tion is set to sp .
12. If the number of electrons is 6 (O, S, etc.), the hybridization is
3
set to sp for 4, 3, or 2 neighbors, unless it is attached to an
atom with a triple, double, or aromatic bond, in which case it
2
is set to sp . If these atoms have 1 neighbor, and if the one
bond is triple the hybridization is set to sp, or if the one bond
2.5
is aromatic the hybridization is set to sp , or if the one bond
2
is double the hybridization is set to sp , or if the one bond is
3
single the hybridization is set to sp .
13. If the number of valence electrons is 7 (Halides, etc.), the
hybridization is described as s.
Bond Stretching
The default parameters for bond stretching are an equilibrium
bond length and a stretching force constant. The functional form
is just that of the MM+ force field including a correction for cubic
stretches. The default force constant depends only on the bond
218 Chapter 11
The Default (MM+) Force Field
2
order. The default value is 700 kcal/mol/Å for single bonds, 1400
for double bonds and 2100 for triple bonds. The value for aromatic
bonds is 1400, the same as for double bonds. The equilibrium
bond length for a bond is the sum of the covalent radii of the two
atoms involved. The covalent radii used are given below:
As special cases to these radii, better values are used for the ele-
ments boron to oxygen for particular hybridization states.
C (sp) 0.602
3
N (sp ) 0.702
2.5
N (sp ) 0.650
2
N (sp ) 0.615
N (sp) 0.556
3
O (sp ) 0.660
O (sp) 0.528
220 Chapter 11
The Default (MM+) Force Field
Angle Bending
All default bending force constants are assigned the value 100
2
kcal/mol/rad
Stretch-Bends
No default stretch-bending interactions are included.
Out-Of-Plane Bends
The MM+ force field assigns default values for out of plane bend-
ing terms around an sp2 center. If a central atom has some out of
plane parameters, then the first out of plane parameter involving
that central atom is used if a specific parameter is not found.
Torsions
The functional form for default torsions is the MM+ form with
three torsional constants V1, V2, and V3 for 1-fold, 2-fold, and 3-
fold contributions. The default values for these constants depend
on the particular chemical situation associated with the bond
order of the bond and the hybridization of the relevant atoms. The
rules are:
Single Bonds
3 3
1. An ordinary sp –sp single bond has a three-fold barrier
described by V3=2.0 kcal/mol.
3 3
2. An sp –sp single bond where each of the central atoms is in
Group VIA (for example, hydrogen peroxide) has a two-fold
barrier with optimum torsional angle of 90 degrees, as
described by V2=-2.0 kcal/mol.
3 2 3 2.5 3
3. An sp –sp or sp –sp single bond where the sp atom is in
Group VIA (for example, the C–O bond of vinyl alcohol) has a
two fold barrier with an optimal planar configuration
described by V2=+2.0 kcal/mol.
3 2 3 2.5
4. An sp –sp or sp –sp single bond where the atom con-
2 2.5 2 2.5
nected to the central sp (sp ) atom is another sp (sp )
atom, as in the H–C–C–double bond O torsion of acetic acid,
is described by the MM+ parameters of acetic acid, V1=-0.167
kcal/mol and V3=-0.1 kcal/mol.
3 2 3 2.5
5. An sp –sp or sp –sp single bond where the atom con-
2 2.5 2
nected to the central sp (sp ) atom is not another sp
2.5
(sp ) atom, as in the H–C–C–H torsion of propene, is
described by a three-fold barrier V3=2.0 kcal/mol.
2 2 2 2.5
6. A planar sp –sp single bond or planar sp –sp single bond
(for example, the central bond of butadiene, with isolated dou-
2
ble bonds, or phenyl amine, where the nitrogen is sp hybrid-
ized) is described by a two-fold barrier, V2=5 kcal/mol.
2.5 2.5
7. A conjugated sp –sp single bond (for example, the bond
joining the two phenyl rings of biphenyl, the central bond of
butadiene, with delocalized aromatic bonds, or phenyl amine,
2.5
where N–C bond is labeled aromatic and nitrogen is sp
hybridized) is described by a two-fold barrier, V2=10 kcal/mol.
Double Bonds
1. Isolated double bonds (as in ethylene) have a two-fold barrier
of V2=45 kcal/mol.
2. Aromatic bonds (as in benzene) have a two-fold barrier of
V2=25 kcal/mol.
In each of the cases above the total barrier heights are divided by
the total number of torsions counted. For example, ethane uses a
parameter V3=2.0/6 for each of its six torsions, leading to a total
barrier of 2.0 kcal/mol.
Electrostatic
No default electrostatic interactions are included.
222 Chapter 11
The Default (MM+) Force Field
These values are from Mayo, Olafson, and Goddard [J. Phys. Chem.
94, 8897 (1990)] with additional values from A. Bondi (J. Phys.
Chem 68, 441 (1964)}. The values for the rare gases are from David-
son's book, Statistical Mechanics, McGraw-Hill, 1962.
When a specific value above is not known, the rule of Pauling (the
van der Waals radius is approximately 0.76 Å larger than the cova-
lent radius) is used.
The hardness parameters for MM+ are the dissociation energies of
the nonbonded interactions of two identical atoms divided by
1.125, ε=D /1.125. The values of D used are:
0 0
These values are from the same references as 2r*. If a value is not
available, a default value of 0.1 kcal/mol is used.
224 Chapter 11
Chapter 12
Quantum Mechanics
225
initio calculations but depend on having a good density func-
tional. The principal variable in DFT calculations is knowing
which density functional to use. Semi-empirical calculations use
many explicit parameters associated with the specific atomic num-
ber (element) of an atom. The concept of atom types is not used in
the conventional quantum mechanics methods. Semi-empirical
quantum mechanics methods use a rigorous quantum mechanical
formulation combined with the use of empirical parameters
obtained from comparison with experiment. If parameters are
available for the atoms of a given molecule, then ab initio, DFT, and
semi-empirical calculations have an a priori aspect when compared
with a molecular mechanics calculation, letting you explore new
molecular systems beyond those for which the parameters were
generated originally.
HyperChem include the commonly used basis sets. These basis sets
are STO-nG and STO-nG* with n = 1, 2, 3, 4, 5, and 6 for all the
atoms with atomic numbers less than or equal to 54 (H - Xe) [W. J.
Hehre, R. F. Stewart, and J. A. Pople, J. Chem. Phys., 51, 2657 (1969);
J. B. Collons, P. V. Schleyer, J. S. Binkley, and J. A. Pople, J. Chem.
Phys., 64, 5142 (1976); R. F. Stewart, J. Chem. Phys., 52, 431 (1970)],
3-21G, 3-21G*, 3-21G**, 6-21G, 6-21G*, and 6-21G** for the ele-
ments H to Ar [J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am.
Chem. Soc., 102, 939 (1980); M. S. Gordon, J. S. Binkley, J. A. Pople,
W. J. Pietro, and W. J. Hehre, J. Am. Chem. Soc., 104, 2797 (1982);
W. J. Pietro, M. M. Francl, W. J. Hehre, D. J. Defrees, J. A. Pople, and
J. S Binkley, J. Am. Chem. Soc., 104, 5039 (1982)], 4-21G, 4-21G*,
and 4-21G**, 4-31G, 4-31G*, 4-31G**, 6-31G, 6-31G*, and 6-31G**
[W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem. Phys., 56, 2257
(1972); P. C. Hariharan and J. A. Pople, Theor. Chim. Acta., 28, 213
(1973); M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980)], 6-311G, 6-
311G*, 6-311G**, MC-311G, MC-311G*, and MC-311G** for the
elements with atomic numbers less than or equal to 18 (H to Ar)
[R. Krishnan, J. S. Kinkley, R. Seeger, and J. A. Pople, J. Chem. Phys.,
72, 650 (1980); A. D. McLean and G. S. Chandler, J. Chem. Phys.,
72, 5639 (1980), and D95, D95*, and D95** for the elements H to
Cl [T. H. Dunning and P. J. Hay, in Modern Theoretical Chemistry,
Plenum, New York, 1976.
HyperChem includes semi-empirical parameters for all the atoms
with atomic numbers less than or equal to 54 and can perform cal-
culations on any molecule composed of only those atoms. The few
restrictions or exceptions to this rule will be pointed out as appro-
priate. Nevertheless, the probability of having appropriate param-
226 Chapter 12
Background
Background
This section describes the basics of HyperChem’s simple molecular
orbital calculations. It interprets HyperChem’s results rather than
introducing quantum chemistry. For a complete discussion, you
should consult textbooks in quantum chemistry, such as I. N.
Levine, Quantum Chemistry, 3rd Edition, Allyn and Bacon, 1986;
and A. Szabo and N. S. Ostlund, Modern Quantum Chemistry,
McGraw-Hill Publishing Co., 1989.
228 Chapter 12
Independent Electron Methods
Secondly, you must describe the electron spin state of the system
to be calculated. Electrons with their individual spins of s =1/2 can
i
combine in various ways to lead to a state of given total spin. The
second input quantity needed is a description of the total spin
S=Σs . Since spin is a vector, there are various ways of combining
i
individual spins, but the net result is that a molecule can have spin
S of 0, 1/2, 1, .... These states have a multiplicity of 2S+1 = 1, 2, 3,
...,that is, there is only one way of orienting a spin of 0, two ways
of orienting a spin of 1/2, three ways of orienting a spin of 1, and
so on.
To define the state you want to calculate, you must specify the
multiplicity. A system with an even number of electrons usually
has a closed-shell ground state with a multiplicity of 1 (a singlet).
A system with an odd number of electrons (free radical) usually has
a multiplicity of 2 (a doublet). The first excited state of a system
with an even number of electrons usually has a multiplicity of 3 (a
triplet). The states of a given multiplicity have a spectrum of states
—the lowest state of the given multiplicity, the next lowest state of
the given multiplicity, and so on.
∑i
eff
elec = i (46)
Molecular Orbitals
Electrons are identical, and each term in this sum is essentially the
same operator. You can then solve an independent-electron
Schrödinger equation for a wave function ψ, describing an individ-
ual electron:
eff ψ = εψ (47)
Multiple solutions ψ and ε are possible for this last equation. The
i i
wave functions for individual electrons, ψi, are called molecular
orbitals, and the energy, ε , of an electron in orbital ψi is called the
i
orbital energy.
The molecular orbitals describe an electron such that the values of
ψi2(r) dr at a point r describe the probability of the electron being
in a small volume dr around that point. The total probability of
finding the electron somewhere is
230 Chapter 12
Independent Electron Methods
Ψ5
Ψ 4 = LUMO
Ψ 3 = HOMO
Ψ2
Ψ1
ψi = ∑ν Cν i φν (49)
H µν =
∫ φµ H effφν dτ (50)
232 Chapter 12
Independent Electron Methods
φ φ
µ ν
defines the elements of a matrix S,
S µν =
∫ φµ φν dτ (51)
C t HC = ε (54)
Because of the presence of the overlap matrix, however, you must
first diagonalize the overlap matrix:
U t SU = s (55)
Hartree-Fock Method
While the equations of the Hartree-Fock approach can be rigor-
ously derived, we present them post hoc and give a physical
description of the approximations leading to them. The Hartree-
Fock method introduces an effective one-electron Hamiltonian, ,
as in equation (47) on page 193:
ψi = εi ψi (58)
but here the Fock operator, , depends implicitly upon the solu-
tions ψ . The Fock operator is a sum of the kinetic energy operator
i
for an electron, a potential that a single electron would feel com-
ing from the fixed nuclei, and an average of the effects of all the
other N-1 electrons.
The procedure is as follows:
1. Guess the position of each electron, that is, you guess each
occupied orbital ψ .
i
234 Chapter 12
Self-Consistent Field Methods
occ
P µν = ∑ Cµ i Cν i (60)
i
F µν = H µν +
∑ λσ
1
P λσ ( µν λσ ) – --- ( µλ νσ )
2
(61)
φ 2, but others are less intuitive. The density matrix describes the
ν
total probability of finding an electron such that
ρ ( r )dr = ∑
µν
P µν φ µ ( r )φ ν ( r )dr (62)
Spin Pairing
The Roothaan equations just described are strictly the equations
for a closed-shell Restricted Hartree-Fock (RHF) description only, as
illustrated by the orbital energy level diagram shown earlier. To be
more specific:
ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 3 ( 6 ) (63)
ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 3 ( 6 )ψ 4 ( 7 ) (64)
236 Chapter 12
Self-Consistent Field Methods
β
Ψ5
α
Ψ4
β
Ψ 4 LUMO
α
HOMO Ψ 4
β
Ψ3
α Ψ3
α β
Ψ2 Ψ2
α β
Ψ1 Ψ1
Notice that the orbitals are not paired; ψiα does not have the same
energy as ψiβ. An unrestricted wave function like this is a natural
way of representing systems with unpaired electrons, such as the
doublet shown here or a triplet state:
ψ 1 ( 1 )ψ 1 ( 2 )ψ 2 ( 3 )ψ 2 ( 4 )ψ 3 ( 5 )ψ 4 ( 6 ) (65)
ψ iα =
∑
ν
C ναi φ ν (67)
ψ iβ =
∑
ν
C νβi φ ν (68)
The two sets of coefficients, one for spin-up alpha electrons and
the other for spin-down beta electrons, are solutions of two cou-
pled matrix eigenvalue problems:
F α ( C α, C β )C α = SC α ε α (69)
F β ( C α, C β )C β = SC β ε β (70)
α
The two equations couple because the alpha Fock matrix F
α β
depends on both the alpha and the beta solutions, C and C (and
similarly for the beta Fock matrix). The self-consistent dependence
of the Fock matrix on molecular orbital coefficients is best repre-
α β
sented, as before, via the density matrices P and P , which essen-
tially state the probability of describing an electron of alpha spin,
and the probability of finding one of beta spin:
occ
α
P µν =
∑i
α
Cµ i Cν i
α
(71)
238 Chapter 12
Self-Consistent Field Methods
occ
β
P µν =
∑i
β β
Cµ i Cν i (72)
PT = Pα + Pβ (73)
α = Hα +
F µν µν
∑ λσ
T ( µν λσ ) – P α ( µλ νσ )
P λσ λσ (74)
β = Hβ +
F µν µν
∑ λσ
T ( µν λσ ) – P β ( µλ νσ )
P λσ λσ (75)
Convergence
The solution of the RHF or UHF equations is an iterative procedure
with two principal issues. First is the question of what to use for an
initial guess and second, whether the solutions will converge
quickly or at all. The initial guess affects the convergence also, as
an exact guess would immediately converge.
An initial guess could be couched in terms of an initial guess at one
of C, P, or F, which are equivalent starting points for the CPFCPF...
procedure. The simplest initial guess is to set P = 0 or equivalently,
F = H. This is referred to as using the core Hamiltonian for an initial
guess. HyperChem uses something very similar to this for an ini-
tial guess for the ab initio and semi-empirical methods. Alterna-
tively, HyperChem offers some other methods, such as the pro-
jected Hückel, projected CNDO, and projected INDO, for an initial
guess of MO for ab initio calculations.
The convergence of SCF interactions is not always successful. In
the simplest iteration procedure, iterations proceed without the
aid of either an external convergence accelerator or an extrapola-
tor. This often leads to slow convergence.
240 Chapter 12
Self-Consistent Field Methods
Electronic States
HyperChem describes electronic states by their spin state (multi-
plicity, 2S+1) as either singlet (S=0, 2S+1=1), doublet (S=1/2,
2S+1=2), triplet (S=1, 2S+1=3), or quartet (S=3/2, 2S+1=4). Think of
these states as having 0,1, 2, or 3 unpaired electrons. An even num-
ber of electrons can lead to a singlet or a triplet, while an odd number
of electrons leads to a doublet or a quartet. HyperChem does not
explicitly consider states of higher multiplicity, such as quintets,
ad so on. The ground state (state of absolutely lowest energy) is not
normally a quartet, but can commonly be a singlet, doublet, or a
triplet. All other states are excited states. Systems with an even
number of electrons commonly have a singlet ground state, but a
triplet ground state is also possible depending on the arrangement
of the molecular orbitals. For example, one of the first successes of
molecular orbital theory was to explain why the O oxygen mole-
2
cule has a triplet ground state (the HOMO orbitals are degenerate
and occupied by two electrons). Molecules with an odd number of
electrons (free radicals) generally have a doublet ground state.
HyperChem semi-empirical methods usually let you request a cal-
culation on the lowest energy state of a given multiplicity or the next
lowest state of a given spin multiplicity. Since most molecules with an
even number of electrons are closed-shell singlets without
242 Chapter 12
Self-Consistent Field Methods
244 Chapter 12
Post Self-Consistent Field Calculations
Configuration Interaction
For some systems a single determinant (SCF calculation) is insuffi-
cient to describe the electronic wave function. For example, square
cyclobutadiene and twisted ethylene require at least two configu-
rations to describe their ground states. To allow several configura-
tions to be used, a multi-electron configuration interaction tech-
nique has been implemented in HyperChem.
Electronic spectroscopy requires the consideration of multiple
electronic states for the same configuration of the nuclei. Config-
uration interaction is a procedure for generating and mixing many
configurations (Slater determinants) together to arrive at a descrip-
tion of not only the ground state, but many excited states of a mol-
ecule. To a first approximation, only singly-excited configurations
are needed to describe excited electronic states.
HyperChem uses single determinant rather than spin-adapted
wave functions to form a basis set for the wave functions in a con-
figuration interaction expansion. That is, HyperChem expands a
CI wave function, Φa, in a linear combination of single Slater
determinants Ψi
Φa = ∑i Cia Ψi (30)
〈Φˆ a| H
ˆ |Φ 〉
b (32)
〈Φˆ a| H
ˆ |Φ 〉
a (33)
2) Off-diagonal elements:
〈Φˆ a| H
ˆ |Φ 〉
b (34)
〈Φˆ a| H
ˆ |Φ 〉
b (35)
〈Φˆ a| Sˆ |Φ b〉
2
(36)
246 Chapter 12
Post Self-Consistent Field Calculations
∑
(2) V ar V ra
E = – ----------------------- (40)
(0) (0)
εa – εr
ar
248 Chapter 12
The Neglect of Differential Overlap Approximation
∫
A B -1 C D
( µν λσ ) = φ µ ( r 1 )φ ν ( r 1 )r 12 φ λ ( r 2 )φ σ ( r 2 )dr 1 dr 2 (79)
∫ (80)
A B
S µν = φ µ ( r 1 )φ ν ( r 1 )dr 1
Contour Plots
HyperChem allows the visualization of two-dimensional contour
plots for a certain number of variables. These contour plots show
the values of a spatial variable (a property f(x,y,z) in normal three-
dimensional Cartesian space) on a plane that is parallel to the
screen. To obtain these contour plots the user needs to specify:
250 Chapter 12
Characterizations of the Wave function
ρT( r ) = ρα ( r ) + ρβ ( r ) (84)
where the individual densities are defined to be identical in a
closed-shell RHF calculation but can be different in a UHF calcula-
tion, according to:
ρ α ( r )dr =
∑ µν
α φ ( r )φ ( r )dr
P µν µ ν (85)
ρ β ( r )dr =
∑ µν
β φ ( r )φ ( r )dr
P µν µ ν (86)
ρ α ( r )dr =
∑
A, µν on A
α φ ( r )φ ( r )dr
P µν µ ν (87)
ρ β ( r )dr =
∑
A, µν on A
β φ ( r )φ ( r )dr
P µν µ ν (88)
where the double sum is over each atom and then the orbitals on
that atom. Without this last approximation the electron density
calculation can be a long one, even longer than solving the
approximate Schrödinger equation in the first place. The reason is
the large number of grid points and the double sum over all pairs
of atomic orbitals at each grid point. For ab initio and extended
Hückel calculations where no neglect of overlap (differential or
otherwise) is implied in the approximations, the complete calcula-
tion is performed and requires considerable patience!
The CNDO/INDO, TNDO, MINDO/3, ZINDO/1, and ZINDO/S
methods might be expected to imply an even simpler equation for
the electron density than the above. For example, a rigorous com-
plete neglect of CNDO approximation, suggests that equations
(87) and (88) should be replaced by expressions with a sum only
252 Chapter 12
Characterizations of the Wave function
Spin Density
For open-shell situations or for some closed-shell UHF situations
(A UHF calculation for a normal closed-shell situation will degen-
erate into the closed-shell RHF solution in most cases. However, a
true UHF solution is always obtained when a bond is stretched to
such an extent that it is clearly broken and only an unrestricted
open-shell descriptions of the two fragments is appropriate) non-
zero spin densities exist and can be contoured. The definition of a
closed-shell situation has subtleties, but a simplistic definition of
it might be that the probability of finding a spin-up electron is
identical to the probability of finding a spin-down electron, every-
where in space. Thus, in contrast to the total electron density
defined as the sum of alpha and beta densities above, it is conve-
nient to define the spin density as the difference:
ρS ( r ) = ρα ( r ) – ρβ ( r )
Orbital Plots
For many reasons, including the Woodward-Hoffman rules that
describe the likelihood of reaction based on arguments about the
Electrostatic Potential
The results of electrostatic potential calculations can be used to
predict initial attack positions of protons (or other ions) during a
reaction. You can use the Contour Plot dialog box to request a plot
of the contour map of the electrostatic potential of a molecular
system after you done a semi-empirical, ab initio, or DFT calcula-
tion. By definition, the electrostatic potential is calculated using
the following expression:
254 Chapter 12
Characterizations of the Wave function
∑ ∫
ZA ρ ( r' )-
V(r) = ------------------
-– -------------- dr'
RA – r r' – r
A
ρ(r) = ∑
µν
P µν φ µ ( r )φ ν ( r ) (89)
∑ ∑ ∫
ZA φ µ ( r' )φ ν ( r' )
V(r ) = ------------------
- – P µν -----------------------------
- dr'
RA – r r' – r
A µν
(90)
The second summation is over all the orbitals of the system. This
equation is used in HyperChem ab initio and DFT calculations to
generate contour plots of electrostatic potential. If we choose the
approximation whereby we neglect the effects of the diatomic dif-
ferential overlap (NDDO), then the electrostatic potential can be
rewritten as
on A
V(r) =
∑ A
ZA
------------------
RA – r
-–
∑ ∫ µν
P µν
φ µ ( r' )φ ν ( r' )
-----------------------------
r' – r
- dr'
(91)
The second summation of the above is over the orbitals of atom A.
HyperChem calculates the electrostatic potential using this last
expression for the semi-empirical methods.
256 Chapter 12
Mixed Quantum/Classical Model
• The end of the molecule. Two atoms not part of the same con-
nected molecule must be in separate molecules. Coming to the
end of the molecule means reaching a terminal atom of the
molecule such as a mono-coordinated hydrogen or fluorine, a
carbonyl oxygen, etc.
• An sp3-sp3 single bond where the outside atom in the bond is
not a mono-coordinated terminal atom such as hydrogen or
fluorine.
Quantum
Region
Classical Region
258 Chapter 12
Mixed Quantum/Classical Model
Supported Methods
HyperChem currently supports one first-principle method (ab ini-
tio theory), one independent-electron method (extended Hückel
theory), and ten semi-empirical SCF methods (CNDO, INDO,
MINDO/3, MNDO, MNDO/d, AM1, PM3, ZINDO/1, ZINDO/S, and
TNDO). This section gives sufficient details on each method to
serve as an introduction to approximate molecular orbital calcula-
tions. For further details, the original papers on each method
should be consulted, as well as other research literature. References
appear in the following sections.
260 Chapter 12
Supported Methods
Ab Initio Method
Ab initio methods are characterized by the introduction of an arbi-
trary basis set for expanding the molecular orbitals and then the
explicit calculation of all required integrals involving this basis set.
The same is true of Density Functional (DFT) calculations and
much of the formalism below is also valid for DFT calculations.
DFT calculations have a different effective Hamiltonian than Har-
tree-Fock calculations but the SCF procedure used to solve for the
molecular orbitals (Kohn-Sham orbitals in one case and Hartree-
Fock orbitals in the other case) are very similar. Density Functional
calculations are explicitly described in the next chapter and we
restrict this chapter to explicit ab initio calculations. You may at
times need to mentally extend the discussion below to DFT calcu-
lations also. DFT calculations are sometimes also referred to as ab
initio calculations but that terminilogy is not used here.
Ab initio calculations can be performed at the Hartree-Fock level of
approximation, equivalent to a self-consistent-field (SCF) calcula-
tion, or at a post Hartree-Fock level which includes the effects of
correlation — defined to be everything that the Hartree-Fock level
of approximation leaves out of a non-relativistic solution to the
Schrödinger equation (within the clamped-nuclei Born-Oppenhe-
imer approximation).
HyperChem performs ab initio SCF calculations generally. It also
can calculate the correlation energy (to be added to the total SCF
energy) by a post Hartree-Fock procedure call MP2 that does a
Møller-Plesset second-order perturbation calculation. The MP2
procedure is only available for single point calculations and only
produces a single number, the MP2 correlation energy, to be added
to the total SCF energy at that single point configuration of the
nuclei.
HyperChem’s ab initio calculations solve the Roothaan equations
(59) on page 235 without any further approximation apart from
the use of a specific finite basis set. Therefore, ab initio calculations
are generally more accurate than semi-empirical calculations.
They certainly involve a more fundamental approach to solving
the Schrödinger equation than do semi-empirical methods.
In an ab initio method, all the integrals over atomic orbital basis
functions are computed and the Fock matrix of the SCF computa-
tion is formed (equation (61) on page 235) from the integrals. The
Fock matrix divides into two parts: the one-electron Hamiltonian
and
G µν =
∑ λσ
1
P λσ ( µν λσ ) – --- ( µλ νσ )
2
(93)
respectively.
An ab initio calculation involves the calculation of the following
types of integrals:
(1) Overlap integrals:
S µν = 〈µ|ν〉 (94)
ZA
V µν = 〈µ| ------
- |ν〉 (96)
rA
1
( µν λσ ) = 〈µν| ------ |λσ〉 (97)
r 12
The first three types of integrals involve one or two centers. The
fourth type of integral involves up to four centers.
To this point, the basic approximation is that the total wave func-
tion is a single Slater determinant and the resultant expression of
the molecular orbitals is a linear combination of atomic orbital
basis functions (MO-LCAO). In other words, an ab initio calcula-
tion can be initiated once a basis for the LCAO is chosen. Mathe-
matically, any set of functions can be a basis for an ab initio calcu-
lation. However, there are two main things to be considered in the
choice of the basis. First one desires to use the most efficient and
accurate functions possible, so that the expansion (equation (49)
262 Chapter 12
Supported Methods
on page 232), will require the fewest possible terms for an accurate
representation of a molecular orbital. The second one is the speed
of two-electron integral calculation.
The Schrödinger equation for a hydrogen atom has an exact solu-
tion for the wave function of the form exp(-αr). These Slater Type
Orbitals (STO) are good basis functions. However, it is very difficult
to calculate analytically the requisite multi-center two-electron
integrals using STO basis functions. In 1950, S. F. Boys [S. F. Boys,
Proc. Roy. Soc., A200, 542 (1950)] proposed using Gaussian func-
tions, which are of the form exp(-αr2). With a Gaussian basis set,
an MO is expanded as a linear combination of Gaussian Type
Orbitals (GTO). Each GTO is a fixed linear combination (contrac-
tion) of Gaussian functions (primitives). These contractions can be
chosen, if desired, to have a GTO approximate an STO. The intro-
duction of GTOs greatly simplifies the two-electron integral calcu-
lation, because the multi-center integrals involving GTOs can be
much more easily computed than integrals involving STOs.
exp ( – αr A
2)
2px
1---
GF 128α 5 4 2
–α rA
φ 2p ( α, r A ) = --------------
- x A e (99)
x
π3
2py
1
---
GF 128α 5 4 2
–α rA
φ 2p ( α, r A ) = --------------
- y A e (100)
y
π 3
2pz
1---
GF 128α 5 4 2
–α rA
φ 2p ( α, r A ) = --------------
- z A e (101)
z
π3
3dxy
1
---
GF 2048α 7 4 2
–α rA
φ 3d ( α, r A ) = -----------------
- x A y A e (102)
xy
π 3
etc.
∑ dp µ φp
CGF GF
φµ ( rA ) = (α p,r A) (103)
p=1
where αp and dpµ are the exponents of the primitives and the con-
traction coefficients. The contracted basis functions may be cho-
sen to approximate Slater functions, Hartree-Fock atomic orbitals,
or any other set of functions desired. Integrals involving such basis
functions reduce to the sum of integrals involving the primitive
Gaussian functions. Even though many primitive integrals may
need to be calculated for each basis function integral, the basis
function integrals will be rapidly calculated providing that the
method of computing primitive integrals is very fast.
Usually, contractions are determined from atomic SCF calcula-
tions. In these calculations one uses a relatively large basis of
uncontracted Gaussians, optimizes all exponents, and determines
264 Chapter 12
Supported Methods
266 Chapter 12
Supported Methods
He 1.69
Li 2.69 0.80
Be 3.68 1.15
B 4.68 1.50
C 5.67 1.72
N 6.67 1.95
O 7.66 2.25
F 8.65 2.55
Ne 9.64 2.88
...
The Slater exponents partially listed in the table above are used for
all the STO-NG basis sets. The exponents for all the atoms with
Basis Set Κ L Μ
3-21G 3 2 1
268 Chapter 12
Supported Methods
Basis Set Κ L Μ
4-21G 4 2 1
6-21G 6 2 1
4-31G 4 3 1
5-31G 5 3 1
6-31G 6 3 1
Thus, the 4-31G basis set consists of 2 functions for H and He, 9
functions for Li to Ne, 13 functions for Na to Ar, ..., etc. For hydro-
gen the contractions are
3
′ ′ ′
∑ di, 1s φi, 1s (α i, 1s,rA)
GF
φ 1s ( r A ) = (107)
i=1
and
GF ″
φ′′ 1s ( r A ) = φ i, 1s (α i, 1s,r A) (108)
3
′ ′ ′
∑ di, 2s φi, 1s (α i, 2sp,rA)
GF
φ 2s ( r A ) = (110)
i=1
GF ′
φ′′ 2s ( r A ) = φ i, 2s (α i, 2sp,r A) (111)
3
′ ′ ′
∑ di, 2p φi, 2p (α i, 2sp,rA)
GF
φ 2p ( r A ) = (112)
i=1
GF ′′
φ′′ 2p ( r A ) = φ i, 2p (α i, 2sp,r A) (113)
Element ζ’ ζ”
H 1.20 1.15
He 1.00 1.00
Li 1.03 1.12
Be 1.03 1.12
B 1.03 1.12
C 1.00 1.04
N 0.99 0.98
270 Chapter 12
Supported Methods
Element ζ’ ζ”
O 0.99 0.98
F 1.00 1.00
Two-Electron Integrals
In order to form the Fock matrix of an ab initio calculation, all the
core-Hamiltonian matrix elements, Hµν, and two-electron inte-
grals (µν|λσ) have to be computed. If the total number of basis
functions is m, the total number of the core Hamiltonian matrix
elements is
1
N 1 = --- m ( m + 1 ) (114)
2
272 Chapter 12
Supported Methods
1 4 3 2
N 2 = --- ( m + 2m + 3m + 2m ) (115)
8
After considering the symmetry of the two-electron integrals, we
have
( µν λσ ) = ( νµ λσ ) = ( νµ σλ ) = ( µν λσ )
= ( λσ µν ) = ( σλ µν ) = ( σλ νµ ) = ( λσ νµ ) (116)
The total number of two-electron integrals is thus approximately
equal to m4/8. For example, for benzene, N1 = 666 and N2 =
222,111 in an STO-3G basis set (m=36) and N1 = 2,346 and N2 =
2,753,031 when using a double zeta basis set such as 6-31G
(m=68).
Since the total number of two-electron integrals is so large even for
a small molecule like benzene, optimal algorithms for computing
the two-electron integrals are a major topic in ab initio calcula-
tions.There are two main concerns for computing the two-electron
integrals: first of all, the speed of evaluating the two-electron inte-
grals; second, the method of storing and retrieving the two-elec-
tron integrals. J. Pople and co-workers [i.e. see M. H. Gordon and
J. A. Pople, J. Chem. Phys. 89, 5777 (1988); P. M. W. Gill, M. H. Gor-
don, and J. A. Pople, J. Phys. Chem. 94, 5564 (1990); P. M. W. Gill,
B. G. Johnson, and J. A. Pople, Int. J. Quan. Chem. 40, 745 (1991)]
have developed a series of procedures for computing two-electron
integrals.
In an SCF calculation, many iterations may be needed to achieve
SCF convergence. In each iteration all the two-electron integrals
are retrieved to form a Fock matrix. Fast algorithms to retrieve the
two-electrons integrals are important.
G µν =
∑ λ≥σ
′
P λσ D µν ,λσ (117)
P λσ = 4P λσ 1 – --- δ λσ
′ 1
(118)
2
and supermatrix D
and
274 Chapter 12
Supported Methods
of the Roothaan equations, where the integrals from the first step
are read once for every iteration.
In any scheme for performing ab initio calculations, the limitations
of accuracy, as well as to the size of the system that can be studied
are set by the two-electron integrals. Their number is of the order
of m4 / 8, where m is the number of basis functions; roughly pro-
portional to the size of the system studied. If only integrals whose
magnitude exceeds a certain threshold are considered, the size
dependence is asymptotically reduced to m2 log m [J. Almlof, K.
Faegri Jr., and K. Korsell, J. Comp. Chem. 3, 385 (1982)]. However,
in practical applications that threshold must be tightened as large
systems are considered, in order to reduce the accumulation of
errors. Significant deviation from the m4 dependence is therefore
only seen for extended systems, and a calculation on a molecule of
chemically interesting size may easily require 107 to 109 integrals
even for rather modest basis sets. Such large ab initio calculations
may not be practical on a small- or medium-size computer.
Direct SCF calculations [J. Almlof, K. Faegri Jr., and K. Korsell, J.
Comp. Chem. 3, 385 (1982)] offer a solution to this problem by
eliminating the storage of two-electron integrals. This can, how-
ever, only be done at the expense of having to recompute integrals
for every iteration.
With the current impressive CPU and main memory capacity of
relatively inexpensive desktop PC’s, non-direct SCF ab initio calcu-
lations involving 300-400 basis functions can be practical. How-
ever, to run these kinds of calculation, 20 GBytes of hard disk space
might be needed. Such big disk space is unlikely to be available on
desktop PCs. A direct SCF calculation can eliminate the need for
large disk storage.
276 Chapter 12
Supported Methods
Projected Hückel
HyperChem performs an empirical Hückel calculation to produce
the MO coefficients for a minimal basis set and then projects these
coefficients to the real basis set used in an ab initio calculation. The
projected Hückel guess can be applied to molecular systems with
an atomic number less than or equal to 54 (Xe).
Projected CNDO/INDO
A projected CNDO/INDO guess uses the computed coefficients
from a minimum basis set CNDO/INDO calculation and then
projects these MO coefficients to the real basis set used in an ab ini-
tio calculation. The projected CNDO/INDO guess can be applied to
molecular systems with atomic number less than or equal to 18
(Ar).
Mixed Model
Selection is used for many purposes in HyperChem, normally in a
select-operate mode. When a quantum mechanical calculation is
requested, either semi-empirical or ab initio, selection serves to sep-
arate the system into a classical region and a quantum mechanical
region (the selected region). HyperChem treats the unselected
region of any molecular system as a classical perturbation for the
quantum mechanical selected region. The charges in the unse-
lected region form a background of electrostatic potential and per-
turb the properties of the selected quantum mechanical region.
The interaction of the charges in the classical region with the
quantum mechanical region are treated correctly by including
them in the one-electron core Hamiltonian for the quantum
region. The contribution of the charges in the classical region, to
the core Hamiltonian, is treated in the following way:
∑
QB
∆H µν = - |ν〉
〈µ| --------- (122)
R 1B
B
where the sum runs over all the atoms, B, in the unselected region.
R1B is the distance between the nucleus of B and the electron, and
QB is the net charge (the nuclear charge minus the electron charge)
on atom B.
Ghost-Atoms
Atoms with an atomic number that is sometimes treated as if it
were zero are known as ghost atoms. That is, a ghost atom is non-
interacting and has effectively no nucleus or electrons. Hyper-
Chem defines a ghost atom in exactly the same way as a regular
atom, and any basis set can be applied to a ghost atom. Under
most situations ghost-atoms is just the name for a set of atoms (a
named selection) and they act as any other atom. When perform-
ing an ab initio calculation, however, HyperChem may treat ghost
atoms differently than regular atoms. A ghost atom is represented
by a basis set, but does not have any nuclei attached to it, and
therefore can be regarded as a point in space upon which orbitals
can be centered. The concept of ghost atoms can be very useful in
avoiding the basis set superposition error (BSSE) when describing
a so called “basis set deficient” systems, i.e. systems with relatively
large number of electrons represented by relatively poor basis sets.
Some long range interactions (i.e. complexes, hydrogen bonding)
can be poorly represented without the use of a ghost atom con-
cept. Also ghost atoms provide a convenient way to specify some
arbitrary point in molecular space at which one wishes to place
basis functions.
In the current version of HyperChem, this option is only available
for Single Point calculation.
278 Chapter 12
Supported Methods
Basic Method
Since EHT is an independent-electron method, it is defined by
giving formulas for each of the H matrix elements of the
µν
effective one-electron Hamiltonian eff, described above. Once the
matrix H is available, the molecular orbitals ψ and their orbital
i
energies ε are just solutions of a standard eigenvalue problem
i
HC = SCε where C describes the MO-LCAO coefficients of the
molecular orbitals in the atomic orbital basis set:
ψi = ∑ν Cν i φν (123)
3p , 3p , 3p , 3d 2, 3d , 3d , 3d , and 3d 2 2. An option in
x y z z xz yz xy x -y
the EHT Option dialog box neglects the 3d orbitals to speed up cal-
culations. The standard parameter set, however, is derived assum-
ing 3d orbitals are used.
So called Hydrogenic atomic orbitals (exact solutions for the
hydrogen atom) have radial nodes (values of the distance r where
the orbital's value goes to zero) that make them somewhat incon-
venient for computation. Results are not sensitive to these nodes
and most simple calculations use Slater atomic orbitals of the form
φ ν ( x, y, z ) = φ ν ( r, θ, ϕ ) = N n, l, m r n – 1 e –ζ r Y l, m ( θ, ϕ ) (124)
H 1.3
Li 0.650
Be 0.975
B 1.3
C 1.625
N 1.950
O 2.275
F 2.425
Na 0.733
Mg 0.950
Al 1.167
Si 1.383 1.383
280 Chapter 12
Supported Methods
P 1.600 1.4
S 1.817 1.5
Cl 2.033 2.033
The VSIE values of the first three row elements used by Hyper-
Chem are shown in the following table.
H 13.6
Li 5.4 3.5
Be 10.0 6.0
B 15.2 8.5
C 21.4 11.4
N 26.0 13.4
O 32.3 14.8
F 40.0 18.1
Na 5.1 3.0
Mg 9.0 4.5
Al 12.3 6.5
2 2
( φµ + φν )
φ µ φ ν = S µν ----------------------
- (126)
2
can be used to estimate the off-diagonal elements
( H µµ + H νν )
H µν = kS µν ------------------------------
- (127)
2
The Hückel constant k has been inserted here as one more adjust-
able parameter. Note that the integrated form of equation (126) is
exact.
k µν = k + δ 2 + δ 4 ( 1 – k ) (129)
where
δ = ( H µµ – H νν ) ⁄ ( H µµ + H νν ) (130)
282 Chapter 12
Supported Methods
φ µ φ ν = 1 ⁄ 2 S µν ( ( 1 + δ )φµ2 + ( 1 – δ )φ ν2 ) (131)
Mixed Model
In the Extended Hückel approximation, the charges in the unse-
lected part are treated like classical point charges. The correction
of these classical charges to the diagonal elements of the Hamilto-
nian matrix may be written as:
Q
∆H µµ = – a ∑j ------
R ij
-j
CNDO
HyperChem implements the CNDO method based upon a com-
plete neglect of differential overlap approximation. Specifically,
HyperChem implements the CNDO/2 scheme developed by Pople,
Segal, and Santry [J. A. Pople, D. P. Santry, and G. A. Segal, J. Chem.
Phys., 43, S129 (1965); J. A Pople and G. A. Segal, J. Chem. Phys., 43,
S136 (1965); J. A. Pople and G. A. Segal, J.Chem. Phys., 44, 3289
(1966)]. The method is the simplest of the zero differential overlap
(ZDO) methods and generally thought to be the least accurate. The
CNDO/1 method, as originally developed, was quickly modified
and re-parameterized to CNDO/2, which is the method that has
remained in common use for many years.
284 Chapter 12
Supported Methods
F µµ = H µµ + P AA – --- P µµ γ AA + ∑
1
P BB γ AB (133)
2
B≠A
1
F µν = H µν – --- P µν γ AB (134)
2
In a ZDO computation where the overlap matrix is assumed to
be the unit matrix, the diagonal elements of the density matrix
become occupancy numbers for the atomic orbitals. Thus P is
µµ
the effective number of electrons occupying atomic orbital φ . The
µ
sum of these numbers over all orbitals on a given atom is the total
number of electrons, PAA residing on that atom, in this case atom
A. The net atomic charge is then the charge of the nucleus (with
collapsed inner shell electrons) ZA minus PAA
A
q A = Z A – P AA = Z A – ∑ Pµµ (135)
µ
H µµ = U µµ – ∑ VAB
B≠A
(136)
H µν = β AB
O S
µν (137)
One center overlaps are all zero so that the above describes only
two center contributions.
It was found that computed bond lengths were much too short
in CNDO/1 because of poor balance between the attractive VAB
terms and the repulsive γAB terms. Good theoretical justification
can be made for a further simplification that approximates the
nuclear attraction terms VAB as follows,
AB
V AB = Z B γ (138)
α = –1
F µµ --- ( I µ + A µ ) (140)
2
+ ( P AA – Z A ) – P α µµ – --- γ AA +
1
2 ∑
B≠A
( P BB – Z B )γ AB
286 Chapter 12
Supported Methods
α = β0 S α AB
F µν AB µν – P µν γ (141)
T α
The RHF form of these equations simply substitutes P = 1/2 P =
β
1/2 P
The CNDO parameters are discussed below.
Expectation Values
You would normally expect to make the same zero differential
overlap (ZDO) approximation in computing expectation values as
in deriving the form for the Fock matrices. However, the original
authors of the CNDO method found that when considering the
dipole moment such a strict ZDO approximation reduces the
dipole moment to just the classical value computed from the point
charges given by equation (135) on page 285. It is expected, how-
ever, that one-center (s, px), (s, py), or (s, pz) hybridization terms
are significant contributors to the dipole moment and these terms
were included by the original CNDO authors. HyperChem contin-
ues to include these hybridization terms when computing dipole
moments.
∆H µµ = ∑B ( ZB – QB )γAB
∆H µµ corrects the core Hamiltonian element, H µµ , and
Z Z
-------------
∆E N = ∑ A B
- – Z A Q B γ AB
R
( A, B ) AB
γ AB = ( nsns n ′ sn′ s )
a Coulomb integral of the Slater orbitals. Therefore, in order to run
a mixed model at the CNDO and INDO approximation level,
HyperChem needs the Slater exponents of s-orbitals for the atoms
in the classical region and limits the elements in the classical
region to be in the range of H through Xe.
INDO
Exchange Phenomena
The difference between CNDO and INDO is best understood in
relation to the phenomenon of exchange, which we briefly
describe here.
Consider first of all the problem of two electrons, one occupying
orbital ψ1 and the other occupying a different orbital ψ2. The two
electrons can have their electron spins parallel or anti-parallel, as
shown below. The parallel arrangement leads to a triplet state with
total spin S=1 and the anti-parallel arrangement leads to a singlet
state with total spin S=0. The total energy of the two states
includes the kinetic energy of the electrons, the attraction of the
electrons for any fixed nuclei (these two contributions sum to give
the one-electron energy contributions) and electron-electron
interactions. In each of the two cases there is a Coulomb interaction
J = (ψ1ψ1|ψ2ψ2) between the two electrons. The difference in
energy between the two states, with the triplet having the lower
energy, comes from a special quantum mechanical effect called
electron exchange. Since electrons are all identical, they can be
exchanged without changing any observable. That electrons have
individual spins, s=1/2, results in the quantum mechanical effect
that the triplet (parallel spin) arrangement has a lower energy than
the singlet (anti-parallel spin) associated with the exchange interac-
tion K = (ψ1ψ2|ψ1ψ2). The CNDO procedure basically neglects most
of these exchange effects leading to a poor treatment of the differ-
288 Chapter 12
Supported Methods
Ψ2
Ψ1
E ( singlet ) = E ( one-electron ) + J + K
Ψ2
Ψ1
E ( triplet ) = E ( one-electron ) + J – K
( ss ss ) = ( ss xx ) = F 0 = γ AA
1
( sx sx ) = --- G 1
3
3
( xy xy ) = ------ F 2 (142)
25
290 Chapter 12
Supported Methods
4
( xx xx ) = F 0 + ------ F 2
25
2
( xx yy ) = F 0 – ------ F 2
25
There are similar expressions for symmetry related integrals (ss|yy),
etc. For direct comparison with CNDO, F0 is computed as in
CNDO. The other INDO parameters, G1, and F2, are generally
obtained [J. I. Slater, Quantum Theory of Atomic Structure,
McGraw-Hill Book Company, Vol. 1, New York, 1960.] from fits to
experimental atomic energy levels, although other sources for
these Slater-Condon parameters are available. The parameter file
CINDO.ABP contains the values of G1 and F2 (columns 9 and 10)
in addition to the CNDO parameters.
MINDO/3
MINDO/3 stands for Modified Intermediate Neglect of Differential
Overlap, version 3; it is a modification of the INDO method. The
method was proposed and developed by M. J. S. Dewar and co-
workers at the University of Texas at Austin [N. C. Baird and M. J.
S. Dewar, J. Chem. Phys., 50, 1262(1969); M. J. S. Dewar and E. Has-
selbach, J. Am. Chem. Soc., 92, 590(1970); M. J. S. Dewar and D. H.
Lo, J. Am. Chem. Soc., 94, 5296(1972); R. C. Bingham, M. J. S.
Dewar, and D. H. Lo, J. Am. Chem. Soc., 97, 1285(1975); 97,
1302(1975); 97, 1307(1975); 97, 1311(1975)].
Using the same nomenclature as for the INDO approximation, the
elements of the MINDO/3 UHF Fock matrix are described below.
When φ and φ are on different centers the off-diagonal elements
µ ν
are
α = H α
F µν µν – P µν ( µµ νν ) (143)
(µ on A, ν on B, A≠B)
and when f and f are on the same center, the off-diagonal ele-
m n
ments are
α = ( 2P α + β – P α ) ( µν µν ) – P α ( µµ νν )
F µν µν µν µν
(144)
(µ on A, ν on A, µ≠ν)
The diagonal elements of the Fock matrix are
A
α = H
F µµ µµ + ∑ ( Pννα+ β ( µµ νν ) – Pννα ( µν µν ) ) (145)
ν
+
∑ ∑
B
γ
AB
A
α+β
P λλ (146)
292 Chapter 12
Supported Methods
T α+β α β
where P ≡ P ≡P +P . By replacing the superscripts α and β
by β and α, respectively, in the above three equations, you can eas-
ily get three similar equations for the Fock matrix elements for
beta orbitals. Similar expressions to the above for Fock matrix
elements of restricted Hartree-Fock (RHF) calculations can be gen-
α β
erated by simply replacing P (or P ) by 1/2 PT in the above equa-
tions.
The two-center two-electron, one-center two-electron, two-center
one-electron, one-center one-electron, and core-core repulsion
integrals involved in the above equations are discussed below.
H µµ = U µµ – ∑ VAB
B≠A
(148)
V AB = Z B γ AB
H µν = S µν β AB ( I µ + I ν ) (149)
294 Chapter 12
Supported Methods
where ZA and ZB are the core charges (nuclear point charges minus
inner shell electrons). Since, electron-electron and electron-core
integrals do not immediately collapse to the form c/RAB (RAB is the
distance of atom A and atom B, c is a constant) for distances
beyond the van de Waals radii, there would be a net repulsion
between two neutral atoms or molecules. To correct for this, core-
core repulsion is approximated by:
E N ( A, B ) = Z A Z B γ AB (151)
Here aAB is a diatomic parameter. In the case of N-H and O-H inter-
actions only, this expression is replaced by:
E N ( A, B ) = Z A Z B γ AB+ ----------
1 – γ AB α exp ( – R )
- AB AB (153)
R AB
Mixed Model
The basic idea of mixed model in MINDO/3 is the same as that
used for CNDO and INDO and corrects γ AB , which appears in the
core Hamiltonian. Because the algorithm in calculating the Cou-
lomb interaction in MINDO/3 is different from that used in CNDO
and INDO, the procedure to correct γ AB is also different from that
in CNDO and INDO.
∆H µµ = – ∑
B
( Z B – Q B ) γ AB
The sum A is over all the atoms in the quantum region and B is
over all the atoms in the classical region. The two-electron and
two-center Coulomb integral, γ AB , is computed in MINDO/3 by
1
γ AB = -----------------------------------------------------------------
1 ⁄ 2-
R AB + --- ------- + -------
2 1 1 1 2
4 AA AB
MNDO
MNDO is a Modified Neglect of Diatomic Overlap method based
on the neglect of diatomic differential overlap (NDDO) approxi-
mation. The method was proposed and developed by M. J. S.
Dewar and co-workers at the University of Texas at Austin [e.g. see
M. J. S. Dewar and M. L. McKee, J. Am. Chem. Soc., 99, 5231(1977);
M. J. S. Dewar and W. Thiel, J. Am. Chem. Soc., 99, 4899(1977); M.
J. S. Dewar and H. S. Rzepa, J. Am. Chem. Soc., 100, 58(1978); L. P.
Davis, R. M. Guidry, J. R. Williams, M. J. S. Dewar, and H. S. Rzepa,
J. Comp. Chem. 2, 433(1981)].
296 Chapter 12
Supported Methods
A B
α = H
F µν µν – ∑ ∑ Pλσ
α ( µλ νσ )
λ σ
(154)
(µ on A, ν on B, A≠B)
and when φ and φ are different atomic orbitals but on the same
µ ν
center then the off-diagonal elements of the Fock matrix are:
α = H α
F µν µν + P µν [ 3 ( µν µν ) – ( µµ νν ) ]
B B
+ ∑B ∑ ∑ Pλσ
α + β ( µν λσ ) (155)
σ λ
(µ on A, ν on A, µ≠ν)
The diagonal elements of the Fock matrix are:
α = H
F µµ µµ +
∑ ν
α + β ( µµ νν ) – P α ( µν µν ) ]
[ P νν νν
B B
+
∑∑∑
B λ σ
α + β ( µµ λσ )
P λσ (156)
T α+β α β
where P ≡ P ≡P +P . By replacing the superscripts α and β
by β and α, respectively, in the above three equations, you can eas-
ily get three similar equations for the Fock matrix elements for
beta orbitals. Similar expressions to the above for Fock matrix ele-
ments of restricted Hartree-Fock (RHF) calculations can be gener-
α β
ated by simply replacing P (or P ) by -1/2 PT in the above equa-
tions.
The terms involved in the above equations are described below.
( p π p π ss ) ( p σ p σ ss ) ( pπ pπ pπ pπ )
( p π p π p' π p' π ) ( pπ pπ pσ pσ ) ( pσ pσ pπ pπ )
( pσ pσ pσ pσ ) ( sp σ ss ) ( sp σ p π p π )
( sp σ p σ p σ ) ( ss sp σ ) ( p π p π sp σ )
( p σ p σ sp σ ) ( sp π sp π ) ( sp σ spσ )
( sp π p π p σ ) ( p π p σ sp π ) ( pπ pσ pπ pσ )
( p π p' π p π p' π )
With the exception of integral 22, (p p '|p p '), all the integrals
p p p p
can be computed a priori without loss of rotational invariance.
That is, no integral depends on the value of another integral,
except for this last one. It can, however, be shown that
1
( p π p' π p π p' π ) = --- [ ( p π p π p π p π ) – ( p π p π p' π p' π ) ] (157)
2
The use of this formula for integral 22 gives rotational invariance.
The two-center two-electron repulsion integrals (µν | λσ) represents
the energy of interaction between the charge distributions φ φ at
µ ν
atom A and φ φ at atom B. Classically, they are equal to the sum
λ σ
over all interactions between the multipole moments M of the
lm
two charge contributions, where the subscripts l and m specify the
order and orientation of the multipole. MNDO uses the classical
model in calculating these two-center two-electron interactions.
The electron density distributions are approximated by a series of
point charges. There are four possible types of contributions, i.e.
298 Chapter 12
Supported Methods
|ss> Monopole 1
|sp> Dipole 2
Each two-electron integral is the sum of all the terms arising from
the charge distribution representative of the first pair of atomic
orbitals interacting with the charge distribution representative of
the second pair of atomic orbitals. Thus in the simplest case, the
(ss|ss) interaction is represented by the repulsion of two mono-
poles, while a (p p |p' p' ), a much more complicated interaction,
π π π π
is represented by 16 separate terms, arising from the four charges
representing the monopole and linear quadrupole on one center
interacting with the equivalent set on the second center.
Because the repulsion interaction energy of two point charges is
inversely proportional to the distance separating the two charges,
Dewar and co-workers, for example, represent the (ss|ss) two-cen-
ter two-electron integral by:
1
( ss ss ) = ----------------------------------------------------------------------------------------- (158)
( R + c + c ) 2 + 1--- ------- 1 1 2 1 / 2
+ ------ -
A B
4 A A A B
( 2n + 1 ) ( 4ζ s ζ p ) n + 1 ⁄ 2
D 1 = ------------------------------------------------------
- (159)
3 1 ⁄ 2 ( ζ s + ζ p ) 2n + 2
4n 2 + 6n + 2 1 ⁄ 2 1
D 2 = ------------------------------- ----- (160)
20 ζ p
G sp = ( ss pp )
H sp = ( sp sp )
G pp = ( pp pp ) (161)
G p2 = ( pp p'p' )
H pp = ( pp' pp' )
300 Chapter 12
Supported Methods
1⁄2
+ ----------------------------------------------------------------------------------------------------
R 2 + ( 2D B ) 2 + 1--- ------------ 1 2 1/2
- + ------------
1
AB 2 2 AM A AQ B
1⁄4
– --------------------------------------------------------------------------
- (163)
R 2 + --- ------------- + -----------
1 1 1 2 1 / 2
-
AB 4 AM AQ
A B
H µµ = U µµ – ∑ VAB
B≠A
(164)
V AB = Z B ( µµ ss )
( βµ + βν )
H µν = S µν ----------------------
- (165)
2
where β and β are adjustable parameters characteristic of atomic
µ ν
orbitals φ on atom A and φ on atom B. For a given first-row or
µ ν
second-row element, there are at most two different b parameters,
i.e., β A for the s-orbital and βpA for the p orbital of atom A. This
s
2
differs from MINDO/3 where N beta parameters are required
compared to the O(N) beta parameters needed here.
1
( pp' pp' ) = --- [ ( pp pp ) – ( pp p'p' ) ] (166)
2
302 Chapter 12
Supported Methods
α α α
– ( P px + P py + P pz )H sp (167)
α α+β α
F sp ← P sp H sp – P sp ( H sp + G sp ) (168)
1 α α
– --- ( P p' p' + P p'' p'' ) ( G pp – G p2 ) (169)
2
α α+β 1 α
F pp' ← P pp' ( G pp – G p2 ) – --- P pp' ( G pp + G p2 ) (170)
2
T α+β α β
where P ≡ P ≡P +P . By replacing the superscripts α and β
by β and α, respectively, in the above three equations, you can eas-
ily get three similar equations for the Fock matrix elements for
beta orbitals. Similar expressions to the above for Fock matrix ele-
ments of restricted Hartree-Fock (RHF) calculations can be gener-
α β
ated by simply replacing P (or P ) by 1/2 PT in the above equa-
tions.
The core-core repulsion integrals are different for O-H and N-H
interactions. They are expressed as:
E N ( A, H ) = Z A Z H ( s A s A s H s H )
exp ( – α A R AH )
× 1 + ------------------------------------ + exp ( – α H R AH ) (172)
R AH
∑
AB
∆H µν = – ( Z B – Q B ) γ µν
B
AB
for both µ and ν are on atom A, and γ µν is
γ AB = ( µA νA| s B s B )
and calculated by the MNDO method. And the interaction energy
between the nuclei in the quantum mechanical region and the
charges (including the nuclear charges and the electronic charges)
is
exp ( – α RAB )
∆E N = ∑
( A, B )
A
{ Z A Z B (sA sA| s B s B ) 1 + exp ( – α A R AB ) + -----------------------------------
R AB
-
– Z A Q B (sA sA| s B s B )}
with
1
(sA sA| s B s B ) = -----------------------------------------------------------------------------
-
2 1 1 1 2
R AB + --- ------------- + ------------- 1 ⁄ 2
2 AM A AM B
MNDO/d
This method is distinguishable from MNDO principally by its use
of d orbitals. It is described in the following references: W. Theil
and A. Voityuk, Theo. Chim. Acta 81, pp391-404 (1992); W. Thiel
and A. Voityuk, Int.J. Quant. Chem. 44, pp807-829 (1992);
304 Chapter 12
Supported Methods
exp ( – α A R AH ) Z A Z H
× 1 + ------------------------------------ + exp ( – α H R AH ) + --------------
R AH R
AH
× ∑k akA exp [ –bkA ( RAH – ckA ) ] + ∑k akH exp [ –bkH ( RAH – ckH ) ]
2 2
(173)
E N ( A, B ) = ZA ZB ( sA sA sB sB ) (174)
ZA ZB
[ 1 + exp ( – α A R AB ) + exp ( – α B R AB ) ] + ------------
-
R AB
∑k akA exp [ –bkA( RAB – ckA ) ] + ∑k akBexp [ –bkB ( RAB – ckB ) ]
2 2
ZINDO/1
ZINDO/1 is based on a modified version of the intermediate
neglect of differential overlap (INDO), which was developed by
Michael Zerner of the Quantum Theory Project at the University
of Florida. Zerner’s original INDO/1 used the Slater orbital expo-
nents with a distance dependence for the first row transition met-
als only. (See Theoret. Chim. Acta (Berl.) 53, 21-54 (1979).) However,
in HyperChem constant orbital exponents are used for all the
available elements, as recommended by Anderson, Edwards, and
Zerner, Inorg. Chem. 25, 2728-2732,1986.
As with the other semi-empirical methods, HyperChem’s imple-
mentation of ZINDO/1 is restricted to spin multiplicities up to a
quartet state. ZINDO/1 lets you calculate the energy states in mol-
ecules containing transition metals.
306 Chapter 12
Supported Methods
0.585 was used with good success for transition-metal systems, see,
for example, Stavrev, K.K., Zerner, M.C., Meyer, T.J., J. Am. Chem.
Soc. 117:8684, 1995 (on Ru-complexes); Stavrev, K.K., and Zerner,
M.C., J. Chem. Phys. 102:34, 1995 ( Mn-centers); Chem. Phys. Lett.
233:179, 1995 (Cu-porphyrins); ibid. 263:667, 1996 (VCl4); Theor.
Chim Acta 96(3):141 (Mo-nitrogenase); Cory, M.G., Stavrev, K.K.
and Zerner, M.C., Int. J. Quant. Chem. 63:781, 1997 (Fe-proteins).
If you want to change the number that appears in the Semi-Empir-
ical Options dialog box you could include a script command that
sets the value explicitly in your chem.scr initialization script.
Mixed Model
The mixed model used in ZINDO/1 is identical to that used in
CNDO and INDO if there is no d-orbital involved in the quantum
mechanical calculation. Once the system involves transition met-
als, the mixed model is slightly more complex. HyperChem treats
the charges in the classical region as the following way:
∑B ( ZB – QB ) γµµ ss
AB
∆H µµ =
ZINDO/S
ZINDO/S is an modified INDO method parameterized to repro-
duce UV visible spectroscopic transitions when used with the CI
singles methods. It was developed in the research group of Michael
Zerner of the Quantum Theory Project at the University of Florida.
308 Chapter 12
Supported Methods
Mixed Model
ZINDO/S is different from ZINDO/1 because they use different
algorithms in computing the Coulomb integrals. Hence the two
equations used in the mixed model in ZINDO/1 are also employed
in ZINDO/S. But the Coulomb integrals are computed by the fol-
lowing way:
AB f
γ ss ss = -------------------------------------
r
-
2f r
-------------------- + R AB
A B
γ ss + γ ss
and
AB f
γdd ss = -------------------------------------
r
-
2f r
-------------------- + R AB
A B
γ ss + γ ss
TNDO
The TNDO Hamiltonian is identical to the CNDO or INDO Hamil-
tonian. TNDO/1 is CNDO and TNDO/2 is INDO. The difference is
that TNDO has different parameters from CNDO/INDO and
parameters that depend upon the atom type of an atom rather
than the atomic number of an atom. Thus, there are separate
parameters for sp, sp2, and sp3 carbon atoms, not just single
parameters for carbon. The method can be very accurate with the
right parameters.
310 Chapter 12
Chapter 13
Density Functional Theory
2
ρ ( r1 ) =
∫ Ψ ( r1, r2 ,…rN ) dr2 … drN (2)
That is, the electron density is much simpler than the wavefunc-
tion since it is a function of only 3 variables rather than 3N vari-
ables. The electron density averages out details of the full N-body
problem.
If one could compute the energy and properties of a molecule by
computing only the electron density rather than the full wave-
311
The Hohenberg-Kohn Theorem
E = E[ ρ] (3)
and that the exact energy is returned only when ρ is exact; approx-
imate ρ’s lead to higher energies. By the term functional, we mean
that E depends not on simple variables but on a complicated func-
tion, the density in three dimensional space. That is, E depends on
the density only, but with an unknown functional dependence. By
the term universal dependence, we mean that this dependence of
the energy on the density is the same in methane as it is in fluo-
robenzene and if we only knew this dependence it would help pro-
vide solutions for all molecular systems.
In the above form, the Hohenberg-Kohn theorem is not of imme-
diate practical help in solving for the energy and electron density
of molecules. The theorem, however, allows a new formulation for
a self-consistent-field (SCF) procedure that can be used to compute
molecular charge densities. This new procedure is embodied in the
Kohn-Sham equations.
Overview
The Kohn-Sham equations can, in principal, lead to an exact solu-
tion for a molecular system. The equations resemble very closely
the equations of Hartree-Fock theory of the last chapter. However,
the interpretation of the solutions to the Kohn-Sham equations is
quite different from the interpretation of the solutions to the Har-
tree-Fock equations. For example, the Kohn-Sham energy can be
exact while the Hartree-Fock energy is well known to be missing
what is referred to as the correlation energy. It is enormously useful
312 Chapter 12
The Kohn-Sham Equations
PT = Pα + Pβ (5)
where,
occ
α
P µν =
∑ i
α α
Cµ i Cν i (6)
and
occ
β
P µν =
∑i
β
Cµ i Cν i
β
(7)
ψ iα =
∑
ν
C ναi φ ν (8)
and
ψ iβ =
∑
ν
C νβi φ ν (9)
α = Hα +
F µν µν
∑ λσ
T ( µν λσ ) – P α ( µλ νσ )
P λσ λσ (10)
314 Chapter 12
The Kohn-Sham Equations
β = Hβ +
F µν µν
∑λσ
T ( µν λσ ) – P β ( µλ νσ )
P λσ λσ (11)
The first term in the summations above is the coulomb energy and
the second term is the exchange energy. Coulomb interactions occur
between all the electrons, independent of spin, whereas exchange
interactions only occur between electrons of parallel spin. In Har-
tree Fock theory, the correlation energy, the difference between the
energy of the Hartree-Fock single determinant wavefunction
approximation and the exact energy is, by definition, zero.
The Kohn-Sham equations or the fundamental equations of prag-
matic Density Functional Theory involve replacing the exchange
term above with a new exchange-correlation potential and equiv-
alent matrix. That is,
α = Hα +
F µν µν
∑ λσ
T ( µν λσ ) + F
P λσ
XC α
µν (12)
β = Hβ +
F µν µν
∑ λσ
T ( µν λσ ) + F
P λσ
XC β
µν (13)
∑ P µν H µν + --- ∑ P µν P λσ ( µν λσ ) + E XC
1
E =
2
µν µνλσ
α β
E XC =
∫ f ( ρ , ρ ) dr
The relationship between the exchange-correlation energy, EXC,
and the exchange-correlation matrix of the Kohn-Sham equations
has been formulated in a convenient form by Johnson, Gill, and
Pople [J.Chem. Phys. 98, 5612(1993)] . In its simplest form, the
relationship is,
XC α ∂f
F µν =
∫ ∂ ρα φµ φν dr
316 Chapter 12
The Uniform Electron Gas and Local Density Approximations.
where α is a parameter that Slater set to 1 but which has the value
of 2/3 when this functional is derived as the exact exchange
energy of a uniform electron gas (UEG). The corresponding ele-
ments of the exchange-correlation matrix of the Kohn-Sham equa-
tions are:
XC α Xα 3 α 1⁄3
F µν = F µν =
∫ –3 α -----
4π
- (ρ ) φ µ φ ν dr
318 Chapter 12
Energy Gradients
α β
f = f ( ρ , ρ , γ αα, γ ββ, γ αβ )
XC α ∂f ∂f α ∂f β
F µν =
∫ ∂ ρα φµ φν + 2
∂ γ αα
∇ρ +
∂ γ αβ
∇ρ ⋅ ∇( φ µ φ ν ) dr
Energy Gradients
HyperChem uses gradients for many things - finding optimized
structures, finding transition states, performing molecular dynam-
ics, etc. The gradient of the energy in DFT calculations has been
somewhat elusive and different formulations have different
approximations to these gradients. HyperChem uses a rigorous
approach outlined by Johnson, Gill and Pople that does not
require second derivatives of the exchange-correlation energy as in
′
α ∂f ∂f α ∂f β
∇AE XC = – 2 ∑µ ∑ν P µν ∫ ∂ ρα φν ∇φµ + Xµν 2 ∂ γαα ∇ρ +
∂ γ αβ
∇ρ dr
′
β ∂f ∂f α ∂f β
–2 ∑µ ∑ν P µν ∫ ∂ ρβ φν ∇φµ + Xµν 2 ∂ γαβ ∇ρ +
∂ γ ββ
∇ρ dr (14)
Hybrid Functionals
On an empirical basis, it has been determined that rather than
completely replacing the Hartree-Fock exchange term by an
exchange functional of the kind being described by DFT, better
results can often be obtained by retaining a percentage of so-called
“exact” exchange, i.e. the Hartree-Fock exchange term. These have
been referred to as hybrid functionals as opposed to pure function-
als. Thus, for example, the B3-LYP functional discussed below con-
tains a mixture of 20% exact exchange with 80% of a pure
exchange functional.
A Set of Functionals
HyperChem contains a number of functions and here we list each
with the appropriate literature reference.
Exchange Functionals
Hartree-Fock
This is the normal exchange term of the Hartree-Fock equations.
Using this functional only should give the same result as a normal
ab initio SCF calculation.
320 Chapter 12
A Set of Functionals
Slater
This is the LDA exchange result described above. Slater derived it
in a different context. Its original derivation is probably due to
Dirac in 1930. A good reference is one of Slater’s books.
[J.C. Slater, Quantum Theory of Molecules and Solids, Vol. 4: The Self-
Consistent Fieled for Molecules and Solids (McGraw-Hill, New York,
1974).]
Becke-88
This functional constituted an important step in the development
of density functional theory for molecules. Becke included a gradi-
ent correction to Slater’s result that greatly improved the accuracy.
Like many functionals it was of the general form,
∑σ ∫
LSDA
EX = e Xσ gX σ d r
σ σ 4⁄3
g X σ ( x ) = g X σ ( ∇ρ ⁄ (ρ )
2
g ( x ) = 1 + ( bx ) ⁄ a ( 1 + 6bx asinh x )
where
3 3 1⁄3
a = --- ------
2 4π
Perdew-Wang-91
A large number of the available functionals both for exchange and
correlation have been developed by J.P. Perdew and his collabora-
tors. The Perdew-Wang-91 exchange functional is similar to the
Becke-88 functional but with a somewhat different g(x). This func-
tional is referred to as GGA-II by Perdew and collaborators. The
functional is originally due to Perdew and Wang but the more
transparent paper upon which the HyperChem implimentation is
based is the following:
[J.P. Perdew, J.A. Chevary, S.H.Vosko, K.A. Jackson, M.R. Pederson,
D.J. Sing, and C. Fiolhais, Atoms, molecules, solids, and surfaces:
Applications of the generalized gradient approximation for exchange
and correlation, Phys. Rev. B 46, 6671(1992).]
Gill-96
The Gill exchange functional is a gradient-corrected functional but
has the very simple form,
3⁄2
g ( x ) = 1 + bx
PBE-96
More recently Perdew, Burke, and Ernzerhof have developed a
GGA functional that appears to be as accurate as their GGA-II
(PW91) functional but avoids the use of purely empirical parame-
ters. Like some other functionals, both an exchange and a correla-
tion functional have been defined. They are commonly recem-
mended to be used in conjunction with each other but Hyper-
Chem allows each to be considered independently. The appropri-
ate reference for the HyperChem implimentation is:
[J.P. Perdew, K. Burke, M. Ernzerhof, Generalized Gradient Approxi-
mations Made Simple, Phys. Rev. Lett. 77, 3865 (1996).]
322 Chapter 12
A Set of Functionals
HCTH-98
Becke has defined a new hybrid exchange-correlation potential
that we refer to in HyperChem as Becke-97. The pure form of the
the corresponding exchange potential (as well as the correlation
potential) has been adopted by the group of Handy et al. as conve-
nient for defining new pure exchange and correlation potentials
that they refer to as HCTH-98 potentials.
The Becke suggestion was to express g(x) as a sum of terms in a
converging power series where the first term was essentially iden-
tical to an earlier Becke-86 (not Becke-88!) potential. Becke has
suggested 3 terms in the series and Handy et. al. have used 5 terms.
The five terms have been used to fit the potential to a set of accu-
rate ab initio results. The exchange potential has 5 parameters and
the correlation potential has 10 parameters. Handy et. al. have
defined a number of parameter sets based on their set of molecules
being fit. HyperChem reads a set of parameters from hcth.txt as
the current set of parameters.
The HyperChem implimentation is from the following reference:
[F.A. Hamprecht, A.J. Cohen, D.J. Tozer, and N.C. Handy, Development
and Assessment of New Exchange-correlation Functionals, J. Chem. Phys.
109, 6264(1998)].
Correlation Functionals
VWN#5
The VWN correlatiooin potential developed by Vosko, Wilk, and
Nusair is an LDA functional and one of the first relatively accurate
LDA correlation functionals. The VWN authors defined a number
of related potentials and recommended the #5 potential which is
the one implimented in HyperChem. The program from Gaussian
Inc. originally implimented a VWN functional, but not the #5. The
VWN functional has a relatively complicate form with many
parameters, the Random Phase Approximation, Pade Approxi-
mants, etc. and has little resonance with normal quantum chem-
istry. The authors used the Monte Carlo results of Ceperley and
Alder on the correlation energy of the uniform electron gas to
extract an analytical form for the correlation functional. The
details are described in the paper:
Perdew-Zunger-81
Perdew and Zunger have also developed an LDA functional for the
correlation energy by fitting to the same numerical Monte Carlo
results of Ceperley and Alder. Their functional form is somewhat
simpler than VWN but yields similar rersults. This Perdew-Zunger-
81 LDA functional is sometimes used as the leading term in other
GGA correlation potentials if it is not often used in isolation.
The fundamental reference for the Perdew-Zunger-81 functional
is:
[J.P. Perdew and A. Zunger, Self-Interaction Correction to Density-Func-
tional Approximations for Many-Electron Systems, Phys. Rev. B 23, 5048
(1981)].
Perdew-86
One of the first gradient-corrected correlation functionals was this
one developed by John Perdew, also going under the name of
GGA-I when combined with a gradient-corrected exchange func-
tional developed by Perdew and Wang [J.P. Perdew and Y. Wang,
Accurate and Simple Density Functional for the Electronic
Exchange Energy: Generalized Gradient Approximation, Phys.
Rev. B 33, 8800 (1986)]. This exchange functional and GGA-I are
not available in HyperChem although the correlation part of GGA-
I, i.e. Perdew-86 is.
The basis reference for the HyperChem implimentation of this gra-
dient-corrected functional is:
[J.P. Perdew, Density-Functional Approximation for the Correlation Energy
of the Inhomogeneous Electron Gas, Phys. Rev. B 33, 8832 (1986)].
LYP
The Lee-Yang-Parr correlation functional is described in the fol-
lowing two references:
[C. Lee, W. Yang, and R.G. Parr, Phys. Rev. 37, 785 (1988) and B. Mie-
hlich, A. Savin, H. Stoll, and H. Preuss, Chem. Phys. Lett. 157, 200
(1989)].
324 Chapter 12
A Set of Functionals
Predew-Wang-91
This correlation functional is part of the GGA-II functional dis-
cussed above. The best source for the implimentation details of
this functional, although originally described by Perdew and
Wang, are in the previously mentioned reference,
[J.P. Perdew, J.A. Chevary, S.H.Vosko, K.A. Jackson, M.R. Pederson,
D.J. Sing, and C. Fiolhais, Atoms, Molecules, solids, and surfaces:
Applications of the generalized gradient approximation for exchange
and correlation, Phys. Rev. B 46, 6671(1992).]
PBE-96
As discussed above for exchange potentials, Perdew, Burke, and
Ernzerhof have simplified the GGA-II functionals (PW-91) both for
exchange (above) and for correlation (here). They eliminated a
number of empirical parameters without sacrificing accuracy,
according to the authors. One believes that the authors now rec-
ommend PBE-96 over PW-91 although HyperChem has both avail-
able for further clarification of the individual advantages.
The fundamental reference is:
[J.P. Perdew, K. Burke, M. Ernzerhof, Generalized Gradient Approxi-
mations Made Simple, Phys. Rev. Lett. 77, 3865 (1996).]
HCTH-98
As discussed for exchange potentials, Handy et. al. have developed
a many-parameter exchange-correlation functional using the ideas
of Becke-97 but without the exact Hartree-Fock exchange compo-
nent. Becke has argued that accurate DFT results require a compo-
nent of Hartree-Fock exchange. It is, however, more convenient
B3-LYP
This functional, defined, by Becke, contains an exchange func-
tional that consists of:
20% - Hartree-Fock Exchange
8% - Slater Exchange
72% - Becke-88 Exchange
plus a correlation functional that consists of:
19% VWN#5 Correlation
81% - LYP Correlation
This unusual combination [A.D. Becke, J. Chem. Phys. 98, 5648
(1993)] was empirically determined by comparing with the results
of very accurate calculations.
B3-PW91
Like B3-LYP, this hybrid functional was detemined empirically by
Becke. The components are identical to B3-LYP except that the Per-
dew-Wang-91 correlation functional replaces the LYP correlation
functional.
326 Chapter 12
Numerical Integration Schemes
EDF1
This functional is a slightly rearranged form of two versions of
Becke-88 (with different b parameters) plus a custom version of the
LYP correlation functional (with different a, b, c, and d parame-
ters). It was optimized for a specific basis set (6-31+G*). It performs
better than Becke88-LYP or B3-LYP for this particular basis set and
a representative set of molecules.
The basis reference is:
[R.D. Adamson. P.M.W. Gill, and J.A. Pople, Empirical Density Function-
als, Chem. Phys. Lett. 284, 6 (1998)].
Becke-97
As discussed in the context of HCTH-98, the Becke-97 functional
is a hybrid functional that looks like HCTH (but with 3 parameters
rather than 5, i.e 5 terms in the powers series for g(x)). It has an
admixture (19.43%) of Hartree-Fock exchange in it, as recom-
mended by Becke. A principal difference between Becke-97 and
HCTH-98 is that HCTH is pure while Becke-97 is a hybrid. The
details of Becke-97 are given in the following reference:
[A.D. Becke, Density-functional Thermochemistry. V. Systematic Optimi-
zation of Exchange-Correlation Functionals, J. Chem. Phys. 107, 8554
(1997)].
∂f
∫ ∂ ρα ϕµ φν dr
Angular Integrations
Many implimentors have used Lebedev grids for the angular inte-
gration and HyperChem does the same. These grids come with dis-
crete numbers of points and HyperChem allows up to 194 Points
in a Lebedev grid.
Radial Integrations
Two versions of radial integrations are offered in HyperChem. The
first is 32 Gauss-Chebyshev points with a substitution to modify
the range from (-1,1) to (0,infinity). The second is an Euler-
MacLaurin set of points as suggested Murray, Handy, and Lam-
ming [Mol.Phys. 78, 997 (1993)]. Unlike Gauss-Chebyshev points
these points come in any specified quantity. HyperChem allows up
to 50 Euler-MacLaurin radial points.
In addition to these generic integration grids, HyperChem offers
the Standard Grid #1 (SG-1) specified by Gill, Johnson, and Pople
[Chem. Phys. Lett. 209, 506 (1993)]. This is essentially 50 radial
Euler-MacLaurin points with the angular Lebedev grid dependent
on the particular value according to an algorithm they give for par-
titioning the radial points. For example, fewer angular points are
needed at small r near the nucleus. The SG-1 grid is built into
HyperChem as a simple standard option without having to specify
the grid further. If one desires to explore other grids one must use
a more regular (m,n) set of m radial points and n angular points.
328 Chapter 12
Numerical Integration Schemes
330 Chapter 12
Chapter 14
Computational Options
331
Single Points on a Potential Energy Surface
∑
1/2
∂E 2 ∂E 2 ∂E 2
----------
( 3N ) –1 - + ----------- + ---------- (175)
∂X ∂Y ∂Z
A A A
A
332 Chapter 13
Local Minima on a Potential Energy Surface
This surface has multiple minima (four) with one global mini-
mum. Starting at a is likely to lead to A, while starting at b could
lead to B or to A depending on the shallowness of B, the step size,
etc. Neither are likely to lead to the global minimum C. This gen-
eral issue of optimizers leading to local minima rather than global
minima is inherent in most procedures. The amount of effort to
insure that a minimum is a global minimum is impractical in most
problems with many degrees of freedom.
334 Chapter 13
Local Minima on a Potential Energy Surface
Optimization Methods
Unconstrained optimization methods [W. H. Press, et. al., Numeri-
cal Recipes: The Art of Scientific Computing, Cambridge University
Press, 1986, Chapter 10] can use values of only the objective func-
tion, or of first derivatives of the objective function, second deriv-
atives of the objective function, etc. HyperChem uses first deriva-
tive information and, in the Block Diagonal Newton-Raphson
case, second derivatives for one atom at a time. HyperChem does
not use optimizers that compute the full set of second derivatives
(the Hessian) because it is impractical to store the Hessian for mac-
romolecules with thousands of atoms. A future release may make
explicit-Hessian methods available for smaller molecules but at
this release only methods that store the first derivative informa-
tion, or the second derivatives of a single atom, are used.
Steepest Descent
Steepest Descent is the simplest method of optimization. The
direction of steepest descent, g, is just the negative of the gradient
vector:
∂E ∂E ∂E ∂E ∂E
g = – ∇ E = – ----------, ----------, ---------, ----------, ----------, … (176)
∂X ∂Y ∂Z ∂X ∂Y
1 1 1 2 2
g
x i + 1 = x i + λ i ------i- (177)
gi
where the step size λ is increased by a factor of 1.2 for the next step
i
if the energy at x is lower than at x , or decreased by a half if
i+1 i
the energy has risen.
The steepest descent by steps method may provide a reasonably
good method to begin an optimization when the starting point is
far from the minimum. However, it converges slowly near the
minimum and it is principally recommended only to initiate opti-
mization when the starting point is particularly bad.
The principal difficulty with steepest descent is that the successive
directions of search, g , g , ... are not conjugate directions.
i i+1
Searching along the successive directions of steepest descent
might, for example, keep skipping back and forth across a long nar-
row valley. A conjugate direction would be along the long narrow
valley. Conjugate gradient methods are a considerable improve-
ment over steepest descent methods and involve search down con-
jugate directions rather than steepest descent directions.
336 Chapter 13
Local Minima on a Potential Energy Surface
minimum of the cubic polynomial fit to the energy and its direc-
tional derivative at the bracketing points.
If a surface is quadratic it can be characterized by its Hessian matrix
A of second derivatives of the energy with respect to the Cartesian
2
coordinates of the atoms A, B, ..., i.e. A = ∂ E/∂X ∂Y , etc. The
ij A B
conjugate directions are defined as a set of 3N search directions
having the property that for a quadratic surface a successive search
down 3N conjugate directions leads to the exact minimum. The
conjugate directions are defined by:
hi • A • hj = 0 (178)
Fletcher-Reeves
This procedure computes the coefficient g as:
i+1
gi + 1 • gi + 1
γ i + 1 = ----------------------------
- (179)
gi • gi
Polak-Ribiere
This procedure computes the coefficient g as:
i+1
( gi + 1 –gi ) • gi + 1
γ i + 1 = -----------------------------------------
- (180)
gi • gi
Newton-Raphson Methods
The full Newton-Raphson method computes the full Hessian A of
second derivatives and then computes a new guess at the 3N coor-
dinate vector x, according to
xi + 1 = x i + A –1 • gi (181)
338 Chapter 13
Transition Structures on a Potential Energy Surface
340 Chapter 13
Transition Structures on a Potential Energy Surface
342 Chapter 13
Molecular Dynamics on a Potential Energy Surface
Temperature
Classical mechanics involves studying motion (trajectories) on the
potential surface where the classical kinetic energy equates to the
temperature. The relationship is that the average kinetic energy of
-1 2 2 2
the N atoms, 1/2 N Σ m ( v +v +v ) is equated to
A A xA yA zA
3
/2 kT, where m is the mass of the Ath atom, v is the x-compo-
A xA
nent of the velocity of the Ath atom, k is the Boltzmann constant
and T is the temperature. When the number of degrees of freedom
in the microscopic system is small, the relationship between the
average velocity and the macroscopic temperature may be dubious
unless many different configurations of the microscopic system
are considered. For example, to study a reaction at a specific tem-
perature requires using a Boltzmann distribution of initial condi-
tions for the reacting (or non-reacting) trajectory.
Statistical Averaging
Statistical mechanics states that the macroscopic values of certain
quantities, like the energy, can be obtained by ensemble averaging
over a very large number of possible states of the microscopic sys-
tem. In many realms of chemistry, these statistical averages are
what computational chemistry requires for a direct comparison
with experiment. A fundamental principle of statistical mechan-
ics, the Ergodic Hypothesis, states that it is possible to replace an
ensemble average by a time average over the trajectory of the
microscopic system. Molecular dynamics thus allows you to com-
pute a time average over a trajectory that, in principle, represents
a macroscopic average value. These time averages are fundamental
to the use of molecular dynamics.
Background
This section describes a minimal theoretical background so you
can understand the process of creating a classical molecular
dynamics trajectory and use it to obtain a visual or statistical
result.
a xA = dv xA ⁄ dt = ( m A ) – 1 F xA = ( m A ) –1 ∂E ⁄ ∂X A (182)
Leap-frog Algorithm
The leap-frog algorithm uses the simplest central difference for-
mula for a derivative
df f ( t + ∆t ) – f ( t – ∆t )
----- = ----------------------------------------------- (183)
dt 2∆t
x 1 = x 0 + v 1 ⁄ 2 ∆t (185)
v 3 ⁄ 2 = v 1 ⁄ 2 + a 1 ∆t (186)
x 2 = x 1 + v 3 ⁄ 2 ∆t (187)
344 Chapter 13
Molecular Dynamics on a Potential Energy Surface
∑ xi
1
〈 x〉 = ---- (188)
N
i=1
D x = [ 〈 x 2〉 – 〈 x〉 2] 1 / 2 (189)
• Heating
• Running
• Cooling
346 Chapter 13
Molecular Dynamics on a Potential Energy Surface
t ∆T
P h = ----h- × --------------------- (190)
∆t T 2 – T 1
the temperature step ∆T. The cooling period for rescaling the veloc-
ities, P , is defined by:
c
t ∆T
P c = ----c- × --------------------- (192)
∆t T 2 – T 3
Equilibration at a Temperature T
When using molecular dynamics to study equilibrium properties
like enthalpy (the average energy), etc., you want the average over
a trajectory to be equivalent to an ensemble average. This means
the system must be in equilibrium; the initial conditions have
been forgotten and you are sampling from a set of phase space con-
figurations representative of the macroscopic equilibrium state.
You should not begin sampling for the purpose of collecting statis-
tical averages until this equilibration is performed. The lack of any
long term drift is one indication of possible equilibration. To
achieve equilibration to a temperature T, it may be necessary to
rescale velocities through the use of the constant temperature bath
348 Chapter 13
Molecular Dynamics on a Potential Energy Surface
Collecting Data
Subsequent to equilibration, averages over the trajectory can be
accumulated to describe statistical mechanical properties. For
example, to calculate an average bond length, the bond should
first be selected, prior to collecting molecular dynamics data or
playing back snapshots, and made a named selection with the
Select/Name Selection menu item. Then, the named selection
should be placed in the Average only or Avg. & graph column of
the Molecular Dynamics Averages dialog box invoked by the Aver-
ages button of the Molecular Dynamics Options dialog box. A
molecular dynamics simulation will then average the bond length.
The average may be viewed after the sampling by re-opening the
Molecular Dynamics Averages dialog box and selecting the desired
property, so that it is outlined, in the Average only or Avg. & graph
column. If a graph was requested, the average appearing here is
equivalent to the average over the simulation or playback period.
In deciding the convergence of these averages, the RMS deviation
of a value from its average (i.e., Dx) may be a very useful indicator.
dT ( Td – T )
------- = -------------------
- (193)
dt τ
Td
----------------- ∆t
v′ i + 1 ⁄ 2 = – 1 × ----- + 1 × v i + 1 ⁄ 2 (194)
T τ
i+1⁄2
350 Chapter 13
Molecular Dynamics on a Potential Energy Surface
∫
〈 x〉 = --- V ( r )
x ( r )exp – -----------
1
- dr (195)
Z kT
N N
∑ ∑ x ( r i, t i )
1 1
〈 x〉 = ---- x i = ---- (196)
N N
i=1 i=1
352 Chapter 13
Molecular Dynamics on a Potential Energy Surface
Quantities, which are selected from the Averages Only column and
added to the Avg. & graph column, will be written out and aver-
aged, as described above, but will also be plotted on the molecular
dynamics graph. To inspect the computed average value, select the
quantity so that the outline appears around it and the average is
displayed beside Value.
HyperChem allows the computation and display of the potential
energy (EPOT), the kinetic energy (EKIN), or the total energy ETOT
= EPOT + EKIN. The temperature (TEMP) can also be chosen for
averaging or plotting but is simply related to EKIN by EKIN = 3/2
Nk TEMP.
For free dynamics where the constant temperature check box in
the Molecular Dynamics dialog box is not checked, the total
energy ETOT should remain constant. A fluctuation of the total
4
energy about its average value of about 1 part in 10 is normally
considered acceptable. A larger fluctuation, or a drift in the total
energy, is symptomatic of an unphysical phase space trajectory,
and generally indicates that the time step is too large. In free
dynamics, however, the individual kinetic and potential energy
contributions to this total energy will fluctuate.
For constant temperature dynamics where the constant tempera-
ture check box in the Molecular Dynamics Options dialog box is
checked, the energy will not remain constant but will fluctuate as
energy is exchanged with the bath. The temperature, depending
on the value set for the relaxation constant, will approach con-
stancy.
In addition to the energy quantities EKIN, etc., it is possible to
average and plot their standard deviations D EKIN, etc. as
described below.
Dx = [ 〈 x 2〉 i – 〈 x〉 i2 ] 1 / 2 (197)
∑ xj
1
〈 x〉 i = --- (198)
i
j=1
The single average value that is reported for this quantity in the
Molecular Dynamics averages dialog box is the limit reached by
the plotted values at i=N, i.e. the RMS value of x:
[ 〈 x 2〉 – 〈 x〉 2 ] 1 / 2 = 〈 ( x – 〈 x〉 ) 2〉 = lim Dx (199)
i→N
354 Chapter 13
Molecular Dynamics on a Potential Energy Surface
356 Chapter 13
Molecular Dynamics on a Potential Energy Surface
tural changes, etc. If you request frequent display of the time steps
of a trajectory, the playback speed is limited by the display update
time rather than disk speed.
358 Chapter 13
Molecular Dynamics on a Potential Energy Surface
as its atomic information is not altered. You need not decide what
structural features you are interested in at the time of creation of
the trajectory; you could, for example, name a new torsion angle
and average that torsion angle only at playback time, with no need
for the torsion to be defined before the snapshot creation.
To playback a trajectory rather than create one, you simply check
the playback check box in the Molecular Dynamics Options dialog
box. The check box is not available if no SNP file exists (all options
of the dialog box that are not relevant to playback are also grayed
and show the parameters used in the original creation of the snap-
shot). Clicking on the Snapshots button brings up a dialog box to
set parameters for the playback. In all other regards the molecular
dynamics run from playback is identical to a real-time run. Aver-
aging, graphing and visualization of the evolving molecular sys-
tem can be performed in the same way at playback time as at cre-
ation time. Real-time interactive exploration at the creation of a
trajectory is appropriate when the trajectory is computed quickly.
Exploration at playback time is appropriate when the trajectory is
computed slowly instead.
Simulated Annealing
The basic concept of simulated annealing is to use the temperature
and kinetic energy to get over energy barriers between a particular
region with a local minimum and a generally lower energy region
where the global minimum might exist. The pragmatic procedure
involves heating the system to an artificially high temperature, let-
ting molecular dynamics move the system to a more favorable
potential energy region, and then letting the system gradually cool
down to seek out the lowest energy without getting stuck in shal-
low local minima. Simulated annealing is described more exten-
sively in the Practical Guide.
360 Chapter 13
Molecular Dynamics on a Potential Energy Surface
Trajectory Analysis
The F + H — H —> F—H + H reaction is a common example of a
reaction easily studied by classical trajectory analysis. The poten-
tial surface we are interested in is that for FH . This potential sur-
2
face may have many extrema. One of them corresponds to an iso-
lated Fluorine atom and a stable H molecule; these are the reac-
2
tants. Another extremum of the surface corresponds to an isolated
hydrogen atom and the stable H-F molecule; these are the prod-
ucts. Depending on how the potential surface was obtained there
may or may not be an extremum corresponding to stable H F, but
2
at the least you would expect an extremum corresponding to the
transition state of the reaction being considered.
The reaction in question can be studied by exploring molecular
dynamics on the potential energy surface paying particular atten-
tion to trajectories that lead from a region of the potential surface
characterizing reactants to a region of the potential surface charac-
terizing products. In the simplest scenario you start with H2 and
an isolated F atom but then shoot the F atom at the H2 and watch
the molecular dynamics trajectory to see what happens. If the tra-
jectory leads to a region of the potential surface representing prod-
ucts, a score for reaction is tallied. If the trajectory terminates in a
region of the potential surface that still corresponds to F + H2, then
a score for non-reaction is tallied. By giving the F atom a distribu-
tion of initial positions, velocities, and directions corresponding to
experimental conditions, and performing the experiment over
and over again, you can calculate the probability that the end
result of a trajectory is react over non-react, and hence calculate a
reaction rate constant. HyperChem includes no particular facilities
for setting up these Boltzmann distributions of initial conditions
but does allow the exploration of any one particular initial condi-
Temperature Considerations
A trajectory analysis of a chemical reaction is less ambiguous if free
dynamics is used and constant temperature algorithm is turned
off. If Restart is correctly checked, then the temperature setting in
the Molecular Dynamics Options dialog box becomes irrelevant. It
is used only to determine an initial set of velocities when free
dynamics is used. If the velocities come from the HIN file instead
362 Chapter 13
UV Visible Spectroscopy
RHF/UHF Considerations
As discussed earlier, the RHF scheme may not be appropriate to the
situation where open shells are present or bonds are breaking. In
this case, a UHF scheme may be the only sensible computational
approach. This becomes particularly relevant here in conjunction
with chemical reactions where we need to correctly describe
molecular dissociation. This can be easily illustrated with the H
2
molecule. At equilibrium distances the UHF and RHF methods give
the same answer; the UHF different-orbitals-for-different-spins
solution degenerates into the RHF solution. However, at long bond
lengths a branch point occurs and the UHF becomes a lower
energy solution. As dissociation occurs, the UHF solution con-
verges to a correct description of two isolated H atoms whereas the
RHF solution goes to the wrong limit, indicative that a closed shell
is an improper description of isolated hydrogen atoms. Thus, if the
whole potential surface is to be described correctly, a UHF solution
must be used. HyperChem cannot detect that the UHF solution is
now lower in energy than the RHF solution and switch to the UHF
solution; the UHF solution must be used throughout. HyperChem
kicks the UHF solution off the metastable RHF initial guess and is
always able to obtain the UHF solution (when it is lower than the
RHF one) although, in principle, the RHF solution is also a solution
to the UHF equations.
UV Visible Spectroscopy
In HyperChem, you can now compute the energy difference
between the ground electronic state and the first few excited elec-
tronic states of a molecular system by using the ab initio method
Ef – Ei
ν = ---------------
- (200)
h
and the oscillator strength is given by
8π 2 m 2
f i → f = -------------- ( E f – E i ) d fi (201)
3e h 2 2
for the transition i __> f, where i is the initial state and f is the final
state and dfi is the transition dipole moment, and h is the Planck
constant. Here only the dipole moment transition is considered
and all the higher orders of transitions are ignored because of the
small probability of the higher order transitions. The oscillator
strength is a dimensionless value.
The energies, Ei and Ef, of the initial and final states of transitions
in equations (178) and (179) are determined by the CI eigenvalues
and the transition dipole moment dfi is obtained by using the CI
eigenvectors, that is,
d fi = 〈Φ f| ∑k rk |Φi〉 (202)
364 Chapter 13
Vibrational Analysis and IR Spectroscopy
Vibrational Calculation
You can now use HyperChem to calculate vibration using ab initio
methods and any of the semi-empirical methods except for
Extended Hückel.
E
energy
first-excited
vibrational state
excitation energy
ground vibrational state
3N 2
dq
∑ d t i
1
T = --- (204)
2
i=1
3N 3N 3N 2
∂U q + 1--- ∂ U
U = Ue + ∑ ∂ q e i 2
i
∑∑ qi qj + …
∂ q i ∂q j e
(206)
i=l i =1 j = 1
∂U = 0 (207)
∂q
i e
366 Chapter 13
Vibrational Analysis and IR Spectroscopy
3N
U = Ue + ∑ uijqi qj (208)
i=l
2
∂ U
u ij = (209)
∂ q i ∂q j e
The classical-mechanical problem for the vibrational motion may
now be solved using Newton's second law. The force on the x com-
ponent of the ith atom is
2
d xi ∂U
F i, x = m = – (210)
dt
2 ∂ xi
3N
∂U
∂ qi
= ∑ uijqj (212)
j=1
2 3N
d qi
dt
2
+ ∑ uijqj = 0 (213)
j=1
for i = 1, 2, ..., 3N, where λ and b are constants. Then the matrix
form of equation (213) is
UL = L Λ (215)
where matrix U is the mass-weighted Hessian with matrix element
uij defined in equation (209), L and Λ are eigenvectors and eigen-
values, respectively.
The eigenvalues and eigenvectors of the mass-weighted force
matrix can be obtained by diagonalizing equation (215). Then
each eigenvalue corresponds to its normal coordinates, Qk
3N
Qk = ∑ lki qi (216)
i=1
3N
qi = ∑ lki Qk (217)
k
2
d Qk
+ λk Qk = 0 (218)
2
dt
with k = 1, 2, ..., 3N. The general solutions of these equations are
1⁄2
Q k = B k sin ( λ k t + β k ) (219)
368 Chapter 13
Vibrational Analysis and IR Spectroscopy
1⁄2
λi
υ = ----------
- (220)
2π
Notice that although the energies and forces are evaluated quan-
tum mechanically in HyperChem, the vibrational analysis has
been purely classical.
Infrared Absorption
The mechanism of infrared (IR) light absorption is conceptually
similar to that of UV visible light absorption. In both cases, the
oscillating electric dipole of the light beam induces a mirror image
oscillating electric dipole in the molecule (transition dipole).
Energy (photons) may be exchanged between the molecule and
the light beam if the frequency of the light closely corresponds to
an energy gap between levels of the molecule.
The connection between transition energy ∆E and frequency ν is
given by Einstein’s classic formula
∆E = hν (221)
15
where h is the Planck constant. UV visible frequencies (~10
cycles per second) correspond to gaps between different electronic
energy levels, whereas IR frequencies (~1012 cycles per second) cor-
respond to gaps between vibrational energy levels. Thus, each line
in a UV-visible spectrum corresponds to an excitation of electrons
from one electronic state to another. Analogously, each line in an
IR spectrum represents an excitation of nuclei from one vibra-
tional state to another.
The frequency of electronic motion in a molecule (classically
speaking, the number of orbits per second) is similar to that of UV-
visible light, and the frequency of vibrational motion is similar to
that of IR light. When IR light passes through a molecule, the elec-
trons see an essentially constant electric field rather than an oscil-
lating dipole. Similarly, when UV-visible light passes through a
molecule, the nuclei see an essentially constant electric field rather
than an oscillating dipole. In both cases, no mechanism exists for
the absorption of light due to the frequency mismatch between
the light and the molecule. In other words, IR light cannot polarize
electrons and UV-visible light cannot polarize nuclei.
When IR radiation passes through a molecule, the nuclei move so
as to create a molecular dipole that is synchronized with that of
(223)
∫ Ψf
vib vib
〈 µ fi〉 = ( dµ ⁄ dq )qΨ i dq
(224)
∫
vib vib
〈 µ fi〉 = ( dµ ⁄ dq ) Ψ f qΨ i dq
1 I 0
A k = --------
CL ∫ ln ---I- dυ
band
(225)
370 Chapter 13
Vibrational Analysis and IR Spectroscopy
πN A g k ∂µ 2
A k = ----------------
- (226)
3000c ∂ Q k
2
1 I 0
A k = --------
CL ∫ log ---I- dυ
band
(227)
So, the integrated infrared band intensity for the kth fundamental
is defined as
πN A g k 2
- ∂µ
A k = --------------------------------- (228)
2 ∂Q
3000 ln ( 10 )c k
372 Chapter 13
Acknowledgments
Hypercube would like to thank the following authors for contributing significant portions
of this text:
373
374
HyperChem® Release 7.0
for Windows
Reference Manual
Hypercube, Inc.
Publication HC70-00-02-00 January 2002
Copyright © 2002 Hypercube, Inc.
All rights reserved
The contents of this manual and the associated software are the property of Hypercube, Inc. and are copyrighted. This
publication, or parts thereof, may not be reproduced in any form, by any method, for any purpose.
HYPERCUBE, INC. PROVIDES MATERIALS “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL HYPERCUBE, INC. BE
LIABLE TO ANYONE FOR SPECIAL, COLLATERAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES IN
CONNECTION WITH OR ARISING OUT OF PURCHASE OR USE OF THESE MATERIALS, EVEN IF HYPERCUBE, INC.
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES ARISING FROM ANY DEFECT OR ERROR IN THESE
MATERIALS. THE SOLE AND EXCLUSIVE LIABILITY TO HYPERCUBE, INC., REGARDLESS OF THE FORM OF
ACTION, SHALL NOT EXCEED THE PURCHASE PRICE OF THE MATERIALS DESCRIBED HEREIN.
Hypercube, Inc. reserves the right to revise and improve its products as it sees fit.
Hypercube Trademarks
All other brand and product names are trademarks or registered trademarks of their respective holders.
PRINTED IN USA
Table of Contents
Chapter 1 Introduction 1
What is HyperChem? . . . . . . . . . . . . . . . . . 1
Calculation Methods . . . . . . . . . . . . . . 3
Starting HyperChem . . . . . . . . . . . . . . . . . 3
HyperChem for Windows . . . . . . . . . . . . . . . . 4
Using Multiple Windows . . . . . . . . . . . . . 6
Using the Mouse . . . . . . . . . . . . . . . . . . 7
Using Keyboard Alternatives for Windows . . . . . . . . . . 9
Using Keyboard Alternatives for HyperChem . . . . . . . . . 10
HyperChem Menus . . . . . . . . . . . . . . . . . . 12
Gray Menu Items . . . . . . . . . . . . . . . 13
HyperChem Dialog Boxes . . . . . . . . . . . . . . . . 13
Persistent Dialog Boxes . . . . . . . . . . . . . . 14
Working in Dialog Boxes . . . . . . . . . . . . . 14
Editing Text . . . . . . . . . . . . . . . . . 14
Editing Keys . . . . . . . . . . . . . . 15
Case Preferences . . . . . . . . . . . . . 15
Entering Exponents . . . . . . . . . . . . 15
iv Table of Contents
Creating a Symbol . . . . . . . . . . . . . . . 54
Selecting Annotations . . . . . . . . . . . . . . 56
Moving Annotations . . . . . . . . . . . . . . 57
Editing Annotations. . . . . . . . . . . . . . . 57
Multiline Text. . . . . . . . . . . . . . . . . 58
Ordering within Annotation Layer . . . . . . . . . . 59
Ordering the Annotation Layer . . . . . . . . . . . 59
Hiding the Annotation Layer . . . . . . . . . . . . 60
Chapter 4 Annotations 61
Definition. . . . . . . . . . . . . . . . . . . . . 61
Types of Annotations . . . . . . . . . . . . . . . . . 61
Text . . . . . . . . . . . . . . . . . . . . 62
Lines . . . . . . . . . . . . . . . . . . . 62
Ellipses . . . . . . . . . . . . . . . . . . . 62
Rectangles . . . . . . . . . . . . . . . . . . 63
An Example . . . . . . . . . . . . . . . . . . . . 63
The Annotation Layer . . . . . . . . . . . . . . . . . 64
Transparency in Printing . . . . . . . . . . . . . . . . 65
The Annotation Interface . . . . . . . . . . . . . . . . 65
. . . . . . . . . . . . . . . . . . . . . . . . 66
Text Annotations . . . . . . . . . . . . . . . . . . 66
Annotations as Text . . . . . . . . . . . . . . . 66
Symbols are Text in a Symbol Font . . . . . . . . . . 67
Creating a Simple Text Annotation . . . . . . . . . . 68
Creating a Symbol . . . . . . . . . . . . . . . 68
Selecting Text Annotations . . . . . . . . . . . . 70
Moving Text Annotations . . . . . . . . . . . . . 71
Editing Text Annotations . . . . . . . . . . . . . 71
Multiline Text. . . . . . . . . . . . . . . . . 72
Line, Ellipse, and Rectangle Annotations . . . . . . . . . . . 73
Options. . . . . . . . . . . . . . . . . . . 74
Ordering Annotations within the Annotation Layer . . . . . . . 75
Ordering the Annotation Layer . . . . . . . . . . . . . . 75
Hiding the Annotation Layer. . . . . . . . . . . . . . . 76
Table of Contents v
Open File Dialog Box . . . . . . . . . . . . 79
Reading Non-standard PDB Files . . . . . . . . 81
Reading ChemDraw Files . . . . . . . . . . . 81
Using the Z-Matrix File Filter . . . . . . . . . 81
Merge . . . . . . . . . . . . . . . . . . . 82
Save . . . . . . . . . . . . . . . . . . . . 82
Save As . . . . . . . . . . . . . . . . . . . 83
Save File Dialog Box . . . . . . . . . . . . 83
Editing Comments . . . . . . . . . . . . . 85
Save As HTML... . . . . . . . . . . . . . . . . 86
Content of HTML Page . . . . . . . . . . . 86
Option Details . . . . . . . . . . . . . . 88
Sample HTML Page . . . . . . . . . . . . 89
Start Log . . . . . . . . . . . . . . . . . . . . 90
Open Log Dialog Box . . . . . . . . . . . . 90
Stop Log . . . . . . . . . . . . . . . . . . . 91
Log Comments . . . . . . . . . . . . . . . . 91
Import . . . . . . . . . . . . . . . . . . . . . 92
Export . . . . . . . . . . . . . . . . . . . . . 93
Print . . . . . . . . . . . . . . . . . . . . 94
General tips for printing or copying images . . . . . 94
Preferences . . . . . . . . . . . . . . . . . . 95
Preferences Property Sheet . . . . . . . . . . 95
Window Color . . . . . . . . . . . 95
Bond Color . . . . . . . . . . . . 96
Selection Color . . . . . . . . . . . 96
Tool. . . . . . . . . . . . . . . 97
Key . . . . . . . . . . . . . . . 98
Setup Image . . . . . . . . . . . . 99
Isosurface Colors . . . . . . . . . 102
Paths . . . . . . . . . . . . . 103
Network License . . . . . . . . . . 104
Using Black-and-white Output . . . . . . . . 105
Exit . . . . . . . . . . . . . . . . . . . . . . . 105
Script Menu . . . . . . . . . . . . . . . . . . . 105
Open Script . . . . . . . . . . . . . . . . 106
Script One . . . Script Ten . . . . . . . . . . . . 106
Script Editor. . . . . . . . . . . . . . . . . 107
Overview . . . . . . . . . . . . . . . 107
Tutorials . . . . . . . . . . . . . . . 108
1. Entering Commands In The Script Editor . 108
2. Using The Paste Message Dialog Box . . 109
3. Requesting Information From HyperChem 109
vi Table of Contents
4. Working With The Message List . . . . 110
Working With Files . . . . . . . . . 111
Reference . . . . . . . . . . . . . . . 112
Main Window . . . . . . . . . . . 112
File Menu . . . . . . . . . . . . 112
Edit Menu . . . . . . . . . . . . 113
Options Menu . . . . . . . . . . . 113
Cancel Menu . . . . . . . . . . . 113
Help Menu . . . . . . . . . . . . 113
Paste Message Dialog Box . . . . . . . 114
Values Dialog Box . . . . . . . . . . 114
Help Menu . . . . . . . . . . . . . . . . . . . . 115
About HyperChem . . . . . . . . . . . . . . . 116
Table of Contents ix
Inserting A Residue Sequence . . . . . . . . 199
Invoke Database . . . . . . . . . . . . . . . 199
x Table of Contents
Select All . . . . . . . . . . . . . . . . . . 231
Complement Selection . . . . . . . . . . . . . . 232
Select . . . . . . . . . . . . . . . . . . . 232
Select Dialog Box . . . . . . . . . . . . . 233
Selecting by String . . . . . . . . . . . . 236
Selecting by Number . . . . . . . . . . . . 236
Numbering . . . . . . . . . . . . . . 237
Name Selection . . . . . . . . . . . . . . . . 237
Name Selection Dialog Box. . . . . . . . . . 238
Naming Selections . . . . . . . . . . . . 240
Using Named Selections. . . . . . . . . . . 240
Using Named Selections for Restraints . . . 241
Using Named Selections in MD Calculations . 241
Name Molecule . . . . . . . . . . . . . . . . 242
Name Molecule Dialog Box. . . . . . . . . . 242
Extend Ring . . . . . . . . . . . . . . . . . 242
Extend Side Chain . . . . . . . . . . . . . . . 243
Extend to sp3 . . . . . . . . . . . . . . . . 244
Select Backbone . . . . . . . . . . . . . . . . 245
Display Menu . . . . . . . . . . . . . . . . . . . 248
Scale to Fit . . . . . . . . . . . . . . . . . . 250
Overlay . . . . . . . . . . . . . . . . . . . 251
RMS Fit . . . . . . . . . . . . . . . . . . . 252
Overview . . . . . . . . . . . . . . . 252
Tutorials. . . . . . . . . . . . . . . . 252
1. Overlaying Two Structures Of The Same Molecule . 252
2. Overlaying Selected Atoms Only . . . . . . . 253
Reference . . . . . . . . . . . . . . . 254
RMS Fit Options Dialog Box . . . . . . . . . 254
Overlay By Molecule Numbering . . . . . 255
Overlay By Selection Order . . . . . . . 255
Suppressing The Options Dialog Box . . . . 256
Hints . . . . . . . . . . . . . . . . . 256
Show All . . . . . . . . . . . . . . . . . . 258
Show Selection Only . . . . . . . . . . . . . . 258
Hide Selection . . . . . . . . . . . . . . . . 258
Rendering . . . . . . . . . . . . . . . . . . 258
Rendering: Rendering Method. . . . . . . . . 258
Rendering: Sticks . . . . . . . . . . . . . 260
Rendering: Cylinders. . . . . . . . . . . . 262
Rendering: Balls . . . . . . . . . . . . . 263
Rendering: Overlapping Spheres . . . . . . . . 264
Using Stereo . . . . . . . . . . . . . . . . . 268
Table of Contents xi
Walleyed Stereo . . . . . . . . . . . . . 268
Cross-eyed Stereo . . . . . . . . . . . . 269
Last Rendering . . . . . . . . . . . . . . . . 269
Raytracing . . . . . . . . . . . . . . . . . 269
Overview . . . . . . . . . . . . . . . 269
Obtaining a Raytraced Image . . . . . . . . 270
Default Lighting Scheme . . . . . . . 270
Types of Images . . . . . . . . . . 270
Custom Lighting . . . . . . . . . . . . 271
Using POV-Ray . . . . . . . . . . . . . 273
Show Isosurface . . . . . . . . . . . . . . . 274
Isosurface . . . . . . . . . . . . . . . . . . . 274
Show Hydrogens . . . . . . . . . . . . . . . 274
Show Periodic Box. . . . . . . . . . . . . . . 275
Show Multiple Bonds . . . . . . . . . . . . . . 276
Show Hydrogen Bonds . . . . . . . . . . . . . 277
Recompute Hydrogen Bonds . . . . . . . . . . . 278
Show Inertial Axes. . . . . . . . . . . . . . . 279
Show Dipole Moment . . . . . . . . . . . . . 280
Labels. . . . . . . . . . . . . . . . . . . 281
Labels Dialog Box . . . . . . . . . . . . 281
Color . . . . . . . . . . . . . . . . . . . 282
Selection Color Dialog Box . . . . . . . . . 283
Element Color . . . . . . . . . . . . . . . . 284
Element Color Dialog Box . . . . . . . . . 285
Table of Contents xv
Options Menu . . . . . . . . . . 437
Run Menu. . . . . . . . . . . . 438
Cancel Menu . . . . . . . . . . . 439
Help Menu . . . . . . . . . . . 439
Auto Save Option Dialog Box . . . . . 439
Choose Torsions Dialog Box . . . . . . 439
Define Rings Dialog Box . . . . . . . 440
Setup Ranges Dialog Box . . . . . . . 441
Search Method Dialog Box . . . . . . 442
Test Options For Search Dialog Box . . . . 443
Atoms To RMS Compare Dialog Box . . . 446
Optimization Options Dialog Box . . . . 447
Random Number Seed Dialog Box . . . . 448
Limits For Search Dialog Box . . . . . . 449
Files . . . . . . . . . . . . . . . . 449
HCCONF.INI File . . . . . . . . . 449
HCS Files . . . . . . . . . . . . 450
Limitations . . . . . . . . . . . . . . 450
QSAR Properties . . . . . . . . . . . . . . . 450
Overview . . . . . . . . . . . . . . . 450
Tutorials . . . . . . . . . . . . . . . 451
1. Calculating Partial Charges . . . . . 451
2. Calculating Log P . . . . . . . . 452
3. Calculating Surface Areas . . . . . . 452
Background . . . . . . . . . . . . . . 453
Partial Charges . . . . . . . . . . 453
Limitations . . . . . . . . . . . 453
Surface Area (Approx.) . . . . . . . . 455
Surface Area (Grid) . . . . . . . . . 455
Volume . . . . . . . . . . . . 456
Hydration Energy . . . . . . . . . 456
Log P . . . . . . . . . . . . . 456
Refractivity . . . . . . . . . . . 457
Polarizability . . . . . . . . . . . 458
Reference . . . . . . . . . . . . . . . 458
Main Window . . . . . . . . . . 458
File Menu . . . . . . . . . . . . 460
Options Menu . . . . . . . . . . 461
Cancel Menu . . . . . . . . . . . 461
Help Menu . . . . . . . . . . . 461
Calculation Options Dialog Box . . . . . 461
Output Options Dialog Box . . . . . . 462
Results Window Dialog Box . . . . . . 463
xviii
Display Menu . . . . . . . . . . . . . . . . . 536
Databases Menu . . . . . . . . . . . . . . 542
Setup Menu . . . . . . . . . . . . . . . . . 545
Compute Menu . . . . . . . . . . . . . . . . 556
Script Menu . . . . . . . . . . . . . . . . . 568
Cancel . . . . . . . . . . . . . . . . . . . 573
Data Variables. . . . . . . . . . . . . . . . . 573
Help Menu. . . . . . . . . . . . . . . . . . 578
Miscellaneous Commands . . . . . . . . . . . . . 579
Miscellaneous Variables . . . . . . . . . . . . . 580
Cross Reference of HyperChem Messages . . . . . . . . . . . 584
Message Cross-Reference . . . . . . . . . . . . . 584
Scripts . . . . . . . . . . . . . . . . . . . . . . 602
Dynamic Data Exchange (DDE) . . . . . . . . . . . . . . 604
Other Applications to HyperChem . . . . . . . . . . 604
HyperChem to Other Applications . . . . . . . . . . 605
HyperChem and Excel . . . . . . . . . . . . . . . . . 606
xx Table of Contents
MM+ Bond Length Parameter file. . . . . . . . 666
Bond Angle Parameter File (ben) . . . . . . . . . . . 666
MM+ Bond Angle Parameter Files. . . . . . . . 667
Urey-Bradley Bend Parameter File . . . . . . . . . . 668
Torsion Parameter File (tor) . . . . . . . . . . . . 669
MM+ Torsion Angle Parameter Files . . . . . . . 669
Improper Torsion Parameter File (*imp) . . . . . . . . 670
BIO+ Improper Torsion Parameter File . . . . . . 671
Out-of-plane Bending Parameter File (mmpoop) . . . . . . 672
Nonbonded Parameter Files (nbd) . . . . . . . . . . 673
Pair-based Nonbonded Parameter Files . . . . . . 675
Hydrogen Bond Parameter File (am*hbd) . . . . . . . . 677
What is HyperChem?
HyperChem® is a molecular modeling and simulation program
that lets you perform complex chemical calculations.
Use the Glossary at the back of this book to look up terms and con-
cepts you might be unfamiliar with. Use the master index to find
subjects in Getting Started, Computational Chemistry, and the Hyper-
Chem for Windows Reference Manual.
HyperChem includes these functions:
1
What is HyperChem?
Model
Building Model Builder
approximate 3D structures
Calculations
2 Chapter 1
Starting HyperChem
Calculation Methods
HyperChem provides these methods for chemical calculations:
Starting HyperChem
To start HyperChem:
Click on “Start”. Move the mouse pointer across “Programs”,
“HyperChem 7”, and “HyperChem Pro”. If you have moved the
mouse correctly, you can then click on “HyperChem Pro” to start
the program.
click to start
HyperChem program
Introduction 3
HyperChem for Windows
maximize/restore button
Control-menu button title bar minimize button Exit
button
menu bar
workspace
mouse pointer
4 Chapter 1
HyperChem for Windows
Introduction 5
HyperChem for Windows
6 Chapter 1
Using the Mouse
To use the mouse with menus and dialog boxes, follow standard
procedures for Microsoft Windows.
Introduction 7
Using the Mouse
8 Chapter 1
Using Keyboard Alternatives for Windows
[Shift]+L-click Hold down [Shift] while you Use this for chang-
[Shift]+R-click press and release the left or ing chirality (with
right mouse button the Drawing tool) or
stepwise operation
of the HyperChem
tools (see chapter 3,
“Tools”). The left
button moves all
molecules, and the
right button moves
selected molecules
Introduction 9
Using Keyboard Alternatives for HyperChem
10 Chapter 1
Using Keyboard Alternatives for HyperChem
[Ctrl]+[S] Save Presents the Save File dialog box for stor-
ing a molecular system in a file. This
duplicates Save on the File menu.
[Ctrl]+[A] Save As Presents the Save File dialog box for stor-
ing a molecular system in a file. This
duplicates Save As on the File menu.
Introduction 11
HyperChem Menus
HyperChem Menus
You select HyperChem commands and settings from pull-down
menus on the menu bar above the workspace. When you highlight
a menu item, a description of that item and its action appears on
the status line (see “HyperChem for Windows” on page 4).
Use menu items to set HyperChem conditions (like the type of
labels on atoms) and to start HyperChem procedures and calcula-
tions. Menu items work as follows:
• Menu items with ellipsis points, such as Select ... on the Select
menu, open dialog boxes with buttons, text fields, and check
boxes for making choices.
• Some menu items turn on or off (toggle) a condition. Turning
on a menu item places a check mark (✓) to the left of the item.
The condition remains on until you select the same item again
or, in some cases, select an alternative item.
Turning on a menu item can have an immediate effect on a
molecular system. For example, Show Hydrogens on the Dis-
play menu shows hydrogens for the molecules in the work-
space and for all molecules that you later draw. Other items,
such as Explicit Hydrogens on the Build menu, change the way
the Drawing tool works, but do not affect existing molecules.
12 Chapter 1
HyperChem Dialog Boxes
Introduction 13
HyperChem Dialog Boxes
Editing Text
HyperChem dialog boxes contain text boxes for entering text or
numbers. Follow these rules:
14 Chapter 1
HyperChem Dialog Boxes
Editing Keys
You can use these keys for editing:
[Enter] Moves the insertion point to a new line.
[Backspace] Erases the character (or selected text) to the left of
the insertion point.
[Delete][Del] Erases the character (or selected text) to the right of
the insertion point.
[4] [3] Moves the insertion point.
[1] [2]
Case Preferences
For filenames, upper- and lowercase letters are equivalent. For
example, HyperChem recognizes molecule.hin and Molecule.HIN
as the same filename.
Entering Exponents
When entering numbers, use this format for scientific notation
(exponents): Yx10N = YeN.
For example, for 1.05x104, enter 1.05e4. HyperChem warns you
about numbers that are out of range or in the wrong format.
Introduction 15
HyperChem Dialog Boxes
16 Chapter 1
Chapter 2
The Basics of HyperChem
17
Coordinate Systems
Coordinate Systems
HyperChem has two coordinate systems for displaying molecules:
the Viewer's Coordinate System and the Molecular Coordinate Sys-
tem. Each coordinate system has x, y, and z Cartesian axes.
18 Chapter 2
Coordinate Systems
y x
Viewer’s
Coordinate
System
z
y Molecular
Coordinate
System
Each molecular system also has its own internal axes, called iner-
tial axes (primary, secondary, and tertiary). These axes are fixed in
the Molecular Coordinate System.
20 Chapter 2
Inertial Axes
Inertial Axes
For either selected atoms or whole molecular systems, HyperChem
can calculate the moments of inertia and inertial axes. Hyper-
Chem reports the moments of inertia on the status line and dis-
plays the inertial axes as dotted white lines, fixed in the Molecular
Coordinate System. These three moments and axes (primary, sec-
ondary, and tertiary axes) are functions of the location and mass
of atoms. The inertial axes belong to a molecular system and are
independent of the Viewer’s or Molecular Coordinate System.
Turn on Show Axes (✓) on the Display menu to show the inertial
axes. These are orthogonal and are numbered 1, 2, and 3, for pri-
mary, secondary, and tertiary axes respectively. The axes remain in
the workspace until you turn off Show Axes (no check mark).
The primary inertial axis usually marks the longest distance
through a molecular system, and the tertiary axis marks the short-
est distance.
POINT
LINE
PLANE
Constructing a Molecule
This section describes creating a molecule in HyperChem and indi-
cates where you can find more information. You can draw mole-
cules “from scratch” or construct them from residues.
To draw a molecule:
1. Use the Drawing tool to sketch atoms in a molecule and con-
nect them with covalent bonds. (See “Drawing Molecules” on
page 29.)
22 Chapter 2
Constructing a Molecule
24
Constructing a Molecule
27
Drawing Tool
Drawing Tool
With the Drawing tool, you can draw and construct molecules in
two dimensions (2D). You supply information about types of
atoms and their bonding, without concern for accurate geometry.
You can later ask HyperChem to turn the 2D drawing into a 3D
structure. You can then use a geometry optimization calculation
(see “Geometry Optimization” on page 362) to improve the 3D
structure.
You can do the following with the Drawing tool:
28 Chapter 3
Drawing Tool
Drawing Molecules
To draw molecules:
1. L-click on the Drawing icon and move the Drawing tool into
the workspace.
2. To create individual atoms, L-click anywhere in the workspace.
3. To remove an atom, R-click near the atom.
4. To create two singly bonded atoms, L-drag then release the
mouse button.
5. To add another bond and atom, L-click near an atom, L-drag,
and then release the mouse button.
6. To change an element, choose the new element from the Ele-
ment Table dialog box (see page 121), and then L-click on the
atom you want to change.
7. To create a double bond, L-click on a single bond. To create a
triple bond, L-click on a double bond.
8. To create a conjugated bond, double-click on a bond. To create
an aromatic ring, double-click on a bond in the ring.
9. To decrease the order of a bond (conjugated to single; triple to
double; double to single), R-click on it.
10. To remove a single bond and an atom connected only through
that bond, R-click on the bond.
11. To specify the chirality or local conformation of an atom,
[Shift]+L-click on one of its bonds (with sticks and wedges ren-
dering turned on) to specify constraints for the model builder.
You can also [Shift]+L-click on an atom to change the chirality
of that atom after model building.
Tools 29
Selection Tool
Selection Tool
The Selection tool lets you mark atoms or molecules, preparing
them for specific operations or procedures, such as labeling or cal-
culations, for example. The tool may also be used to select some-
thing in the annotation plane when manipulating an annotation
rather than atoms or molecules.
30 Chapter 3
Selection Tool
• Atoms
• Bonds
• Bond angles
• Residues (in proteins or polynucleotides and some water mol-
ecules)
• Backbones (in proteins or polynucleotides)
• Shortest path between atoms, bonds or residues
• Side chains
• Rings
• Groups of atoms
• Several or all molecules in the workspace
You can also use the Selection tool to measure these values:
Tools 31
Selection Tool
Selection Levels
The Selection tool always works at one of these levels of molecular
organization:
Atoms The smallest unit of selection is an atom or bond.
L-clicking an atom selects the atom. L-clicking a
bond selects the two atoms that the bond con-
nects.
Residues The smallest unit of selection is a residue from a
database or, if there are no residues, an atom or
bond.
Molecules The smallest unit of selection is a whole molecule.
These are the first three items on the Select menu. Only one of
these items can be active (✓) at a time. The remaining items on the
Select menu make selection easier. For a complete discussion of
this menu, see page 220.
Selecting
HyperChem provides several ways to select atoms or molecules:
• Use the Selection tool to select atoms, residues, molecules, and
groups of atoms.
• Use the Select menu to select classes of structures and named
structures.
Procedure What to do
32 Chapter 3
Selection Tool
Procedure What to do
Selecting a group LR-drag (hold both mouse buttons, first the left, then
of atoms the right) a selection rectangle around a group of
structures. Release both mouse buttons to select all
atoms that project onto the 2D plane of the screen.
To select all structures in a sphere (3D) instead of a
rectangle (2D), first choose Select Sphere on the
Select menu (✓). Then starting at an atom, LR-drag a
circle to the radius that you want. Release both
mouse buttons to complete the selection. Group
selection works with Multiple Selections either on or
off. For more information, see “Select Sphere and
Group Selecting” on page 227
Selecting back- With Atoms on (✓), L-drag from one atom to a dis-
bone atoms in any tant atom in the same molecule. This selects all
molecule atoms and bonds in the shortest continuous path
connecting these atoms, but not side groups. With
Residues on in the Select menu, this action selects all
residues that the shortest path of bonds pass through
Tools 33
Selection Tool
Procedure What to do
Procedure What to do
Saving and recall- Use Name Selection to name selected atoms and to
ing selections store this selection. HyperChem provides three pre-
defined selection names (POINT, LINE, and PLANE)
that store the selection and add geometric properties
to the selection. You can also store a selection with
any name that you provide (see “Name Selection
Dialog Box” on page 238). Use Select, also on this
menu, to recall a named selection for a molecular
system
34 Chapter 3
Selection Tool
Procedure What to do
Selecting all atoms Choose Extend to sp3 to select all atoms, starting
up to the sp3–sp3 from an existing selection, until all bonds with only
bonds one atom selected are single bonds between sp3
atoms. Use this to prepare a selection for a mixed
mode quantum mechanics calculation
Procedure What to do
Identifying an atom Turn on Atoms (✓) on the Select menu, and then
L-click on an atom. You see the number of the
atom in a molecule, the element name, the PDB
atom name (if available), the atom type (for the
active force field), the atomic charge, and its coor-
dinates in the Molecular Coordinate System
Tools 35
Selection Tool
Procedure What to do
These measurements use the Selection tool with Atoms on (✓) and
Multiple Selections on (✓):
Procedure What to do
Measuring torsion Select three bonds or four atoms that define a tor-
angles sional rotation. Alternatively, select an atom at one
end of the four-atom torsion, and L-drag to the
atom at the other end of the torsion
Measuring distances Select one atom, and then select the second atom.
between atoms The atoms can be in different molecules. Do not
L-drag. Multiple Selections must be on
Selecting Annotations
The selection tool can be used to select annotations as well as
atoms, residues, and molecules. To select an annotation, L-click on
text, a line, an ellipse or a rectangle to give it an outline in the
“Selection Color” previously chosen via File/Preferences. The
36 Chapter 3
XY Rotation Tool
XY Rotation Tool
With the XY rotation tool, you can rotate one or more molecules
around the x or y axis, or around both axes at once.
Tools 37
XY Rotation Tool
38 Chapter 3
Z Rotation Tool
Z Rotation Tool
With the Z rotation tool, you can rotate molecules around the z
axis or rotate a selected side chain around a bond. The side chain
cannot be part of a ring.
Tools 39
XY Translation Tool
counterclockwise clockwise
rotation rotation
XY Translation Tool
The XY translation tool lets you move molecules or selected atoms
along the x and y axes (in the plane of the computer screen).
40 Chapter 3
XY Translation Tool
Box” on page 211). You can also see this dialog box
by choosing Translate on the Edit menu.
Tools 41
XY Translation Tool
X translation
Y translation
Fast Translation
To translate molecules faster, turn on Fast translation in the Tool
Preferences dialog box (see page 95). This choice substitutes a pic-
ture of the molecules, called a bitmap. HyperChem can move a bit-
map faster because it does not need to compute new atomic coor-
dinates for each step in the translation. When you finish translat-
ing and release a mouse button, HyperChem computes the new
atomic coordinates and converts the bitmap back to a normal
molecular rendering.
Translation of Annotations
Provided only annotations are selected the XY Translation tool can
also be used to move annotations around in the workspace. Select
any number of annotations, then L-drag or R-drag the XY Transla-
tion tool in the workspace to move annotations. This is the default
way to position annotations. If any atoms are selected the transla-
tion will apply to them not the selected annotations.
42 Chapter 3
Z Translation Tool
Z Translation Tool
With the Z translation tool, you can move molecules or selected
atoms along the z axis (toward you or away from you). Molecules
appear larger and the degree of perspective increases as they move
closer to you.
Note: Perspective (see “Rendering: Sticks” on page 260) affects Z
translation. With Perspective on, molecules change size. With Per-
spective off, molecules remain the same size, but atoms disappear
from the display as you move them out of the clipping slab (see
page 47).
Tools 43
Z Translation Tool
translate
forward (+Z)
44 Chapter 3
Zoom Tool
Zoom Tool
The Zoom tool lets you change the magnification of the molecular
system. For example, you can magnify large molecules to observe
atomic organization. It can also be used to enlarge or shrink
selected annotations.
Tools 45
Zoom Tool
smaller
larger
Zooming Annotations
Selected annotations can be enlarged or shrunk using the zoom
tool. Just select certain annotations by themselves and then drag
the annotation tool as with selected atoms and molecules.
46 Chapter 3
Z Clipping Tool
Z Clipping Tool
With the Z clipping tool, you can look inside molecules by show-
ing only the atoms within a “slice.” The slice is called the clipping
slab.
The clipping slab is present for every molecular system. The clip-
ping slab has front and back planes that are parallel to each other
and to the plane of the computer screen. Only atoms between the
planes are visible. HyperChem first sets the clipping planes so that
you can see a complete molecular system.
With the Z clipping tool, you can move each clipping plane rela-
tive to the molecular system; the atomic coordinates are fixed. The
status line shows the positions of the front and back clipping
planes as distances, in Ångstroms, from the viewer (along the
Viewer’s z axis). The viewer is at zero relative to the clipping
planes.
The Z clipping tool can show you successive slices through mole-
cules. You can do this two ways:
Tools 47
Z Clipping Tool
move plane
backward
move plane
forward
48 Chapter 3
Keyboard Equivalents for Tools
Tools 49
A
b. Pressing [Ctrl] is like using the right mouse button to move selected atoms.
[Ctrl] modifies the effect of either pressing a key or [Shift] plus a key.
A
Key [Shift]+ Keya [Ctrl]+ [Shift]+ Key
Chapter 3
Tools
HyperChem 6 introduced the concept of annotations. As shown in
the window below, it is now possible to annotate any molecular
system by adding specific pieces of text or “text symbols” to the
window. These text elements are referred to as annotations.
50 Chapter 3
A
Tools 51
A
52 Chapter 3
A
molecular layer
annotation layer
Transparency in Printing
When printing directly from HyperChem, the molecular layer is
only transparent if a sticks rendering is being used. When the
molecular layer is transparent, the annotation layer will show
through as it always does on the screen. However, when directly
printing a solid rendering as illustrated above, the annotation
layer will not appear on the printed output. The reason is that the
printing of any solid rendering is done as a bitmap for the whole
page and obscures any annotations. If a direct printing is to show
the annotations, the annotation layer must be in front (except for
stick-only renderings of molecules).
Tools 53
A
Creating a Symbol
Symbols, although they are just text, are normally created by the
Symbol... menu item. This is because the text corresponding to the
particular symbol required will generally not be known. Symbols
54 Chapter 3
A
are identical to any other text but have an alternative way of cre-
ating them allows you to visually select the symbol. The <Annota-
tions/Symbol...> menu item will bring up a dialog box that looks
as follows:
Tools 55
A
The symbol can then be placed where you like with the size, color,
etc. that you want. To edit symbols they must first be selected.
Selecting Annotations
A selected annotation has a bounding box. Symbols are always ini-
tially selected as shown above. Selecting and deselecting symbols
is done in a manner (almost) identical to the selecting of atoms,
residues, and molecules. Thus, one also uses the selection cursor,
56 Chapter 3
A
Moving Annotations
Annotations can be moved or positioned anywhere in the 2D
workspace. Unlike molecules in the molecular plane, annotations
are strictly two-dimensional. They can only be selected and trans-
lated; they cannot be rotated. They are moved (translated) by
selecting them and then using the translation cursor,
Editing Annotations
To edit an annotation, the Annotations/Edit Text...> menu item is
used. To edit an annotation, only a single annotation (but any
atoms, residues, or molecules) can be selected. If this is not the
case, the <Annotations/Edit Text...> menu item will be grayed.
When the menu item is not grayed then the currently selected
annotation can be edited. Whether it is a simple text annotation
or a symbol does not affect the editing.
Editing is performed in the same way as the text associated with an
Annotation cursor click is first chosen. For symbols, the text that
you see in the dialog box may be somewhat cryptic, i.e. a single,
perhaps unrecognizable character. You should leave the text as it is
if you want one of the selected symbols.
Tools 57
A
Multiline Text
An annotation can consist of many text lines if they are typed into
the dialog box with carriage returns. Clicking on the <Annota-
tions/Edit Text...> menu item allows you to choose whether this
text is left justified or centered in the bounding box.
58 Chapter 3
A
Tools 59
A
There are other times, however, when you may want a backdrop
for molecules and the annotation layer is best put to the back.
60 Chapter 3
Chapter 4
Annotations
Definition
HyperChem contains the concept of an Annotation. An annotation
is text and/or line drawings used to describe or illustrate a molec-
ular system. Annotations are created by drawing tools that are dis-
tinct from the drawing tool use to draw a molecule used in molec-
ular modeling. These annotations are not part of the molecular
system per se, but are contained in a layer or plane that is distinct
from the molecular layer or plane. Thus annotations are com-
pletely disjoint from the molecular system. Annotations, although
they exist in different, non-interacting layer from the molecular
system, can be superimposed with the molecular layer for printing
and presentation purposes.
HyperChem thus contains a primitive but useful drawing program
that is independent of HyperChem’s molecular modeling capabil-
ities. This drawing program creates only annotations. Annotations
have their own records in a molecular HIN file and can thus be
stored in a file system along with (or without) a molecular system.
Types of Annotations
Annotations can be one of 4 types:
• Text
• Line
• Ellipse
• Rectangle
61
Types of Annotations
Text
Lines
Ellipses
62 Chapter 4
An Example
color. Menu items and dialog boxes are available for choosing the
color and fill option for a newly drawn ellipse or an existing one
that is currently selected.
Rectangles
An Example
As shown in the window below, it is possible to annotate any
molecular system by adding specific pieces of text or “text sym-
bols” to the window. These text elements are referred to as text
annotations.
Tools 63
The Annotation Layer
64 Chapter 4
Transparency in Printing
molecular layer
annotation layer
Transparency in Printing
When printing directly from HyperChem, the molecular layer is
only transparent if a sticks rendering is being used. When the
molecular layer is transparent, the annotation layer will show
through as it always does on the screen. However, when directly
printing a solid rendering as illustrated above, the annotation
layer will not appear on the printed output. The reason is that the
printing of any solid rendering is done as a bitmap for the whole
page and obscures any annotations. If a direct printing is to show
the annotations, the annotation layer must be in front (except for
stick-only renderings of molecules).
Tools 65
Annotation Annotation Menu
Toolbar Buttons
Text Annotations
Of the four types of annotations, text annotation behave some-
what differently from the drawing primitives for lines, ellipses,
and rectangles.
Annotations as Text
The “Fluorine Atom” annotation in the example above is text that
uses a font appropriate to ordinary text, in this case the Matisse
ITC font. The arrow, on the other hand is a one-character piece of
text that uses a symbol-like font, in this case the Wingdings font.
All text annotations are just simple text. By using symbol-like
fonts, it is possible to have annotations that include a wide variety
of symbols such as arrows, lines, circles, rectangles, and other clip
art.
66 Chapter 4
Text Annotations
Tools 67
Text Annotations
Creating a Symbol
Symbols, although they are just text, are normally created by the
Symbol... menu item. This is because the text corresponding to the
particular symbol required will generally not be known. Symbols
are identical to any other text but have an alternative way of cre-
ating them allows you to visually select the symbol. The <Annota-
tions/Symbol...> menu item will bring up a dialog box that looks
as follows:
68 Chapter 4
Text Annotations
Tools 69
Text Annotations
The symbol can then be placed where you like with the size, color,
etc. that you want. To edit symbols they must first be selected.
70 Chapter 4
Text Annotations
Tools 71
Text Annotations
Multiline Text
An annotation can consist of many text lines if they are typed into
the dialog box with carriage returns. Clicking on the <Annota-
tions/Edit Text...> menu item allows you to choose whether this
text is left justified or centered in the bounding box.
72 Chapter 4
Line, Ellipse, and Rectangle Annotations
Tools 73
Line, Ellipse, and Rectangle Annotations
Options
Annotations have various options available. A variety of types of
lines can be drawn although only solid lines can be thick. Ellipses
and rectangles can be filled or not.
To make it convenient for lines to join, gravity is an option.
The annotation options dialog box is shown below. The drawing
program in HyperChem is primitive but allows one to quickly pre-
pare appropriate annotations for molecule-oriented transparencies
and slides. For more elegant presentations, bitmaps or line draw-
ings of molecules can be copied from HyperChem into more pro-
fessional drawing programs such as those from Adobe, Corel,
Microsoft, etc.
74 Chapter 4
Ordering Annotations within the Annotation Layer
Tools 75
Hiding the Annotation Layer
76 Chapter 4
Chapter 5
Managing Files
This chapter describes the commands on the File, Script, and Help
menus. It explains opening and saving files, setting up Hyper-
Chem display conditions, running script files to automate Hyper-
Chem functions, and obtaining help while using HyperChem.
For accessing files, HyperChem uses the standard Windows File
dialog boxes. Click on Help in the Start button for information
about specifying drives, directories and files with Windows File
dialog boxes.
File Menu
The File menu contains these file management and utility com-
mands:
Save as HTML... Create dynamic content for the web from Hyper-
Chem.
77
File Menu
Stop Loga Turns off the log for recording calculation results in a
log file
Exit Ends your session with HyperChem. You can also press
[Alt]+[F4]
a. When this item is gray, it is temporarily unavailable. You must change some
condition in HyperChem to make it available. You must start a log before you
can stop it or log comments, and you must stop a log before you can start a
new one.
New
New clears the workspace and prepares HyperChem for creating
new molecules.This option asks if you want to save the molecules
present in the workspace if you made changes to the molecular
system.
Open
Open clears the workspace and lists the molecules stored in files.
The Open File dialog box lets you choose a filename and copy the
molecules from this file to the workspace.
Before you can see the contents of a file, HyperChem asks if you
want to save the molecular system presently in the workspace if
you made changes since last saving it.
78 Chapter 5
File Menu
File Name You can enter the filename, with or without path,
in this text box and L-click on Open. If you choose
a file name from the file list, the name will appear
in this box.
Directories This reports the current directory. The files appear-
ing in the file list are in this directory. The direc-
tory list box can be used to change the current
directory.
Drives This reports the current drive. The files appearing
in the file list are on this drive in the current direc-
tory. The drives list box can be used to change the
current disk drive.
File Type Use this list to choose the file type and the exten-
sion filter for listing file names. The standard file
types that HyperChem can read and write are:
HyperChem Files containing complete information
(*.HIN) about molecules created with HyperChem
(see page 711). These filenames have the
Managing Files 79
File Menu
80 Chapter 5
File Menu
Managing Files 81
File Menu
Merge
Merge adds molecules from a file to the molecular system in the
workspace. Merge is useful for comparing or “docking” molecules.
Docking involves positioning molecules to simulate possible inter-
actions, for example, enzyme-substrate interactions.
The added molecules appear a few Ångstroms away from the exist-
ing molecular system. (You can use a script command to prevent
this movement. See the script command translate-merged-systems.)
When you choose Merge, the Open File dialog box (see page 79)
appears for you to supply the name of a file to merge. HyperChem
retains the first file name as the current file name.
You can repeat Merge, adding several files to the workspace.
Save
Save copies the molecular system from the workspace to a file. If
this is a new file, you enter a filename in the Save File dialog box
that appears (see page 83). If the file already has a name, Save
stores the molecular system in this file without showing you the
Save File dialog box, replacing the last version of the molecular sys-
tem. The filename has a limit of eight characters plus a three-char-
acter extension.
82 Chapter 5
File Menu
Save As
Save As stores the molecular system in a file. This option is the
same as Save, except that the Save File dialog box always appears.
Use Save As to copy a file or to store new versions of a molecular
system in different files.
File Name Enter the path and name of the file in this text box
using any combination of upper- and lowercase
letters. If you choose a file name from the file list,
the name will appear in this box.
Note: You must replace the filename wild card (*)
in the File Name text box.
Directories This reports the current directory. The files appear-
ing in the file list are in this directory. The direc-
tory list box can be used to change the current
directory.
Drives This reports the current drive. The files appearing
in the file list are on this drive in the current direc-
Managing Files 83
File Menu
84 Chapter 5
File Menu
Editing Comments
To add or change text, remember these rules:
• L-click with the text cursor (I-shaped) anywhere in the text to
move the insertion point.
• L-drag the text cursor to select text that you want to delete or
replace.
Managing Files 85
File Menu
Save As HTML...
HyperChem can directly create dynamic content for the web. If
you have created a molecule in HyperChem or calculated molecu-
lar orbitals, vibrational spectra, or electronic spectra, then HTML
files that display dynamic versions of these can be written out for
immediate inclusion into any web site. They are dynamic in that
they are not simply static pictures of molecules, orbitals, etc. but
the molecules can be rotated, the orbitals selected, the vibrational
modes animated, and so on.
The web pages are fully dynamic but require a user to have a free
Netscape plug-in installed on their machine in order to view the
content. This free plug-in is included with HyperChem for distri-
bution to people who wish to view your web pages or it may be
downloaded at no cost from the Hypercube web site,
http://www.hyper.com.
• Structure only
• Orbitals plus Structure
• IR spectra
• UV spectra
86 Chapter 5
File Menu
If you select Structure Only then a web page will be created that dis-
plays a molecule in a variety of selectable renderings such as ball
and cylinder, overlapping spheres, etc. The structure of the mole-
cule can be explored by shift-clicking on the atoms of a bond, tor-
sion, etc. to ask for the value of the bond length, torsion angle, etc.
If the molecule has residue structure, it is also possible to ask to see
the ribbon structure of the backbone. The created dynamic con-
tent uses new DirectX technology to display the molecule, rib-
bons, etc. and the rendering may be rotated, translated, zoomed,
etc. at high speed since they are rendered locally using the plug-in.
Selecting Orbitals plus Structure will create a web page that includes
the ability to select, display, and manipulate all the molecular
orbitals of the molecule.
Selecting IR Spectra will display a plot of the calculated spectra
allowing the user of the browser to pick a peak and enquire about
the frequency and intensity, zoom and pan on the spectra, and dis-
play an envelope representing a chosen line width for the spectra.
Selecting UV Spectra will display these spectra in essentially an
identical fashion to vibrational spectra above but with values
derived from the electronic spectra calculation option of Hyper-
Chem.
Managing Files 87
File Menu
Finally, selecting IR spectra plus Normal Modes will create a web page
with two windows, one showing the spectra and one showing the
molecule. Selecting a peak in the spectra window will animate that
normal mode in the molecule window.
Option Details
Associated with the creation of an HTML page are the details of the
actual renderings requested, e.g. whether a ball and stick rendering
is created or a CPK rendering, etc. This choice is only for the initial
rendering of the HTML page. Since the HTML page is dynamic, the
rendering can be changed by the user of the page; the Details...
button describes the initial state of the page only.
Pushing the Details... button shown above leads to the following
dialog box,
Apart from the animation settings, these choices are easily modi-
fied in the browser using a dialog box that is obtained by double-
clicking with the right mouse button in the client area of the
browser.
The HTML file that is produced can immediately placed on a web
page and makes your HyperChem molecular modeling results
immediately available to anyone on the web, provided they have
installed the WATATL.DLL ActiveX control on their machine plus
the NPHIN32.DLL Netscape plug-in. These controls are included
with your copy of HyperChem and can be freely passed to anyone
88 Chapter 5
File Menu
Managing Files 89
File Menu
Start Log . . .
Start Log stores the results of HyperChem chemical calculations in
a log file. Log files contain comments appearing on the status line
during a calculation, plus starting conditions and additional
results.
When you choose Start Log, enter a log filename in the Start Log
dialog box that appears. You can accept the default filename
(chem.log) or enter another filename, which can have any exten-
sion. If you use an existing filename, HyperChem lets you either
add (append) results to this file or replace the contents of the file.
Using the Start Log dialog box, you can have only one log file
active at a time. The amount of information stored in a log file
depends on the settings used for Mechanics Print Level and Quan-
tum Print Level (see page 631). Allowed values range from 1 to 9.
For more information on using log files see “Storing Results in a
Log File” on page 616 and “Log Files” on page 631.
Note: Start Log is gray and unavailable if HyperChem is already
using a log file.
90 Chapter 5
File Menu
Stop Log
Stop Log turns off the recording of a log file and also adds the date
and time you stopped recording. Use Start Log to begin recording.
To see or print the log contents, you can use Windows Write or
Notepad. Enter the filename (for example, \hyper\chem.log),
L-click OK, and then choose No conversion in the next dialog box
that appears (for Windows Write, only).
For more information on using log files see “Storing Results in a
Log File” on page 616 and “Log Files” on page 631.
Note: Stop Log is gray and unavailable unless HyperChem is
already using a log file.
Log Comments
Use Log Comments to add notes to a log file when a log file is open
and recording results. Use Start Log to begin recording in a log file.
Managing Files 91
File Menu
You see the Log Comments dialog box to enter your comments.
Enter your comments in text box of the Log Comments dialog box
that appears and press OK to save them in the open log file.:
Import . . .
This dialog box allows you to import orbital data that have been
calculated by HyperChem and stored, or have been provided by
other software. The data must be consistent with the structure in
the workspace.
Orbitals If this box is checked (✓) and the data are in the
file, the orbital data are imported.
Dipole If this box is checked (✓) and the data are in the
moment file, the dipole moment vector is imported.
UV spectrum If this box is checked (✓) and the data are in the
file, the UV/visible spectrum is imported.
IR spectrum If this box is checked (✓) and the data are in the
file, the IR spectrum is imported.
OK This opens the Property Import dialog box, which
allows you to specify the file that the data should
be imported from.
92 Chapter 5
File Menu
Export . . .
This dialog box allows you to save orbital data that have been cal-
culated by HyperChem, so that they can be read back in later or
sent to other software. Items in the dialog box are gray and inac-
tive unless the relevant data have been calculated with a semi-
empirical or ab initio calculation (or imported) and are available for
storage.
Orbitals If this box is checked (✓), the orbital data are saved
in a file.
Dipole If this box is checked (✓), the dipole moment vec-
moment tor is saved in a file.
UV spectrum If this box is checked (✓), the UV/visible spectrum
is saved in a file. For information about calculating
a UV/visible spectrum, see “Electronic Spectrum”
on page 411.
IR spectrum If this box is checked (✓), the IR spectrum is saved
in a file. For information about calculating an IR
spectrum, see “Vibrations” on page 385.
Managing Files 93
File Menu
Print
Print reproduces the molecules in the workspace on your printer.
This command displays the standard Windows Print dialog box,
where you can set page orientation and other printer options.
Note: You can speed up printing by choosing Sticks from the Ren-
dering option on the Display menu.
Be sure that your printer is on and ready. HyperChem does not
inform you of printer problems, but relies on Windows to manage
printing.
94 Chapter 5
File Menu
Preferences
Using Preferences, you can set some conditions for using Hyper-
Chem. When you leave HyperChem, it stores your choices in the
Registry or in a file (chem.ini) and uses these settings for your next
session. The settings that will be used when you start HyperChem
will be the same as when you last exited the program, and not
(necessarily) the same as the settings of any other HyperChem
windows you may have open at the same time.
Window Color
Managing Files 95
File Menu
Bond Color
Choose a color for atoms and covalent bonds. The default is By ele-
ment, which colors each element and half bond in a Sticks render-
ing according to the settings in the Element Color dialog box (see
page 284). Bond color does not affect hydrogen bonds, which are
drawn as dotted white lines.
Note: See “Using Black-and-white Output” on page 105 for infor-
mation about working without color.
Selection Color
96 Chapter 5
File Menu
senting selected bonds with heavier lines. Thick line works only for
Sticks renderings.
Note: The Thick line option slows the movements of molecules
(translation and rotation) when you are using HyperChem tools.
Tool
Managing Files 97
File Menu
Key
98 Chapter 5
File Menu
Setup Image
Managing Files 99
File Menu
100 Chapter 5
File Menu
Filename Use this edit field to enter a Filename for any bit-
map file or metafile file that will store a captured
image when the Destination for the capture is File
as described above. The Filename should include a
path but not use an extension, which will be auto-
matically added as .bmp or .wmf. This filename is
programmable via scripts if a sequence of image
captures is required for a movie.
Isosurface Colors
These settings show the colors used for drawing the positive and
negative lobes of isosurfaces. For Gouraud shaded surfaces and
translucent surfaces, these colors are the two endpoints for the
range of colors used for rendering.
102 Chapter 5
File Menu
Paths
These settings show the directories which are used to hold Hyper-
Chem’s files.
Executable This is the directory that stores HyperChem’s exe-
files cutable (program) files.
Parameter This is the directory that holds the molecular
files mechanics and semi-empirical parameter files, and
the ab initio and DFT basis set files.
Log files This is the directory in which, by default, Hyper-
Chem saves a log file which you open.
Script files This is the directory which, by default, Hyper-
Chem looks in to find script files.
Ab initio This is the directory in which HyperChem stores
integrals the temporary files that hold the 2-electron inte-
grals during ab initio and DFT calculations.
104
Script Menu
Exit
Choose Exit or press [Alt]+[F4] to end the HyperChem session. Hyper-
Chem asks if you want to save changes, if any, to the molecular
system in the workspace. As HyperChem closes, it stores informa-
tion about its present state (for example, display conditions and
calculation settings) in the Registry or in the file chem.ini. When
you start HyperChem again, it uses these settings.
Script Menu
Open Script . . . Starts a script from a file that you choose
Script One These items are replaced by names of scripts that you
can choose
...
Script Ten
Open Script
When you choose Open Script, you see the Run Script dialog box
to start a set of instructions, stored in a script file (usually with the
extension .scr), that tells HyperChem what to do.
The Run Script dialog box has the same components as the Open
File dialog box (see page 79), except that the only file type listed is
Script (*.SCR). If the script begins with comments, these will appear
in the Comments text box when the file is selected in the list.
Note: When you start HyperChem, it automatically opens and
runs the script in chem.scr. This script can contain any operations
that you need. For example, you can use the script command
change-user-menuitem to place scripts on the Script menu in place
of Script One, and so on. Chem.scr must be in the Program direc-
tory, with the program executable files.
106 Chapter 5
Script Menu
Script Editor
Overview
Script Editor provides an environment for developing and editing
HyperChem scripts (*.SCR). It also provides a convenient way of
sending script messages to HyperChem without creating a script
file: it acts as a command-line interface to HyperChem.
The script editor is useful only for scripts written in the Hyper-
Chem command language (Hcl scripts with the *.SCR extension).
It is not useful for writing Tool Command Language (Tcl) scripts
(*.TCL). Thus, it is most likely to be used for immediate execution
of individual Hcl script commands. Tcl scripts require a normal
text editor of some sort to prepare them.
Tutorials
The tutorials demonstrate the different way that Script Editor can
be used.
108 Chapter 5
Script Menu
110 Chapter 5
Script Menu
Reference
This section provides detailed descriptions of the main window,
menus and dialog boxes.
Main Window
The Script Editor main window displays a list of script messages
and allows you to edit them and send them to HyperChem. The
following controls are present on the main window:
File Menu
Use the file menu to read and write script files.
112 Chapter 5
Script Menu
Edit Menu
Use this menu to interact with the Windows clipboard and to paste
HyperChem messages into Script Editor.
Options Menu
Use this menu to set options for Script Editor.
Cancel Menu
Use this menu to cancel a set of script messages that is being sent
to HyperChem.
Help Menu
Use this menu to access information about this module.
About Script Edi- Brings up the About Script Editor dialog box.
tor…
Menu List Lists the menus and categories for script com-
mands. Select one to fill up the message list.
Message List Lists the script messages associated with the
selected menu item.
Paste Arguments If checked, includes the arguments with the script
message.
Query value If checked, the script message is sent as a query.
OK button Pastes the message string into the Script Editor
command line and dismisses the Paste Message
dialog box.
Apply button Pastes the message string into the Script Editor
command line, but does not dismiss the Paste Mes-
sage dialog box.
Cancel button Dismisses the Paste Message dialog box without
taking any action
114 Chapter 5
Help Menu
Help Menu
Index Lists topics available in the Help window
About HyperChem
Choosing this item shows the About HyperChem dialog box with
the version number of the HyperChem software, your serial num-
ber and the copyright notice.
116 Chapter 5
Chapter 6
Building Molecules
Build Menu
Use the Build menu to draw molecules and operate the Hyper-
Chem Model Builder. The Model Builder converts 2D drawings
into 3D chemical models. The Build menu has these commands:
Default Element... You choose the element that the Drawing tool
uses
117
Build Menu
Compile Type Rules If you change the atom types in the text file
chem.rul, use this item to update the binary
file, typerule.bin, that HyperChem uses for
molecular mechanics calculations
118 Chapter 6
Build Menu
Set Atom Type . . . c Changes the atom type for all selected atoms
Set Charge . . . c Sets the atomic charge for all selected atoms
Set Custom Label . . .c Sets arbitrary text as the custom label for
selected atoms. Used only as annotation-like
feature for atom label.
a. A check mark appears next to this item when it is on. Turning it on af-
fects all further drawing, until you choose it again to turn it off.
b. United Atoms and All atoms apply to selected atoms in a molecular sys-
tem, and are not alternatives for a whole molecular system.
c. When this item is gray, it is temporarily unavailable. You must select
an appropriate group of atoms to make it available.
Explicit Hydrogens
If Explicit Hydrogens is on (✓), you can add hydrogen atoms while
you draw molecules. As you use the Drawing tool, all singly
bonded atoms appear first as hydrogens. Adding another bond
changes a hydrogen atom to the default element (for example, car-
bon).
When Explicit Hydrogens is off (no check mark), the Drawing tool
places only the default element. Use the Model Builder or Add
Hydrogens option (see page 123) later to add the necessary hydro-
gen atoms to complete the valence requirements of heavy atoms.
drawn with Explicit Hydrogens on, drawn with Explicit Hydrogens off,
then used Model Build then used Add H & Model Build
Default Element
When you choose Default Element, you see the Element Table dia-
log box for choosing the element for drawing. The Drawing tool
places atoms of the default element into the workspace. You can
also display this dialog box by double-clicking the Drawing tool.
120 Chapter 6
Build Menu
The dialog box lets you select the default element by clicking on
the atomic symbol. This will change the cursor to the Drawing
Tool and you can immediately start drawing in the workspace with
the new default element. Single clicking will leave the dialog box
open and double clicking will close it. This dialog box also lets you
turn these drawing options on or off:
Allow Arbitrary
Valence When Allow Arbitrary Valence is on (✓), you can
draw up to twelve bonds to an atom. With Allow
Arbitrary Valence off, you can draw only four bonds
to carbon, three to nitrogen, two to oxygen, and so
on. This is modified by a formal charge on an
atom. For example, with carbon, bonds=4+formal
charge.
HyperChem uses only formal charge to affect
valence. Other charges (atom charges) affect
molecular mechanics interactions; for example,
you can see this by using Set Charge (see page 132).
The total quantum charge affects quantum
mechanical calculations such as a semi-empirical
or ab initio quantum mechanical calculation (see
“Semi-empirical” on page 296, and “Ab Initio and
Density Functional” on page 311).
This option is accessible via either the above dialog
box or via the Build menu.
Explicit Lets you add hydrogen atoms with the Drawing
hydrogens tool. Singly bonded atoms appear first as hydro-
gens, then change to the default element when
you add the next bond. If this setting is off, you
draw only heavy atoms, and HyperChem adds
hydrogens during model building. You can also
turn this condition on or off by choosing Explicit
Hydrogens on the Build menu (see page 119). See
also “Add Hydrogens” in the next section.
Properties Shows the Element Properties box for the current
default element (see below).
You can dismiss the Element Table dialog box by double clicking
on the control-menu box or by double clicking on an element. The
latter will also change the default element.
Note: To draw a hydrogen with multiple bonds, choose hydrogen
as the default element and turn Allow Arbitrary Valence on.
Caution: You can use any elements from the periodic table for
drawing. However, for some elements the Model Builder might not
provide appropriate bond lengths or angles for all atoms. Also,
semi-empirical and ab initio calculations cannot accommodate all
elements.
122 Chapter 6
Build Menu
Element Properties
If you click on the Properties... button in the Element Table dialog
box, the Element Properties box will appear, showing the physical
properties of the current default element. Alternately, if you shift-
click on an element button in the Element Table dialog box, the
properties of the element that you selected will be shown. This
does not change the default drawing element.
Add Hydrogens
Add Hydrogens supplies hydrogen atoms to complete the valence
shells of heavy atoms. This item works on selected atoms or on all
atoms in the molecular system, and works with either a 2D draw-
ing or a 3D model.
Add
Hydrogens
Add Hydrogens uses a limited portion of the Model Builder (see the
next section) to determine the number and location of hydrogen
atoms. However, it does not convert a 2D drawing into a 3D
model.
Model Build
2D drawing 3D model
124 Chapter 6
Build Menu
The Model Builder does not add charges (ionic or partial) to mole-
cules. You can add charges to selected atoms using Set Charge on
the Build menu. Or, you can use a semi-empirical or ab initio quan-
tum mechanical calculation to determine atomic charges (see
“Single Point” on page 360).
The Model Builder assigns atom types (see page 130). Sometimes
these types need to be applied manually.
For a discussion of the Model Builder, see “Converting 2D Draw-
ings into 3D Structures” on page 487.
126 Chapter 6
Build Menu
United Atoms
United Atoms simplifies a molecular structure and calculations on
this structure by including hydrogen atoms in the definition of a
carbon atom. Force fields have different atom types (see “Atom
Types” on page 654) for these composite atoms. United Atoms acts
on selected atoms, or, if there is no selection, on the whole molec-
ular system. This choice remains on until you select the atoms
again and choose All Atoms (see the next section).
Note: United Atoms applies to selected atoms, so you can use both
a united-atom and an all-atom representation in the same molec-
ular system.
United Atoms
All Atoms
Note: When you change between United Atoms and All Atoms,
HyperChem changes atom types, as needed, for the force field in
effect.
Note: United Atoms and All Atoms are available only after you
choose a molecular mechanics force field on the Setup menu (see
“Force Field Options Dialog Box” on page 293).
The united atom rules for simplifying a structure depend on the
force field that you choose in the Setup menu (see “Force Field
Options Dialog Box” on page 293) and the residue templates for
128 Chapter 6
Build Menu
the force field (see “Residue Template Files” on page 727). In the
literature on force fields, united atoms are also known as extended
atoms or extended hydrogens.
All Atoms
All Atoms reverses the United Atoms choice, so that the molecular
system represents every hydrogen as a separate atom. All Atoms
applies to selected atoms or, if there is no selection, to the whole
molecular system.
Note: All Atoms applies to selected atoms, so you can use both a
united atom and an all atom representation in the same molecular
system.
In the literature on force fields, ‘all atoms’ is also known as ‘explicit
hydrogens’.
Calculate Types
Calculate Types assigns atom types to selected atoms or to all atoms
in the molecular system. Atom types represent the stereochemical
properties of each atom (for example, CO for sp2 carbonyl carbon,
CT for tetrahedral carbon, and CH for a united atom representa-
tion of an sp3 carbon with no separate hydrogen). Each molecular
mechanics force field uses a different set of atom types. Calculate
Types applies types for the last force field you chose in the Molec-
ular Mechanics Force Field dialog box (see page 290).
Molecular mechanics calculations require atom types. Since the
Model Builder (see “Model Build/Add H & Model Build” on page
124) automatically makes these assignments, you need only to use
Calculate Types when you do not plan to use the Model Builder. If
you change force fields, HyperChem automatically assigns new
types. In some cases it may be necessary to assign atom types man-
ually (see page 130).
To check that all atoms in the workspace have an atom type,
choose Labels on the Display menu and then choose Type for the
label. Atoms without assigned types appear with a ** label.
If you are using a new or altered set of atom types (a new chem.rul
file or type parameter file), use Compile Type Rules on the Build
menu before you do a molecular mechanics calculation.
130 Chapter 6
Build Menu
The Set Atom Type dialog box lists atom types for the active force
field. The selected atom appears highlighted. For example, the
Model Builder might show the type CT for a carbon atom. You can
change this to another atom type in the list.
Caution: HyperChem does not check your choice. Be sure to pick
an atom type appropriate for the element.
To check existing atom types in a molecular system, choose Labels
on the Display menu and then choose Type for the label. Atoms
without assigned atom types have a ** label.
The MM+ calculation method can work with unknown atom types
using its Default Force Field (see the Computational Chemistry refer-
ence manual). (The other molecular mechanics force fields require
that types be assigned to all atoms.) The MM+ Default method is
able to assign force field parameters on the basis of bonding char-
acteristics. This can be used to work around some limitations of
the molecular mechanics methods. For example, in structures like
biphenyl, all of the carbon atoms are assigned types appropriate
for sp2 atoms. The bond between the rings joins two sp2-type
atoms, and so is given the characteristics of a double bond: it is rel-
atively short, and all of its neighboring atoms are forced towards a
single plane, even though the bond actually is single, and the rings
should be tilted with respect to each other. If the two atoms where
the rings are joined are set to the unknown (**) type, an MM+ cal-
culation can give the proper results.
Note: Set Atom Type is gray unless you select one or more atoms.
In the Set Atom Mass dialog box, enter a positive real number, the
mass of the selected atom in atomic units.
Caution: HyperChem does not check to see if the mass you assign
is a reasonable value for the atom(s) selected.
To check existing atomic masses, choose Labels on the Display
menu and then choose Mass for the labels. When you assign a new
mass, the label changes to show the new mass, but only after you
deselect the atom.
Note: Set Mass is gray unless you select one or more atoms.
Set Charge
You use Set Charge to change the net charge on selected atoms.
Atoms you draw in HyperChem do not have atomic charges. To
add charges to the atoms, you can use Set Charge or run a semi-
empirical or ab initio calculation.
For amino acid and nucleic acid residues and for water molecules
in a periodic box, HyperChem provides atomic charges. Molecular
mechanics calculations use net atomic charges to predict electro-
static interactions.
132
Build Menu
Note: If you select multiple atoms, Set Charge assigns the same
atom charge to each of the selected atoms.
In the Set custom Label dialog box enter a string that will be the
custom label for the selected atoms (or all atoms if none are
selected).
Constrain Geometry
Constrain Geometry specifies the geometry of the bonds around a
selected atom when you use the Model Builder. (It does not affect
the geometry during optimizations; see “Restraints” on page 340.)
When you choose Constrain Geometry, you see the Constrain
Geometry dialog box with choices for geometry. To constrain the
chirality of an atom for the Model Builder, [Shift]+L-click on one of
its bonds with the drawing tool (see “Changing Chirality” on page
485).
HyperChem uses the Computed option as the default setting for
geometry. With Computed, the Model Builder decides on the
geometry.
Note: This constraint is a high priority for the Model Builder (see
“Converting 2D Drawings into 3D Structures” on page 487). How-
ever, additional constraints can affect the model and might alter
the final results.
You can eliminate the constraint and return to the Model Builder’s
geometry by choosing Computed in this dialog box, and then by
choosing Model Build on the Build menu.
Note: Constrain Geometry is gray unless you select an atom.
134 Chapter 6
Build Menu
These are the choices for geometry. All bond angles are relative to
one selected atom:
Computed No constraint. The Model Builder decides on the
geometry.
Linear Two bonds at 180 degrees. If the selected atom has
more than two bonds, the Model Builder con-
strains two bonds only to 180 degrees.
Trigonal Three bonds in a plane, with 120 degrees between
each pair of bonds. If the selected atom has more
than three bonds, the Model Builder constrains
three bonds only to a plane and 120 degrees. If the
selected atom has only two bonds, the Model
Builder constrains the two bonds to a 120 degree
angle.
Tetrahedral Four bonds, in a tetrahedral arrangement, with
109.47 degrees between each pair of bonds (in
every pair-wise combination). If the selected atom
has more than four bonds, only four are in a tetra-
hedral arrangement. If the selected atom has three
bonds, all pairs have 109.47 degree angles.
Square Planar Four bonds in a plane, with 90 degrees between
each cis pair of bonds. If the selected atom has
more than four bonds, the Model Builder con-
strains only four of them to the plane and to angles
of 90 degrees. If it has two or three bonds, then one
or two bond angles, respectively, will be con-
strained to the plane and to 90 degree angles.
Bipyramidal Five bonds, with three bonds in a plane (120
degrees from each other), and two bonds perpen-
dicular to the plane and 180 degrees apart. If the
selected atom has six bonds, the Model Builder
constrains four bonds to a plane, but only three are
separated by 120 degrees. If the selected atom has
two or three bonds, these atoms lie in a plane with
120 degree angles. The fourth bond is orthogonal
to this plane at 90 degrees to the other bonds.
Octahedral Six bonds, with all angles at 90 or 180 degrees. If
the selected atom has less than six bonds, all bond
angles are 90 or 180 degrees.
136 Chapter 6
Build Menu
138 Chapter 6
Databases Menu
You can eliminate the constraint and return to the Model Builder’s
default torsion angle by selecting the angle, choosing Computed in
the dialog box, and then choosing Model Build on the Build menu.
Note: Constrain Bond Torsion is gray unless you select four atoms
that form a torsion.
Databases Menu
Use the Databases menu to create proteins and nucleic acids (DNA
and RNA) from a library of residues. The residues have a standard
chemical structure. HyperChem provides residue structures (in
Mutate ...a You can change one selected animo acid or nucleotide
residue into another. This item applies only to peptides or
polynucleotides constructed from database residues or to
molecules from PDB files
140 Chapter 6
Databases Menu
Amino Acids
Choose Amino Acids to construct polypeptides from amino acid
residues. These amino acids have standard chemical structures.
In the Amino Acids dialog box, choose the secondary conforma-
tion of the polypeptide (Alpha helix, Beta sheet, or Other for your
own Phi, Psi, and Omega angles). Then choose from these residues,
starting at the N-terminus:
Note: Residues from this dialog box are not equivalent to amino
acids you construct atom by atom. You can add new residues to the
choices in the Amino Acids dialog box or modify residues obtained
from this dialog box (see “Adding Unusual Residues” on page 496).
HyperChem links residues together in the order you select them.
A C-terminal blocking group (cap) prevents further addition. After
These choices remain in effect until you make other choices. You
cannot change these properties after you add the residues.
Note: Do not use the Model Builder on a whole constructed
polypeptide. The Model Builder discards the optimized geometry
in these molecules and cannot accurately reproduce the structure.
You can, however, use the Model Builder on selected atoms; for
example, for small modifications of standard residues.
For detailed instructions on building molecules from residues, see
“Building Molecules from Residues” on page 492.
142 Chapter 6
Databases Menu
144 Chapter 6
Databases Menu
α ALA
ω
φ
ψ α
VAL
ω
α
GLY
Note: The Amino Acids dialog box stays on screen. You can leave
this dialog box in the workspace while using tools or other menu
items (for example, Labels on the Display menu).
Make Zwitterion
At neutral pH in solution, polypeptides exist as zwitterions, with
–NH3+ and –COO– terminal groups. Make Zwitterion converts a
selected polypeptide, constructed from the Databases menu or a
PDB file, into a zwitterion. If there are no selected molecules, Make
Zwitterion acts on all polypeptides in a molecular system. The
polypeptide must have the usual terminal groups (–NH and –CO),
without terminal caps (Ace or Nme).
When you construct polypeptides with HyperChem, the ends are
incomplete (–N–H and –C–O). Make Zwitterion converts the ends
to –NH3+ and –COO–.
Note: Amino acid residues from a database (the Databases menu or
a PDB file) are composed of atoms with partial charges. Make Zwit-
terion changes the partial charges on the terminal atoms. It does
not change the charges on side groups of amino acids (for exam-
ple, acidic, basic, or imidazole side groups).
Make Zwitterion prevents adding more amino acid residues to
existing polypeptides. If you choose additional residues from the
Amino Acids dialog box, they start a new polypeptide.
Remove Ionic Ends (see the next section) reverses the results of
Make Zwitterion.
Make Zwitterion
0.252
amino end
0.616 -0.463
-0.504
carboxyl end
0.312
-0.263
0.524
0.312
-0.706 -0.706 0.312
146 Chapter 6
Databases Menu
Sequence Editor
Overview
The Sequence Editor is used to create or read in one-letter amino
acid sequences, possibly from a sequence database such as those
provided by the National Center for Biotechnology's Entrez system
on CD-ROM (or on-line at http://www.ncbi.nlm.nih.gov/entrez).
The primary sequence can then be assigned secondary structures
that are either alpha helix, beta sheet, beta turn, or random coil.
The three-dimensional structure can then be sent to HyperChem
for molecular modeling. The Sequence Editor can also be used to
view certain properties of a sequence, such as the percentage of
individual residues, the hydrophobic character of residues, etc. It
can also be used to view two sequences and compare them in a
simple fashion.
The Sequence Editor module is the executable file, HCSE-
QUEN.EXE, installed in your Program directory. Several sam-
ple files in FASTA format (FAST*.SEQ) are provided in the
Sequences sub-directory of the Samples directory.
Tutorial
This tutorial illustrates how to generate a secondary structure for a
small protein obtained from Entrez.
Background
A subscription to Entrez, which includes sequence databases on
CD-ROM, is available from:
148 Chapter 6
Databases Menu
Reference
This section describes the menus and dialog boxes available in the
Sequence Editor.
File Menu
The File menu is used for reading and writing files and for
copying the primary sequence to the bottom window. It con-
tains these items:
Edit Menu
The Edit menu contains the standard Windows clipboard-related
commands of Cut, Copy, Paste and Delete as well as commands for
changing secondary structure. Each of the commands for second-
ary structure apply to the selected residues in the top window.
150
Databases Menu
View Menu
The view menu contains these items:
152 Chapter 6
Databases Menu
HyperChem Menu
Note: Put will set all backbone dihedral angles to canonical val-
ues, except for random coil, and will use HyperChem's templates
for all other internal coordinates. HyperChem structural informa-
tion can be lost if you use Get followed by Put.
i −67≤φ≤−47 −80≤ψ≤−60
Cancel Menu
This command is only active during a HyperChem/Get or Hyper-
Chem/Put. Clicking on Cancel will stop Sequence Editor immedi-
ately, but will not destroy any of the information which has
already been sent or received before the Cancel command is exe-
cuted.
Help Menu
154 Chapter 6
Databases Menu
Files
Sequence files use the FASTA file format with SEQ as the file exten-
sion. This format is a text file with a single line of comments fol-
lowed by one or more lines containing one or more one-letter res-
idue labels. The list of residues may run over several lines, but
should not contain characters other than valid one-letter amino
acid labels. The valid labels are: A, C, D, E, F, G, H, I, K, L, M, P, Q,
R, S, T, V, W and Y.
The secondary structure file, with the extension SEC, is a text file
containing one character for each residue with the characters
being h, l, e, i, x, p, a, 1, 2, 3, 4, 5, 6 or r. The file may have one or
more lines. The number of characters should match the number
of residues in the SEQ file with the same name except for the
extension.
Hints
You can create peptides with dihedral angles other than the canon-
ical or random values if you also use the Amino Acids dialog box
of HyperChem. Starting from the beginning of the sequence,
select residues that you want to use canonical values for and then
use HyperChem/Put to create those residues in HyperChem. For
the residues that you want to have non-canonical or non-random
values, switch to the HyperChem Amino Acids dialog box (dis-
played via the Databases/Amino Acids menu in HyperChem) and
add those residues. You can switch back to Sequence Editor when
you again want canonical angles.
You can also switch in the above way to use end groups or non-
standard residues that you might have added to the HyperChem
template files.
As with the HyperChem Amino Acids dialog box, only the repeat-
ing units are added. The ends can be "finished" either by starting
and ending with appropriate blocking end groups (from the
Amino Acid dialog box of HyperChem) or by using the Data-
base/Make Zwitterion menu in HyperChem.
Limitations
The diagonal plot should be used only for proteins with about 50
residues or more. With smaller proteins, there is not enough data
to generate a meaningful plot.
156 Chapter 6
Databases Menu
You should note that the secondary structure obtained from the
HyperChem workspace by the menu command HyperChem/Get
will be only an approximation. In particular, the beta III turn is
two residues of a 3-10 helix. Sequence editor distinguishes these
two by looking at the previous residue. If it is a beta sheet, then
the two residues are labeled '56'. If not, then they are labeled 'ee'.
Also, since one of the backbone angles is unavailable for each of
the end residues, their secondary structures are poorly defined.
Another example is glucagon, from the PDB file 1gcn
(PDB1GCN.ENT in the HyperChem SAMPLES directory).
Although most of this protein is alpha helix (approx. from T5 to
M27), many of the backbone angles are far from the canonical val-
ues. Sequence Editor estimates the secondary structure to be:
rhhrrhhrhhrhhrrhhrhhhhrhhrrlr.
Isolated residues with h, l, e or i structure, for example: rrrhrrr,
actually provide little useful information in general. It is common
practice to not consider a section of protein to be in a helical con-
formation unless 4 or more consecutive residues have the neces-
sary backbone angles, for example: hhhh.
Nucleic Acids
Choose Nucleic Acids to construct polynucleotides (DNA and RNA)
from nucleic acid residues. These residues have standard chemical
structures.
In the Nucleic Acids dialog box, you can choose the secondary
structure for added residues (A, B, Z, or Other for your own confor-
mational angles).
You can create a polynucleotide, starting at the 5′ or 3′ end, by
choosing from these nucleic acid residues:
Note: Residues from this dialog box are not equivalent to nucleic
acids that you construct atom by atom. You can add new residues
to the Nucleic Acids dialog box or modify residues obtained from
this dialog box (see “Adding New Residues” on page 739).
158 Chapter 6
Databases Menu
160 Chapter 6
Databases Menu
α
β
5′ 5′
γ
one nucleotide
δ 4′
4′
3′ χ
ε
3′ 2′ 1′
ζ
counter ions
If you choose Add Counter Ions and then add more residues, only
the original residues have counter ions. Choose Add Counter Ions
again to add Na+ ions to the new residues.
Note: To remove Na+ ions, use Clear or Cut on the Edit menu.
If you store the system in a HIN file, the file also contains the
counter ions.
162 Chapter 6
Databases Menu
Crystal Builder
Overview
Crystal Builder is a module for reading, creating and viewing crys-
tal structures within HyperChem. These structures can be saved,
edited or calculations can be performed on them, just as for any
other HyperChem system.
The module works by writing a HIN file, and then sending a com-
mand to HyperChem to read in the file. This file is set to:
HCCRYSTL.$$$ in your LIBRARY directory.
Tutorials
The following tutorials demonstrate some of the features of Crystal
Builder.
164 Chapter 6
Databases Menu
Background
The structure of a crystal is that of an infinitely repeating unit cell.
Thus, to describe a crystal structure, it is only necessary to specify
the structure of a unit cell. A unit cell has the following compo-
nents:
a) shape: defined by the lengths of its sides (a, b, c) and its internal
angles α (the angle between the b and c directions), β (the angle
between the a and c directions) and γ (the angle between the a and
b directions).
b) contents: defined by the locations of the atoms within the unit
cell. These locations are usually reported in fractional coordinates
(x, y, z) where each value is between zero and one, in units of (a,
b, c).
Crystal Builder can build the following crystal types:
166 Chapter 6
Databases Menu
Reference
This section describes the details of the main window, menus, dia-
log boxes and the toolbar.
Main Window
Use the main window to specify the type of crystal to be created in
HyperChem.
Crystal Type Click on the button next to the type of crystal you
wish to create. (See Background section for a
description of the available crystal types.)
Number of unit Enter the desired number of unit cells in each direc-
cells tion.
File Menu
Use the File menu for tasks involving the handling of files. The
File menu contains these items:
View Menu
Use the View menu to control the direction of view and rendering
of your crystal in HyperChem. The View menu contains these
items:
168 Chapter 6
Databases Menu
HyperChem Menu
Use the HyperChem menu to exchange atoms and crystals with
HyperChem. The HyperChem menu contains these items:
Help Menu
Use the Help menu to gain access to the on-line Help system for
Crystal Builder. The Help menu contains these items:
atom number Enter the number of the atom you wish to edit, or
press the up/down arrows on the spin control to
increment/decrement the atom number.
a, b, c Enter the atom's position within the unit cell in
fractional coordinates. Each value should be
greater than or equal to zero and less than one.
(Crystal Builder allows a greater range of values for
CSD files to allow for symmetry-related positions.)
Atom Name Enter a name for the atom, or accept the default
value of "-". The name can have up to four charac-
ters, and must not contain any spaces or quotes.
Element Enter the atomic symbol for the element (up to
three characters).
170 Chapter 6
Databases Menu
Atom Type Enter the MM+ atom type for this atom (up to four
characters). The default is "**", which means an
unknown type. If you wish to perform a calculation
in HyperChem on a crystal, but are not sure of
appropriate atom types, build the crystal without
types, then use the Build/Calculate Types com-
mand in HyperChem to assign types.
Charge Enter the charge associated with the atom, in units
of electron charge. These charges will be used by
molecular mechanics calculations, and do not need
to be integers.
Close Use this command button to stop editing atom
data and exit this dialog box.
Help… Invoke On-line Help about the Atom Data dialog
box.
NaCl The NaCl (rock salt) crystal has a cubic unit cell
with a = 5.63 Å, 2 atom types and 8 atoms per unit
cell: four of each element. The atoms of each type
form a bcc lattice.
CsCl The CsCl crystal has a cubic unit cell with a = 4.11
Å and 2 atoms per unit cell: one of each type.
CaF2 The CaF2 (fluorite) crystal has a cubic unit cell with
a = 5.43 Å and 12 atoms per unit cell.
Diamond The diamond crystal has 8 atoms per unit cell, with
a = 3.56 Å. In diamond, the atoms are linked by
covalent bonds. In Crystal Builder, these bonds
have been omitted.
PbS PbS (galena) crystallizes in an NaCl-type structure,
with a = 5.92 Å.
MgO MgO crystallizes in an NaCl-type structure, with a =
4.2 Å.
CuZn (beta brass) CuZn (beta brass) crystallizes in a CsCl-type struc-
ture, with a = 2.94 Å.
172 Chapter 6
Databases Menu
Toolbar
This section provides an explanation for each of the Toolbar Com-
mand Buttons in Crystal Builder. The toolbar command buttons
provide shortcuts to commands accessible in the menus.
174 Chapter 6
Databases Menu
Hints
1. Remember that the size of a crystal will increase rapidly with
the number of unit cells.
2. If you build a crystal by entering atomic positions, Crystal
Builder does not guess where bonds should go. You can, how-
ever, use HyperChem's facilities to make a guess at the bonding
in your structure. Once you have put your structure into
HyperChem, save it as a Z-matrix (ZMT) file, and read this file
in again. The HyperChem Z-matrix file reader includes a
bond-inferring routine. HyperChem also allows you to esti-
mate the position of hydrogen atoms, often not present in
crystal structures, by using the Add hydrogens item under the
Build menu.
Sugar Builder
Overview
The Sugar Builder will allow you to build polysaccharide structures
in a manner similar to the amino acids and nucleic acids databases
of HyperChem. You may create your own residues, which need
not be saccharides, and use Sugar Builder to link them together.
Tutorial
This tutorial illustrates the procedure for creating poly(1→4)-α-D-
Glucose:
1. Start HyperChem, then start Sugar Builder. This may be done
by clicking on the Saccharides menu item of the Databases
menu in HyperChem.
2. Use the Add/Aldoses menu command to bring up the Aldoses
dialog box.
3. Select the D and α options to select the D isomer and α ano-
mer.
4. Choose the Glucose command button to create a glucose resi-
due in HyperChem.
5. Choose the 1→4 connection type by selecting it from the list.
6. Change φ and ψ to 48.05 and -20 by entering these numbers in
their edit boxes, respectively.
7. Repeatedly click on the Glucose command button, once for
each residue you wish to add to the chain.
8. Switch over to HyperChem and view the polysaccharide.
176 Chapter 6
Databases Menu
For more detailed information, please see the Reference section for
descriptions of the various commands and dialog boxes.
Background
Polysaccharides are naturally occurring macromolecules contain-
ing building blocks of cyclic sugars connected by O-glycosidic
linkages. The building blocks, or monomers of polysaccharides are
called monosaccharides. The most common monosaccharide in
nature is D-glucose (OCH(HCOH)4CH2OH). The basic monosac-
charides all have the formula (CH2O)n, where n ≥ 3. The carbon
atoms form a linear chain, all but one of them connected to an OH
group. The one without an OH is bonded to a carbonyl oxygen
instead. The location of the carbonyl in the chain determines the
type of residue: if it is at the end of the chain then the monosac-
charide is an aldehyde derivative, and called an aldose; if it is not
at the end, then it is a ketone derivative, and called a ketose. The
carbon atoms of the chain are numbered 1 to n, starting from the
end closest to the carbonyl group.
Monosaccharides can exist in a cyclic form, known as a hemiacetal
or hemiketal. In the case of glucose, the alcoholic hydroxyl group
at carbon atom 5 can react with the aldehydic carbon atom 1 to
form a 6-membered ring structure known as a pyranose. The pyr-
anose form of D-glucose is called D-glucopyranose. For ketoses,
the carbonyl carbon 2 may react with the alcoholic hydroxyl at
carbon atom 5 to form a five-membered ring, called a furanose.
The cyclization to pyranoses and furanoses creates an extra chiral
center at carbon 1. Thus, cyclic monosaccharides can exist as two
different stereo isomers, or anomers, known as α and β, and carbon
1 is known as the anomeric carbon.
The linking of monosaccharide units to form polysaccharides
always occurs through the anomeric carbon. The residue at the
end of the chain containing an unlinked anomeric carbon is
known as the reducing sugar, or the reducing end. The anomeric
carbon atom of the reducing end can react with any one of the
hydroxyl groups of another monosaccharide, to form what is
called an O-glycosidal linkage. The linkage is named after the
numbers of the associated carbon atoms, for example, if the ano-
meric carbon of one aldose residue reacts with the hydroxyl group
at carbon atom number 4 of a second residue (a common type of
linkage), then this link is called 1→4. So, for example, maltose,
which has two α-D-glucopyranose residues linked 1→4, is also
known as O-α-D-glucopyranosyl-(1→4)-α-D-glucopyranose.
Starch (amylose) is a long unbranched chain of 1→4 linked α-D-
glucose residues.
Although monosaccharides have only one reducing end, they do
have several locations which can link to the reducing end of
another monosaccharide, and this leads to branched chains. Amy-
lopectin is an example: the backbone is made of 1→4 linked poly-
α-D-glucose, and at random points along the chain are branch
points where the reducing end of another poly-(1→4)-α-D-glucose
chain has linked to carbon 6, forming an α(1→6) link.
Most of the information used to create this module was taken
from:
G. O. Aspinall, Editor, The Polysaccharides, Vol. 1, Academic Press
(New York, 1982) ISBN 0-12-065601-9 (v. 1).
A. L. Lehninger, Biochemistry, 2nd Ed., Worth Publishers Inc. (New
York, 1979) ISBN 0-87901-047-9, Chapter 10.
The AMBER force field for polysaccharides (aldoses) used here is
described in: S. W. Homans, Biochemistry 29, 9110 (1990).
Reference
This section describes the main window, menus and dialog boxes
of the Sugar Builder module.
Main Window
The main Sugar Builder window contains menus of commands
(see below for descriptions), text boxes showing the number of res-
idues which have so far been added to HyperChem, and the
sequence of the residues added to HyperChem.
File Menu
The File menu is used for clearing HyperChem, invoking the Link
dialog box and restoring the HyperChem display. It contains these
items:
178 Chapter 6
Databases Menu
Link Molecules Invokes the Link dialog box, in which you can
select the two atoms which will link two molecules
together. This may be used to link any two atoms
using a geometry that you can specify.
Refresh Screen Restores the display of the HyperChem work-
space. Use this to redisplay the HyperChem work-
space if a DDE or other error occurs in Sugar
Builder, and the display in HyperChem remains dis-
abled. (Sugar Builder temporarily disables the
HyperChem display for improved performance
when using DDE.)
Exit Use this command to exit the Sugar Builder mod-
ule.
Add Menu
The Add menu is used to bring up the dialog boxes for choosing
and simple linking of saccharides, end groups and user-defined
residues.
fucose rhamnose
The following residues are available in the both the D and L iso-
meric forms:
arabinose galactose
Help Menu
This menu is used to access the About dialog box.
180 Chapter 6
Databases Menu
182 Chapter 6
Databases Menu
to:
184 Chapter 6
Databases Menu
Other 0
Glucose 12,000
Fructose 7,000
N-acetyl Glucosamine 12,002
N-acetylneuraminic acid 14,010
2-deoxy-ribose 8,002
in the Link dialog box will bring up the Link Chains: Orientation
dialog box.
Limitations
Sugar Builder adds residues to the chain by sending a DDE com-
mand to HyperChem to execute a File/Merge on the file containing
the next residue. This means that when the user is finished build-
ing a polysaccharide, the current file name is set to the file name
of the first residue in the chain. If a File/Save command is then per-
formed in HyperChem, the original residue file could be overwrit-
ten. Therefore, the residue files have been made read-only. If you
wish to change any of these files, you can use the File/Properties
menu command in the File Manager to remove the read-only
restriction.
The force field parameters supplied with this module are sufficient
to simulate only a small fraction of the residues supplied with this
module. You may encounter a number of missing parameters
when performing a calculation. However, it will often be possible
to create the missing parameters by comparison with parameters
for similar atom types.
186 Chapter 6
Databases Menu
Polymer Builder
To build a polymer, one regards the arbitrary single molecule in the
workspace as a potential monomer. One takes the workspace mol-
ecule, defines head and tail parts of the molecule and defines a tor-
sional definition and angle that will be used to connect head to tail
repeatedly until a polymer of the required length is obtained.
The polymer builder only builds polymeric structures, it does not
analyze their properties beyond what HyperChem does for any
molecule. Once the polymeric stucture of chosen length is built it
constitutes an ordinary molecule as far as HyperChem is con-
cerned.
Monomer Specification
Polymerization by Elimination
The polymerization reaction is one which creates ...R - R - R - R...
by the repeated elimination (condensation) of a-b. That is,
vided for that. The other possibility is that this angle is specified
by the user as a constant value for monomer-monomer connec-
tion. In this case we need to consider the geometry of the R-R
bond further.
The assumption is that "a" is connected to atom "x" which in turn
is connected to atom "x’". similarly, atom "b" is connected to atom
"y" which in turn is connected to atom "y’". That is, an elaboration
of the monomer condensation is,
X - x’ - x - a + b - y - y’ - Y
X - x’ - x - y - y’ - Y + a - b
Example
As an example we will build a polymer from the 1-3 butadiene
monomer. The monomer looks as follows, where we have used
custom labels and annotations to indicate the named selections.
188 Chapter 6
Databases Menu
The choices that must be made are whether to randomize the x-x’-
y’-y angles or to give them a specified constant value. In addition
one must choose the length of the polymer to build.
If one were to choose 30 degrees for the torsion above and build
20 units of a polymer, one would obtain the following structure:
Limitations
In the above fashion you can uses any monomer you like as long
as you properly define the required atoms, a, b, x, x’, y, and y’. For
short head to tail paths, the definitions for x and x’ may overlap
the definitions of y and y’ but this will not matter as long as a, x,
and x’ (or b, y, and y’) refer to bonded sequences of atoms. Thus,
for example, x’ and y or x’ and b might be the same atom. The
named selections a (or b) can refer to a group of atoms, rather than
a single atom, as long as these atoms are bonded to x (or y) by one
bond.
Mutate
Mutate substitutes a residue for a residue already in a polypeptide
or polynucleotide. This biopolymer must contain residues from
the Databases menu or it must come from a PDB file (see page 503)
or MOL2 file. The Mutate dialog box lists amino acids or nucle-
otides for substitution.
Note: Mutate is gray until you select a residue.
190 Chapter 6
Databases Menu
To change a residue:
1. Set the Selection tool to Residues (L-click on the Selection icon,
then choose Residues on the Select menu).
2. Select a single residue from the molecular system.
3. Choose Mutate on the Databases menu.
4. In the Mutate dialog box, L-click on a new residue and
L-click OK.
HyperChem substitutes the new residue for a selected residue.
Replace
The Mutate operation above replaces a single residue with a new
single residue. The generalization of this is to replace a contiguous
sequence of residues with a new sequence that is potentially of dif-
ferent length. This is a generic cut and paste type of operation. In
HyperChem this is accomplished with a single Replace operation-
with the pasted sequence coming from the clipboard. This opera-
tion is particularly useful in the design of homologous proteins.
Protein Design
Protein design and the study of homologous proteins requires the
ability to start with a specified protein and make required changes
to the primary (and secondary structure) and hence to the native
structure, with hopefully beneficial results. Protein Design or the
creation of homologous proteins requires one to make more gen-
eral modifications than just point mutations. For example one
may want to insert a short new sequence with defined secondary
structure into a specific place in the starting structure.
With HyperChem one has the ability to cut and paste arbitrary por-
tions of a protein structure. Rather than have separate cut and
paste operations, however, the new functionality is organized as a
single Replace operation. That is, one specifies a contiguous
sequence of amino acids (residues) and replaces that sequence with
a new sequence. The new sequence is obtained from the clipboard
and must be placed there prior to the Replace operation. The old
sequence is selected using normal HyperChem selection opera-
tions prior to the request to replace it with the contents of the clip-
board.
192 Chapter 6
Databases Menu
The two selected residues have been deleted. The remaining resi-
dues are not altered or moved and this results in a very long pep-
tide bond between the new GLY 2 and GLY 3 residues. This long
bond will have to be annealed by an optimization or by molecular
dynamics to finalize the effect of eliminating the two residues.
The two adjacent residues, GLY 2 and GLY 3 are at this point con-
sidered dirty (indicated by the *) and cannot be mutated, etc. They
can be cleaned by saving and re-opening the structure.
194 Chapter 6
Databases Menu
6. Select the whole set of residues and place them in the clip-
board by an <Edit/Copy> operation. [Note: be sure all atoms
are displayed (unlike above) and selected before doing the
copy.]
196 Chapter 6
Databases Menu
This dialog box shows the size and orientation of the source and
target residues and gives you the ability to fit the source residues
in the the space being vacated by the target residues prior to the
actual replace being invoked.
198 Chapter 6
Databases Menu
Invoke Database
This menu item invokes the separate HyperChem Data module.
This module provides database services for HyperChem. Hyper-
Chem Data is described in the HyperChem Modules manual.
200 Chapter 6
Chapter 7
Edit, Select, and
Display Menus
Edit Menu
The Edit menu contains items using the Clipboard (for example,
Cut and Paste) and items for manipulating molecules in the work-
space. The Edit menu has these commands:
201
Edit Menu
202 Chapter 7
Edit Menu
Clear
Clear permanently removes selected atoms from the workspace.
You cannot recover these atoms. HyperChem asks you to confirm
your decision.
Cut
Cut moves selected atoms from the workspace to the Clipboard,
replacing its previous contents. You can then use Paste to copy the
atoms back to the workspace of the same HyperChem window or
to a different HyperChem window. HyperChem asks you to con-
firm your decision.
Note: Cut is gray and inactive unless you select an atom in the
molecular system.
Cut removes selected atoms plus all bonds connecting these atoms
to each other and to the rest of the molecular system. For Cut,
Copy, and Paste, HyperChem keeps track of atoms rather than
bonds.
,
Cut
selected atoms
(appear in
Thick line)
Copy
Copy places a duplicate of selected atoms onto the Clipboard in
HIN format, replacing its previous contents. You can use Paste to
copy the atoms back to the workspace of the same HyperChem
window or to a different HyperChem window.
Paste
Paste copies the contents of the Clipboard to the workspace of a
HyperChem window. Use Paste to duplicate atoms and molecules
in the same window or to transfer them to another HyperChem
window.
Caution: Paste does not transfer a molecular model (graphic) to
another Windows application (for example, Windows Write). If
204 Chapter 7
Edit Menu
Paste Paste
again
selected atoms
appear in
Thick line
Note: Paste might not be the exact reverse of Cut. Cut removes
selected atoms and all bonds connecting these atoms to each other
and to the rest of the molecular system. Paste provides only the
atoms and the bonds connecting these atoms to each other. For
Cut, Copy, and Paste, HyperChem keeps track of atoms rather than
bonds.
Note: Paste is gray and unavailable until you use Cut or Copy to
place atoms on the Clipboard.
Copy Image
Copy Image takes a picture of all or part of the screen and places it
either in a file or on the Windows Clipboard (see “Setup Image” on
page 99). By default, HyperChem stores a Windows metafile pic-
ture in the file chem.wmf and a bitmap picture in the file
chem.bmp. However, you can select a Filename other than these
in the <Preferences/Setup Image> dialog box.
Note: Press [F9] for Copy Image. You must use [F9] to save images of
pull-down menus and dialog boxes (see page 99).
Each time you use Copy Image, HyperChem replaces the picture
that is already on the Clipboard or in a file. To collect several pic-
tures, you must use one of these methods:
For a file If the picture is in a file, select a new name for File-
name every time you take a picture. Alternatively,
use a script or custom menu item to change the
Filename in a sequential way to collect a set of pic-
tures.
For the If the picture is on the Clipboard, paste it into a
Clipboard file, using another program that accepts metafile
or bitmap images. For example, a Word® for Win-
dows file can store both bitmap and metafile
graphics.
Use the Setup Image section of the Preferences dialog box (see
page 99) to give instructions for copying an image.
Use Print on the File menu to send a copy of the workspace directly
to a printer.
Invert
Invert carries out a molecular symmetry operation (inversion)
through a POINT. POINT is the center of mass of one or more
selected atoms. Use the Name Selection dialog box to define
POINT. If the coordinates of an atom are x, y, and z (relative to the
POINT), Invert changes them to –x, –y, and –z.
206 Chapter 7
Edit Menu
Once you establish a POINT, you can invert any selected atoms or,
if there is no selection, a whole molecular system.
Note: Invert is gray unless the molecular system contains a POINT
selection.
Example:
This example shows HyperChem inverting the amino acid ala-
nine. Since the alpha carbon is a chiral center, inversion changes
the chirality of this atom.
Invert
molecule
Reflect
Reflect carries out a molecular symmetry operation (reflection)
through a PLANE. This molecular operation can produce a mirror
image of selected atoms or of a whole molecule. If PLANE is the XY
plane, then Reflect changes an atom’s coordinates from x, y, and z
(relative to PLANE) to x, y, and –z.
Use the Name Selection dialog box (see page 238) to define PLANE.
PLANE is the surface defined by the primary and secondary inertial
axes (see “Inertial Axes” on page 21) of the atoms used to name
PLANE.
Reflect acts on selected atoms or, if there is no selection, the whole
molecular system. If the reflected atoms contain one or more
chiral centers, HyperChem changes their chirality.
Note: Reflect is gray unless the molecular system contains a PLANE
selection.
Example:
This example shows HyperChem reflecting the selected side group
of cyclohexane.
208 Chapter 7
Edit Menu
PLANE
side group
Rotate
Choosing Rotate displays the Rotate dialog box to produce an
exact rotation of molecules. This dialog box duplicates the effects
of a rotation tool (see “Using the XY Rotation Tool” on page 37
and “Using the Z Rotation Tool” on page 39).
Note: You can also double-click on a Rotation tool icon to reach
the Rotate dialog box.
Rotate About You can rotate selected atoms or, without a selec-
tion, a whole molecular system, around an axis in
either the Viewer’s or Molecular Coordinate Sys-
tem or around a LINE. LINE is a named selection
(see “Name Selection” on page 237) that belongs to
a molecular system. If you cannot rotate selected
Translate
Translate displays the Translate dialog box to produce an exact
translation of molecules. This dialog box duplicates the effects of
a Translation tool (see “XY Translation Tool” on page 40 and “Z
Translation Tool” on page 43), moving the center of mass of
selected atoms or molecules to another position in the Molecular
Coordinate System.
Note: You can also double-click on the Translation tool icon to dis-
play the Translate dialog box.
210 Chapter 7
Edit Menu
Zoom
Zoom displays the Zoom dialog box to produce an exact magnifi-
cation of molecules in the workspace. This dialog box duplicates
the effects of the Zoom tool (see page 45). The dialog box reports
the present zoom factor (magnification) for the molecular system
in the workspace. You can enter a new value, from 0.01 to 50. A
Zoom Factor of 1 produces the same magnification as Scale to Fit
(see page 250).
Note: You can also double-click on the Zoom tool icon to reach the
Zoom dialog box.
212 Chapter 7
Edit Menu
Z Clip
Z Clip shows the Z Clip dialog box (see page 214), which you use
to move the clipping planes. This dialog box duplicates the effects
of the Z clipping tool (see page 47) and shows a top view of the
molecular system (along the y axis) to aid in setting the clipping
planes. Use this dialog box to set the clipping planes, either
numerically or graphically.
The dialog box shows a Sticks rendering of the molecules in the
workspace. You view the molecules from above, down the y axis of
the Viewer’s Coordinate System. A green bar represents the front
clipping plane; a violet bar represents the back clipping plane.
Whenever you open this dialog box, the clipping planes are set 1/3
and 2/3 down from the top of the display.
Note: You can also double-click on the Z clipping tool icon to
reach the Z Clip dialog box.
back clipping
slab plane
front clipping
slab plane
distances in
Ångstroms
from viewer
214 Chapter 7
Edit Menu
You can adjust the positions of the clipping planes using two
methods:
• Use the scroll bars at the sides of the molecular model to move
the clipping planes. Movement is along the z axis of the
Viewer’s Coordinate System.
• Enter values, to the right, for the positions of the clipping
planes. Values represent the distance from the viewer in Ång-
stroms.
Align Viewer
Align Viewer modifies the Viewer’s Coordinate System so that it has
a simple correspondence with the Molecular Coordinate System.
The Viewer’s Coordinate System is relative to the plane of the com-
puter screen (see “Viewer’s Coordinate System” on page 19). You
always view the screen and the HyperChem workspace along the
viewer’s z axis. The molecular system has its own coordinate sys-
tem (see “Molecular Coordinate System” on page 20).
When you first construct a molecular system, the viewer’s z axis
aligns with the molecular z axis. If you rotate the viewer’s position
(for example, using the Rotation tools and the left mouse button),
this alignment is lost. Align Viewer returns the workspace to the ini-
tial state or to another standard orientation.
Align Molecules
Align Molecules rotates selected whole molecules so that their iner-
tial axes correspond to the viewer’s x, y, or z axes. You can also
align an inertial axis with a LINE in the Molecular Coordinate Sys-
tem.
If you do an alignment with at least one atom selected, the align-
ment “moves” the atoms, changing their coordinates in the
Molecular Coordinate System. If there is no selection, the align-
ment maintains the same atomic coordinates, but moves your
viewpoint (the Viewer’s Coordinate System).
A molecular system has an inertial axis system independent of the
Molecular or Viewer’s Coordinate Systems. Inertial axes are fixed
in a molecular system and depend only on the number, type
(mass), and positions of atoms. The inertial axes have their origin
at the center of mass and are orthogonal (at right angles to each
other). The primary inertial axis is often the longest distance from
the center of mass to the edge of the molecular system. Inertial
axes are computed for the selected atoms, or if there is no selec-
tion, for all atoms in the molecular system.
You can see the inertial axes of a molecular system by choosing
Show Axes on the Display menu. See “Coordinate Systems” on
page 18 for more information about coordinate systems and axes.
With the Align Molecules dialog box, you can do one or two align-
ments of a molecular system:
1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.
216 Chapter 7
Edit Menu
1. The primary inertial axis corresponds to the smallest eigenvalue of the moment of inertia matrix.
218 Chapter 7
Edit Menu
Select either a bond or the two atoms that form this bond, and
then choose Set Bond Length. This bond must not be part of a ring
structure. The bond length changes as soon as you L-click OK in
the dialog box.
The Model Builder (see page 124) might remove this new bond
length. To influence a bond length during model building, use
Constrain Bond Length (see page 137).
You can also influence a bond length during a geometry optimiza-
tion calculation (see “Restraints” on page 340).
The dialog box first shows the existing bond length. Enter a new
bond length, usually between 0.75 and 3 Ångstroms.
The dialog box first shows the existing bond angle. Enter a number
from 0 to 180 for the new bond angle.
The dialog box first shows the existing bond torsion angle. Enter a
number from –360 to +360 for the torsion angle.
Select Menu
The Select menu regulates the Selection tool. The Selection tool
marks specific atoms, bonds, residues, or molecules for Hyper-
220 Chapter 7
Select Menu
√ Select Sphereb Changes the Selection tool so that you can select all
atoms within a 3D sphere, plus atoms within a 2D
rectangle (√), or only atoms within a 2D rectangle
(no check mark)
Extend Side Chain Selects all atoms in a rotatable side chain if the first
two atoms in the side chain are already selected
Extend to sp3 Selects all atoms, starting from the current selec-
tion, until all bonds with only one atom selected are
single bonds between sp3 atoms. Use this to find
the boundaries for a mixed mode quantum
mechanics calculation
a. Only one of these items can be active at a time, and only the active item has
a check mark.
b. A check mark appears next to this item when it is on. Turning it on affects
all further selecting, until you select it again to turn it off.
c. When this item is gray, it is temporarily unavailable. You must change some
condition in HyperChem to make it available.
Visible Atoms
The items on the Select menu act on all atoms in the molecular
system, whether they are visible or not. The visibility of an atom
depends on these factors:
• The type of model you are using. For example, a spheres model
hides atoms on the far side of a molecule.
222 Chapter 7
Select Menu
Atoms
When you choose Atoms (✓), the smallest unit of selection is an
individual atom. With the Selection tool, you can then select indi-
vidual atoms, bonds, and angles. This item remains active until
you choose Residues or Molecules.
Note: Use Atoms for selection unless you specifically want to select
residues or molecules.
bond angle
atom
Examples:
These messages can appear on the status line when you select at
the Atoms level.
For one atom:
Atom number 2 is Carbon C (mm+ * C0) at -1.6188 0.6548 0
For two nonbonded atoms:
Distance from atom CA197 to atom 1 HD1 108 is 3.3846Å
For two bonded atoms:
Bond distance from atom C86 to CA85 is 1.5364Å
For three bonded atoms:
Angle of atoms N96 - C86 - CA85 is 102.45°
1. Atom names in this and the following examples are from the Brookhaven Data Bank, for example,
CA, C, HD.
224 Chapter 7
Select Menu
Residues
When you choose Residues (✓), the smallest unit of selection is
individual residues (amino acids or nucleotides). Residues must
come from the Databases menu (see page 139) or from Protein
Data Bank files (see page 503). HyperChem does not recognize as
residues amino acids or nucleotides that you draw from individual
atoms.
This item remains active until you choose Atoms or Molecules.
Note: If there are no residues in a molecule, this item works like
Atoms.
To select residues:
Example:
This message appears on the status line when you select at the
Residues level.
30 residues selected: THR 1 THR 2 CYX 3 CYX 4 ... ASN 46
Molecules
When you choose Molecules (✓), the smallest unit of selection is
an individual molecule. This item remains active until you choose
Atoms or Residues.
To select molecules:
226 Chapter 7
Select Menu
Example:
This is an example of the message that appears on the status line
when you select at the Molecules level:
2 molecules selected
To select: To deselect:
LR-drag RL-drag
Click: L R L R
228 Chapter 7
Select Menu
selection rectangle
selected residues
(in Thick line)
230 Chapter 7
Select Menu
selection sphere
selected residues
(in Thick line)
Select All
Select All changes the selection to include all visible atoms (see
“Visible Atoms” on page 222) in the molecular system. Choosing
this item is equivalent to L-clicking in an empty part of the work-
space.
Complement Selection
Complement Selection deselects the existing selection and, instead,
selects all atoms that were not selected before. When you have
selected the only molecule in a molecular system, Complement
Selection deselects this molecule.
Complement
Selection
Select
Using Select you can select atoms, residues, and molecules by
string or by number. These selections occur immediately and
either replace previous selections (with Multiple Selections off) or
add to existing selections (with Multiple Selections on).
Note: Select is gray until there is a molecular system in the work-
space.
When you choose Select, the Select dialog box (see page 233)
appears listing the variety of possible selections. You may select via
a string that assigned to a selection of atoms (see Name Selection in
the following section) or a string that is the value of a string vari-
able such as Chirality (R or S). You may also select via a numerical
value assigned to atoms such as atomic number, atomic mass,
atomic charge, etc. Numerical selections can specify a range. For
example, you can select atoms that have a gradient greater than a
minimum value.
232 Chapter 7
Select Menu
234 Chapter 7
Select Menu
Selecting by String
To select atoms or molecules by an assigned string:
1. Choose Select on the Select menu.
2. L-click on By String in the Select dialog box.
Selecting by Number
To select atoms, residues or molecules by number:
1. Choose Select on the Select menu.
2. L-click on By number in the Select dialog box.
3. L-click on one of the radio buttons specifying a number variable.
4. Enter the appropriate numeric range or exact value.
5. If appropriate, check For Molecule(s) and specify a set and/or
range of molecules. If unchecked, all molecules is the default.
6. L-click OK.
236 Chapter 7
Select Menu
Numbering
HyperChem assigns a number to each atom, residue, and mole-
cule, starting with 1 for each type of structure. This is the number-
ing order:
• Atoms: If you draw molecules in HyperChem, atoms are num-
bered in the order you draw them. Molecules from the Protein
Data Bank have defined numbering. Atom numbering starts
from 1 for each molecule.
• Residues: In polypeptides, residue 1 is at the N-terminus. In
polynucleotides, residue 1 is at the 5′ end, unless you con-
structed a polynucleotide starting from the 3′ end (Backwards).
Residue numbering starts from 1 for each molecule.
• Molecules: Molecules are numbered in the order you added
them to the molecular system.
Name Selection
Name Selection shows you the Name Selection dialog box for
assigning a name to selected atoms. When atoms have a selection
name, you can easily select them again. The name can be “special”
(POINT, LINE, PLANE, REACTANT, PRODUCT, PLOT1, PLOT2, GHOST
ATOMS, NMR ATOMS, QUANTUM ATOMS) or any name that you
supply, up to 19 characters long (Other). “Special” selections have
properties in addition to describing a set of atoms (see the next sec-
tion).
Note: Name Selection is gray until you select at least one atom.
Some special names are available only under some conditions.
238 Chapter 7
Select Menu
Naming Selections
To name a selection:
1. Using the Selection tool, select any set of atoms, residues, or
molecules.
2. Choose Name Selection on the Select menu.
3. L-click on POINT, LINE, PLANE, REACTANT, PRODUCT, PLOT1,
PLOT2, GHOST ATOMS, NMR ATOMS, QUANTUM ATOMS or
Other. If you choose Other, enter a name, from one to 19 char-
acters long, but don’t use all uppercase letters. Names with all
uppercase characters are reserved for HyperChem’s special
selections, like POINT.
4. L-click OK.
Each molecular system can have only one POINT, LINE, PLANE,
REACTANT, PRODUCT, PLOT1, PLOT2, GHOST ATOMS, NMR ATOMS,
or QUANTUM ATOMS selection, but any number of other selection
names. For example, if you use POINT a second time, the new
selection replaces the last POINT selection. HyperChem requests
confirmation of this replacement.
240 Chapter 7
Select Menu
Name Molecule
Name Molecule is used to give a name to a selected molecule. While
not required, it may be useful to assign a relatively long name to
specified molecules. For example, this name may become part of a
database of molecules. The name is stored with a molecule in HIN
files and is displayed on the status line when a molecule is selected.
The name may contain up to 64 characters and includes capitali-
zation, numbers, symbols, blank spaces, etc.
Extend Ring
Extend Ring selects all atoms in a ring, starting with two selected,
covalently bonded atoms.
To use Extend Ring:
1. Choose Atoms on the Select menu.
242 Chapter 7
Select Menu
2. With the Selection tool, select one bond or two adjacent atoms
in a ring. To select two atoms, first turn on Multiple Selections.
3. Choose Extend Ring.
Extend
Ring
Note: You can also select a ring by double-clicking with the Selec-
tion tool on an atom or bond in the ring. You must first choose
Atoms on the Select menu.
select first
select second
Extend Side
Chain
Note: You can also extend a side chain by double-clicking with the
Selection tool on a bond. You must first choose Atoms on the Select
menu. Then double-click on one end of a bond (from the mid-
point of the bond to the bonded atom). HyperChem selects the
side chain connected to the nearest atom.
Extend to sp3
Extend to sp3 starts at selected atoms and selects additional atoms,
in all directions, until it meets sp3–sp3 single bonds or singly
bonded atoms. The extended selection includes the near half of
the sp3–sp3 bonds.
Extend to
sp3
244 Chapter 7
Select Menu
Select Backbone
Select Backbone automatically selects all atoms that provide struc-
tural continuity in proteins and nucleic acids constructed with res-
idues from the Databases menu or from PDB files. Select Backbone
works on all polymers, constructed from residues, in the molecular
system.
246 Chapter 7
Select Menu
Show Selection Displays only the selected atoms that are presently
Only visible in the workspace. Hides atoms that are not
selected
Hide Selection Turns off the display of selected atoms. Leaves visi-
ble only atoms that are not selected
248
Display Menu
✓ Show Multiple Shows double, triple, and aromatic bonds with dif-
Bondsa ferent types of lines (✓) or shows all bonds as single
lines (no check mark)
a. A check mark appears next to this item when it is on. Turning it on affects
all further displays, until you choose it again to turn it off.
b. When this item is gray, it is temporarily unavailable. You must change some
condition in HyperChem to make it available.
Scale to Fit
Scale to Fit centers selected atoms or the whole molecular system
in the workspace. HyperChem changes the magnification so that
the molecules occupy about three quarters of the height of the
workspace. This sets Zoom Factor to 1 (see “Zoom Dialog Box” on
page 212).
Scale to Fit also resets the clipping planes to include the selection
or the whole molecular system.
Note: Press [Spacebar] as a shortcut to choosing Scale to Fit.
Scale to Fit
(1 residue selected)
Scale to Fit
(no selection)
250 Chapter 7
Display Menu
Overlay
Overlay places one molecule on top of another so that you can
make structural comparisons.
To use Overlay:
1. Choose Atoms and turn on Multiple Selections on the Select
menu.
2. Select three atoms in one molecule. These can be, for example,
the three atoms defining a bond angle. This becomes molecule
number 1.
3. Select three atoms in a second molecule. These can be any
three atoms, but your selection should correspond to selected
atoms in molecule 1. This becomes molecule 2.
4. Choose Overlay. HyperChem moves molecule 1 to coincide
with molecule 2.
select 1
select 2
overlay
select 3
geometry
optimized
after Model Building (left) then geometry optimization with AM1 (right)
RMS Fit
Overview
RMS Fit is a module for overlaying molecules by minimizing the
distance between corresponding atoms. The RMS value of the
residual distances (in Ångstroms) is reported on the status line as a
measure of the similarity of the structures.
RMS Fit is fully compatible with HyperChem's select-and-operate
way of working. If there are atoms selected, these atoms and only
these atoms are overlaid. If no atoms are selected (and two mole-
cules present) then all atoms are considered in the RMS fitting pro-
cess.
The executable file for RMS Fit is HCRMSFIT.EXE, which is in your
Program directory.
Tutorials
These tutorials illustrate how to use the RMS Fit module to overlay
two molecules, using either all atoms or only selected atoms.
252 Chapter 7
Display Menu
Reference
This section describes the RMS Fit Options dialog box and the
HCRMSFIT.INI file.
254 Chapter 7
Display Menu
If, however, you have selected some atoms in each molecule that
you wish to overlay, then a dialog box appears. This dialog box
offers a choice between overlay by molecule numbering or by
selection order.
You can edit this file in a text editor to suppress the display of the
options dialog box. Setting ShowDialogBox to False and Overlay-
BySelectionOrder to True (if you wish to overlay by selection order)
or False (if you wish to overlay by molecule numbering) forces RMS
Fit to not show the Options dialog box and to act as if the option
you have just set is chosen, each time it is invoked. This can be
useful if you routinely use one or other of the options, and do not
wish to be prompted to choose each time. To go back to showing
the dialog box, edit this file and set ShowDialogBox to True.
Hints
There may be occasions when the RMS procedure does not find the
best overlay between two molecules. The RMS procedure is an iter-
ative one. It starts by superimposing the centers of geometry of
the two structures, and then searches to improve the fit each iter-
ation until no further significant improvement can be made. One
special case occurs if you have two molecules with planes of sym-
metry, arranged as if reflecting in a mirror, as follows:
256 Chapter 7
Display Menu
Here the overlay may end up with a structure that is not the best
overlay, but instead looks as follows:
If you see this effect, rotate one or other of the molecules slightly
out of the plane, so that they are no longer symmetrically
arranged, and repeat the overlay.
Show All
Show All cancels Show Selection Only and Hide Selection. You can
then see all molecules in the molecular system.
Note: You might not see all atoms in a molecule or all molecules
in the molecular system. This depends on the other display condi-
tions (for example, Show hydrogens and Perspective View) and the
viewpoint you use (for example, the zoom setting and the clipping
slab settings).
Hide Selection
Hide Selection makes all selected atoms invisible. Use Show All to
reverse Hide Selection.
Rendering
Rendering displays the Rendering property sheet for choosing the
type of molecular rendering model and options. Not all options
are supported with all models and this is indicated by grayed items
in the dialog box. The dialog box has several pages which can be
accessed by clicking on the appropriate “tab control”.
258 Chapter 7
Display Menu
Sticks This shows a line for every bond. Each half bond
has the color of the element at the end of the bond.
This is the most efficient rendering and requires
the least amount of computing time when you
make changes in position or rotational angle.
Balls Atoms are drawn as spheres (if Shaded is on) or as
flat disks (if Shaded is off). Atoms are drawn in
strict order of appearance, back to front; they are
not shown as overlapping. With shading, the qual-
ity of this rendering increases significantly when
using a video display with 256 or more colors.
Balls and Show bonds as solid objects. When Shaded is on,
Cylinders bonds are drawn as shaded cylinders; otherwise
they are drawn without shading. Atoms are drawn
as with the Balls option, above.
Overlapping Atoms are drawn as overlapping, with CPK radii, as
Spheres unshaded disks (if Shaded is off) or as shaded
spheres (if Shaded is on). With shading, the quality
of this rendering increases significantly when
using a video display with 256 or more colors.
Dots These are transparent, space-filling models with a
surface constructed of dots. The surface shows the
CPK radii of the atoms. Stereo is not available and
the Wedges option is ignored.
Sticks & Dots These models are a combination of Sticks and Dots.
They show bonding and give an impression of the
Rendering: Sticks
This page shows options for rendering structures as Sticks.
260 Chapter 7
Display Menu
Stick Width The slider and number box indicate the width used
to draw sticks, in units of pixels.
Rendering: Cylinders
This page shows options for rendering bonds as cylinders.
262 Chapter 7
Display Menu
Rendering: Balls
This page shows options for rendering atoms as balls.
264 Chapter 7
Display Menu
Sticks
266 Chapter 7
Display Menu
Balls and Cylinders, Shading off Balls and Cylinders, Shading and
Highlights on
Using Stereo
With the Stereo option on, you see duplicate images of the molec-
ular system for stereo viewing. You can turn Show Stereo on only
when you are using the Sticks rendering model (see page 258). If
you see only part of a molecular system in the workspace, Show
Stereo presents a stereo pair of the atoms in the workspace only.
Note: Turning Perspective View on might increase the stereo effect.
When the stereo view is on, you can use the Selection tool only
with the image on the right to select atoms or residues. You cannot
use the Drawing tool.
HyperChem uses two different methods for presenting stereo
images: walleyed or cross-eyed. You can set HyperChem to use one
or the other by changing this setting in the Registry or the
chem.ini file (see “Ab Initio Settings” on page 747):
WallEyedStereo=Yes (or No)
Walleyed Stereo
For walleyed stereo viewing, the images for the left and right eyes
are on the left and right sides of the workspace respectively. The
advantage of walleyed viewing is that you see one, fused 3D image.
It is not suitable for large molecules, because the images might
overlap in the workspace.
Note: You might have to adjust the width of the HyperChem win-
dow to get the best stereo effect. This changes the separation of the
268 Chapter 7
Display Menu
Cross-eyed Stereo
For cross-eyed stereo viewing, the images for the left and right eyes
are reversed in the workspace: the image for the left eye is on the
right side of the workspace. You must cross your eyes so that you
see the left image with your right eye. The advantage of cross-eyed
viewing is that you can see larger molecules in 3D.
This method requires more practice. You must learn to cross your
eyes and to concentrate on the central, fused image in the presence
of left and right images.
Last Rendering
Last Rendering returns the rendering mode to the mode that was
used before the most recent change. Two modes can therefore be
alternated by using this option repeatedly. This option can be acti-
vated by pressing [F2]. This menu item is not available while an iso-
surface is being displayed; displaying an isosurface automatically
switches the rendering mode to Sticks.
Raytracing
Overview
HyperChem Raytrace, together with POV-Ray (a third-party free
raytracing program), provide facilities for producing high quality
ray-traced molecular graphics from HyperChem. In order to use
HyperChem Raytrace, you must have POV-Ray installed. Your nor-
mal HyperChem installation will install POV-Ray for you.
Types of Images
Two types of raytraced images are available:
270 Chapter 7
Display Menu
Custom Lighting
If you wish not to use the default lighting scheme but add your
own lights you may do so. The procedure is somewhat unusual
but makes use of the existing tools in HyperChem for moving,
positioning, and visualizing atoms.
The custom lighting model makes use of point sources of light that
are defined as atoms but with a very specific named selection
attached to them. Atoms associated with a named selection,
light*
light-red*
light-green*
light-blue*
To turn it into a light (a red light for example) we just have to name
it appropriately as shown below:
272 Chapter 7
Display Menu
This lighting will leave most of the molecule in the shadows and
it is likely you will want to add more lights than just this one. You
can add as many lights of different colors (red, green, blue, white)
as you like.
Using POV-Ray
The first time you use POV-Ray it will ask you to agree to its license
requirements. Thereafter it should appear quietly on the task bar
when a raytraced image is being created for HyperChem. It will
disappear after that image is passed to HyperChem. Basically what
is happening is that HyperChem prepares a standard *.POV file for
input to the POV-Ray program. Advanced users may want to learn
more about POV-Ray and customize its use.
Raytracing is a demanding computational task and depending on
your computer it may take some time. While raytracing is going
on, the task bar will show the percentage completion of the oper-
ation. After the operation is complete the raytraced image will be
transferred to your HyperChem work space. Any attempt to move
or otherwise modify the molecule in the workspace will cause the
raytraced image to disappear. To get it to reappear you will need
to raytrace an image again.
Although your HyperChem installation will install POV-Ray for
you, advanced users may at some time wish to install their own
version of POV-Ray. If you wish to explore other versions of POV-
Ray, they may be obtained by anonymous ftp from ftp.povray.org,
or by Web browser from http://www.povray.org. They can also be
obtained from any of a constantly changing number of mirror
sites.
Show Isosurface
If an isosurface has been calculated after a semi-empirical single-
point calculation, Show Isosurface controls whether or not that sur-
face will be displayed in the workspace. This option can be turned
on and off by pressing [F3]. Displaying an isosurface automatically
switches the rendering mode to Sticks.
Note: While the Stereo or Perspective options of the Sticks render-
ing are turned on, you cannot display a contour plot or isosurface
(see page 391). If the Wedges option is on, the wedges will not be
shown while an isosurface is being displayed.
Isosurface . . .
If an isosurface has been calculated after a semi-empirical single-
point calculation, Isosurface opens the Plot Molecular Properties
property sheet (see page 392) or the Orbital Options property sheet
(see page 401), which can also be opened from the Compute menu
or Orbitals dialog box, respectively. This feature can also be acti-
vated by pressing [F4]. The isosurface can be displayed only if the
structure is rendered in Sticks mode. The property sheets displayed
by this option allow you to change the way that the stored values
are drawn but not to recalculate the isosurface values themselves.
These reduced property sheets allow you to change the Isosurface
Rendering options and the Transparency Level options; the
reduced Plot Molecular Properties sheet also allows you to change
the Mapped Function options.
Show Hydrogens
Turn on Show Hydrogens (✓) to display all hydrogen atoms in the
molecular system. The existence of hydrogens depends on your
previous choices on the Build menu (Explicit Hydrogens, Add
Hydrogens, and Add H & Model Build), plus the composition of the
molecules.
274 Chapter 7
Show
Hydrogens
Turn off Show Hydrogens (no check mark) to hide all hydrogens
and simplify the rendering of molecules in the workspace. Only
heavy atoms remain visible.
Hydrogens with a coordination number greater than 1 remain dis-
played when Show Hydrogens is unchecked.
275
Display Menu
Note: Show Periodic Box is gray until you create a periodic box.
single bond
double bond
triple bond
aromatic bond
276 Chapter 7
Display Menu
With Show Multiple Bonds off (no check mark), all bonds appear as
single lines.
If Show Multiple Bonds is off and you change the bond order with
the Drawing tool (see “Changing the Bond Order” on page 475),
the order of the bond (single, double, triple, or aromatic) appears
on the status line.
hydrogen
bond
>150°
< 3.2Å
278 Chapter 7
Display Menu
Note: Inertial axes appear only with Sticks and Sticks & Dots ren-
derings of a molecular system.
Inertial axes are fixed in the Molecular Coordinate System and
depend only on the number, type (mass), and position of atoms.
The inertial axes have their origin at the center of mass and are
orthogonal. The primary inertial axis is often the longest distance
from the center of mass to the edge of the molecular system. See
“Coordinate Systems” on page 18 for more information about
coordinate systems and axes.
You can align a molecular system relative to its inertial axes (see
“Align Molecules” on page 216).
280 Chapter 7
Display Menu
Labels
Labels lists names identifying individual atoms or residues in a
molecular system. For atoms, you can use only one type of label at
a time. For residues, you can show both atom and residue labels at
the same time.
Labels applies to selected atoms or, if there is no selection, to the
whole molecular system. By selecting atoms, applying different
labels, and removing the selection, you can mix the types of labels
that appear in the workspace.
Note: You can apply labels only to Sticks and Sticks & Dots render-
ings (see “Rendering” on page 258).
When you open the Labels dialog box, the default choice is always
set to None. You can either accept this choice to remove all labels
or choose another label. Each time you use the Labels dialog box,
your choices replace the previous choices for selected atoms, or, if
there is no selection, for all atoms.
Atoms
None Removes all labels. This is the default.
Symbol Atomic symbol, for example, C, O, Na, or P.
Name The names of atoms from the Brookhaven
Protein database; for example, CA and CB
for the alpha and beta carbons.
Color
Color shows the Selection Color dialog box for marking selected
atoms with a distinct, persistent color. Atoms keep this color after
you deselect them. If there is no selection, the whole molecular
system takes on this persistent color. Use this feature to keep track
of a set of atoms in a larger molecular system.
282 Chapter 7
Display Menu
When you make a selection, atoms first take the color for a selec-
tion set in the Preferences dialog box (see page 95). The default is
Green. The color you choose from the Selection Color dialog box
replaces a color chosen in the Preferences dialog box.
Note: You see the persistent selection color only after you deselect
the atoms. However, if you are using Thick line to highlight selec-
tions (see “Preferences Property Sheet” on page 95), the persistent
color appears immediately.
To remove the persistent color from a molecular system, open this
dialog box again and choose the default, By element.
Element Color
Element Color shows you the Element Color dialog box for chang-
ing the color assigned to each element. This establishes the By ele-
ment choice you see in other dialog boxes:
Carbon cyan
Nitrogen blue
Oxygen red
Fluorine yellow
Sodium violet
Sulfur yellow
Potassium violet
Iron red
Cobalt blue
Copper green
Bromine yellow
Iodine red
Gold yellow
284 Chapter 7
Display Menu
You have a choice of six standard colors, plus black and white.
HyperChem uses a default set of colors (for example, cyan for car-
bon and red for oxygen). If you change an element color, you can
always return to the default set of colors by choosing Revert in this
dialog box.
286 Chapter 7
Chapter 8
Chemical Calculations
Setup Menu
The Setup menu provides options for running energy calculations.
After you choose Setup menu options, use the Compute menu to
begin a calculation.
HyperChem performs molecular mechanics calculations using any
of four methods (MM+, AMBER, BIO+, and OPLS), semi-empirical
quantum mechanics using any of eleven methods (Extended
Hückel, CNDO, INDO, MINDO3, MNDO, MNDO/d, AM1, PM3,
ZINDO/1, ZINDO/S, and TNDO), ab initio quantum mechanics cal-
culations, and density functional calculations.
The Setup menu has these items:
287
Setup Menu
288 Chapter 8
Setup Menu
a. Only one of these items can be active at a time. A check mark appears next
to the active item.
Molecular Mechanics
Choose Molecular Mechanics to use a classical Newtonian calcula-
tion method instead of a quantum mechanical (semi-empirical or
ab initio or density functional) method. This choice remains on (✓)
until you choose one of the alternatives, Semi-empirical or Ab Initio
or Density Functional. You can use any of these methods for Single
Point, Geometry Optimization and Molecular Dynamics calcula-
tions on the Compute menu.
Molecular mechanics calculations treat atoms as Newtonian parti-
cles interacting through a potential energy function. The potential
energies depend on bond lengths, bond angles, torsion angles, and
nonbonded interactions (including van der Waals forces,
290 Chapter 8
Setup Menu
292 Chapter 8
Setup Menu
294 Chapter 8
Setup Menu
Semi-empirical
Choose Semi-empirical to use a semi-empirical quantum-mechani-
cal calculation method instead of a molecular mechanical or ab
initio quantum-mechanical method. This choice remains on (✓)
until you choose Molecular Mechanics or Ab Initio. You can use a
semi-empirical method for all calculations on the Compute menu.
Semi-empirical calculations solve the SchrÖdinger equation, with
certain approximations, to describe the electronic properties of
atoms and molecules. To simplify and shorten these calculations,
semi-empirical methods make many simplifications, including
these: calculating only for valence electrons; neglecting the inte-
grals for certain interactions; using standard, non-optimized, elec-
tron orbital basis functions; and using parameters derived from
experiments. Experimental parameters eliminate the need to cal-
culate certain quantities and to correct for errors resulting from
approximations. See HyperChem Computational Chemistry for fur-
ther information about semi-empirical quantum mechanics.
Important: The semi-empirical methods in HyperChem can treat
all main group elements for which there are parameters in the
parameter files, up to and including xenon. Extended Hückel,
ZINDO/1, and ZINDO/S can treat the first two rows of transition
metals as long as there are entries in the parameter files. See the
periodic tables in “Available Elements” on page 300 for availability
of parameters.
Most of the available semi-empirical methods include a scheme for
eliminating time-consuming calculations of certain integrals for
296 Chapter 8
Setup Menu
298 Chapter 8
Setup Menu
Available Elements
The following tables show the elements that can be treated by the
semi-empirical methods in HyperChem. Where the element sym-
bol is shown it indicates that HyperChem includes the program
code necessary to evaluate integrals for the principal and angular
quantum numbers of the valence orbitals. In order to perform cal-
culations for an element, HyperChem also needs to know param-
eters to use in evaluating the integrals. Parameters for some ele-
ments are not currently available in the literature. Once these
parameters become available, you can add them to the appropriate
parameter files (see “Semi-Empirical Files” on page 679). Elements
for which parameters are available in the standard HyperChem
distribution are shaded in the tables. Unless you have extended
parameter files, use only the shaded elements with each method.
300 Chapter 8
Setup Menu
Extended Hückel
The Extended Hückel method can be used with any element in the
periodic table; the default parameter set includes all necessary
parameters.
CNDO, INDO
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Zn Ga Ge As Se Br Kr
Rb Sr Cd In Sn Sb Te I Xe
MINDO3
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Zn Ga Ge As Se Br Kr
Rb Sr Cd In Sn Sb Te I Xe
MNDO
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Zn Ga Ge As Se Br Kr
Rb Sr Cd In Sn Sb Te I Xe
AM1
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Zn Ga Ge As Se Br Kr
Rb Sr Cd In Sn Sb Te I Xe
PM3
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Zn Ga Ge As Se Br Kr
Rb Sr Cd In Sn Sb Te I Xe
302 Chapter 8
Setup Menu
ZINDO/1
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
ZINDO/S
H He
Li Be B C N O F Ne
Na Mg Al Si P S Cl Ar
K Ca Sc Ti V Cr Mn Fe Co Ni Cu Zn Ga Ge As Se Br Kr
Rb Sr Y Zr Nb Mo Tc Ru Rh Pd Ag Cd In Sn Sb Te I Xe
Total charge This is the net excess of nuclear charge over elec-
tronic charge. It is zero for a neutral system, a
positive integer for a cation, and a negative integer
for an anion.
Spin This is the total spin multiplicity, 2S+1, where S is
multiplicity the total electron spin of the system. Each
unpaired electron counts for 1/2. A closed-shell
system (singlet) has a multiplicity of 1. A doublet
or triplet state has a multiplicity of 2 and 3, respec-
tively. Enter an integer from 1 to 6.
Hückel A constant of proportionality between off-diago-
Constant nal matrix elements and diagonal matrix elements.
The usual value is 1.75. Larger values give more
weight to the role of atomic orbital overlap in
determining the energy, while smaller values give
more weight to binding energies of electrons in the
atomic orbitals.
Unweighted Uses the Hückel constant without modifi-
constant cation.
Weight Multiplies the Hückel constant by a factor
diffuseness that accounts for the diffuseness of atomic
orbitals. This factor is only significant for
molecular systems containing orbitals of
304 Chapter 8
Setup Menu
Total charge This is the net excess of nuclear charge over elec-
tronic charge. It is zero for a neutral system, a
positive integer for a cation, and a negative integer
for an anion.
Spin This is the total spin multiplicity, 2S+1, where S is
multiplicity the total electron spin of the system. Each
unpaired electron counts for a spin of +1/2. A
closed-shell system has a multiplicity of 1 (singlet).
An open-shell system can have a multiplicity of 2,
3, 4 (doublet, triplet, quartet), or higher. Use inte-
gers from 1 to 6.
306 Chapter 8
Setup Menu
308 Chapter 8
Setup Menu
Practical Applications
You can use CI calculations to do the following:
• Calculate UV spectra
• Calculate the energy of excited states
• Study the making or breaking of bonds, and change of spin
couplings (e.g. dissociation of H2)
• Capture the effects of London dispersion forces
• Describe a nearly degenerate state
• Study the geometry of an excited state
• Study singlet-triplet splittings more accurately
310 Chapter 8
Setup Menu
312 Chapter 8
Setup Menu
1. W. J. Hehre, R. F. Stewart, and J. A. Pople, J. Chem. Phys., 51, 2657 (1969); J. B. Collins, P. V. Schleyer,
J. S. Binkley, and J. A. Pople, J. Chem. Phys., 64, 5142 (1976); R. F. Stewart, J. Chem. Phys., 52, 431
(1970).
2. J. S. Binkley, J. A. Pople, and W. J. Hehre, J. Am. Chem. Soc., 102, 939 (1980); M. S. Gordon, J. S. Bin-
kley, J. A. Pople, W. J. Pietro, and W. J. Hehre, J. Am. Chem. Soc., 104, 2797 (1982); W. J. Pietro, M.
M. Francl, W. J. Hehre, D. J. Defrees, J. A. Pople, and J. S Binkley, J. Am. Chem. Soc., 104, 5039
(1982); K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 7, 359 (1986); K.D. Dobbs, W.J. Hehre, J. Comput.
Chem. 7, 359 (1986); K.D. Dobbs, W.J. Hehre, J. Comput. Chem. 8, 861 (1987); K.D. Dobbs, W.J. He-
hre, J. Comput. Chem. 8, 880 (1987).
1. W. J. Hehre, R. Ditchfield, and J. A. Pople, J. Chem. Phys., 56, 2257 (1972); P. C. Hariharan and J. A.
Pople, Theor. Chim. Acta, 28, 213 (1973); M. S. Gordon, Chem. Phys. Lett., 76, 163 (1980); M.M.
Francl, W.J. Petro, W.J. Hehre, J.S. Binkley, M.S. Gordon, D.J. DeFrees and J.A. Pople, J. Chem. Phys.
77, 3654 (1982); V. Rassolov, J.A. Pople, M. Ratner and T.L. Windus, J. Chem. Phys. 109, 1223
(1998) .
2. R. Krishnan, J. S. Kinkley, R. Seeger, and J. A. Pople, J. Chem. Phys., 72, 650 (1980); A. D. McLean and
G. S. Chandler, J. Chem. Phys., 72, 5639 (1980); J-P. Blaudeau, M. P. McGrath, L.A. Curtiss and L.
Radom, J. Chem. Phys. 107, 5016 (1997); L. A. Curtiss, M. P. McGrath, J-P. Blandeau, N. E. Davis, !
R. C. Binning, Jr. L. Radom, J. Chem. Phys. 103, 6104 (1995).
3. T.H. Dunning and P.J. Hay, in Modern Theoretical Chemistry, Plenum, New York, 1976.
4. T.H. Dunning, Jr., J. Chem. Phys. 53, 2823 (1970). .
5. A. Schafer, C. Huber and R. Ahlrichs, J. Chem. Phys. 100, 5829 (1994).
314 Chapter 8
Setup Menu
1. T.H. Dunning, Jr. J. Chem. Phys. 90, 1007 (1989); D.E. Woon and T.H. Dunning, Jr. J. Chem. Phys. 100,
2975 (1994).
2. N. Godbout, D. R. Salahub, J. Andzelm, and E. Wimmer, Can. J. Chem. 70, 560 (1992).
Basis Set Specify a basis set for the current selection (if any)
or for the whole molecular system.
No basis set Do not use any basis set for the current
selection (if any) or for the whole molecu-
lar system. This option may be useful only
when applying an extra basis function to
atoms.
Minimal Selects the STO-3G basis set.
(STO-3G)
Small Selects the 3-21G basis set.
(3-21G)
Medium Selects the 6-31G* basis set.
(6-31G*)
Large Selects the 6-31G** basis set.
(6-31G**)
Other Choose this option and invoke Assign
Other Basis Set in order to choose another
basis set.
Assign Other Click on this button to bring up the Assign
Basis Set... Other Basis Set dialog box, which contains
a full list of basis sets (except for the basis
sets already listed in this dialog box).
Extra Basis Click on this button to bring up the Extra Basis
Function... Function dialog box, which lets you add an extra
316 Chapter 8
Setup Menu
HyperChem lists all the basis sets in this dialog box, except for the
basis sets already listed in the Ab Initio Method dialog box. These
basis sets can be one of the standard basis sets or your own basis
set saved in a file ending with .BAS. To have your own basis set
appear in this dialog box, an entry must be made for it in the
[basisset] section of the Registry or the CHEM.INI file.
318 Chapter 8
Setup Menu
320 Chapter 8
Setup Menu
322 Chapter 8
Setup Menu
324 Chapter 8
Setup Menu
Number of d Orbitals
There are two different sets of d-type functions (d orbitals) used in
ab initio calculations. One 3d set consists of five 3d functions —
3d0, 3d+1, 3d-1, 3d+2, and 3d-2, and is normally used in STO-NG
basis sets. The other is a set of six 3d functions — 3dxx, 3dyy, 3dzz,
3dxy, 3dxz, and 3dyz, and is used in the split-valence basis sets, such
as, 3-21G, 4-31G, 6-31G, etc.
The contraction exponents and coefficients of the d-type func-
tions were optimized using five d-primitives (the first set of d-type
functions) for the STO-NG basis sets and six d-primitives (the sec-
ond set of d-type functions) for the split-valence basis sets. Thus,
five d orbitals are recommended for the STO-NG basis sets and six
d orbitals for the split-valence basis sets.
Ghost-Atoms
With HyperChem you can always name a selection of atoms using
the Name Selection item of the Select menu. A named selection
called “ghost-atoms” has a special meaning, however. In most sit-
uations any atom that is a “ghost” atom, (i.e., is a member of the
ghost-atom set) is treated just like any other atom and the named
selection “ghost-atoms” is treated like any other named selection.
However, HyperChem may treat the ghost atoms differently from
the regular atoms when performing certain ab initio and DFT cal-
culations. If you have specified the use of “ghost-atoms” in the Ab
Initio and DFT Advanced Options dialog box, then a ghost atom is
represented in ab initio and DFT calculations by its basis set only
and does not have any nucleus or electrons associated with it.
Since there are atomic orbitals (basis functions) belonging to a
ghost atom, there will be Mulliken charges attached to the ghost
atoms after performing an ab initio or DFT calculation.
326 Chapter 8
Setup Menu
Configuration Interaction
Use Configuration Interaction to predict the electronic spectra of
molecules. The Configuration Interaction wave function com-
putes a ground state plus low lying excited states. You can obtain
electronic absorption frequencies from the differences between
the energy of the ground state and the excited states.
A configuration interaction calculation is available only for single
points when the reference ground state is obtained from an RHF
calculation.
The calculation mixes all single determinant wavefunctions that
can be obtained from the ground state by exciting electrons from
a subset of the occupied orbitals (of the ground state) to a subset of
the unoccupied orbitals. The subsets are specified as a fixed num-
ber (highest occupied or lowest unoccupied) or by an energy crite-
rion associated with the energy difference between the occupied
orbital and the unoccupied orbital.
For density functional calculations, the difference in orbital ener-
gies can be used to predict spectra unlike ab initio calculations.
The difference corresponds to the average of singlet-triplet excita-
tion energies. The use of configuration interaction for DFT calcu-
lations is questionable.
328
Setup Menu
330 Chapter 8
Setup Menu
332 Chapter 8
Setup Menu
334 Chapter 8
Setup Menu
Periodic Box
This item places the molecular system in a periodic box containing
water molecules.
When you choose Periodic Box, HyperChem shows you the Peri-
odic Box Options dialog box for setting the solvation conditions.
You can choose the size of the box and the smallest distance
between the solute and water molecules.
336 Chapter 8
Setup Menu
ing In vacuo (see the next section). The water molecules remain in
the molecular system.
HyperChem’s periodic boundary conditions provide a sharp, rect-
angular cutoff of the distance for calculating interactions between
nonbonded atoms. An atom interacts only with one nearest image
of other atoms and never with an image of itself. This sharp cutoff
can cause discontinuities in the potential surface that interfere
with geometry optimization and molecular dynamics calculations.
To avoid this, HyperChem automatically changes the cutoff con-
dition to Switched (see “Force Field Options Dialog Box” on page
293) for a molecular system in a periodic box. You can also choose
Shifted cutoffs. These options gradually decrease nonbonded inter-
actions over a specified distance.
To Remove solvent:
1. Choose molecule selection via Select/Molecules.
2. Select the solute molecule(s).
3. Use Select/Complement Selection to select the solvent.
4. Use Edit/Clear to delete the selected solvent.
You can hide or display the periodic box by choosing Show Periodic
Box on the Display menu. The boundary conditions remain as part
338 Chapter 8
Setup Menu
of the molecular system when you turn off the appearance of the
box.
( 18.62Å ) × ------------
3 1 cm 3 3 23 -1
- × 1.00 g/cm × 6.023 × 10 mol
8
10 Å
# molecules = ---------------------------------------------------------------------------------------------------------------------------------------
18.02 g/mol
= 215.8
Restraints
Use this menu item to add harmonic restoring forces to atoms,
interatomic distances, angles and torsion angles during a molecu-
lar mechanics or quantum-mechanical calculation. You must first
set up the atoms that you want to restrain as named selections (see
“Name Selection” on page 237). A named selection of one atom
can be tethered to a point. Named selections of two, three or four
atoms can be restrained to specific atomic separations, angles or
torsions respectively.
340 Chapter 8
Setup Menu
Setting Up Restraints
To set up restraints for a molecular mechanics calculation:
1. Turn on Multiple Selections on the Select menu.
2. With the Selection tool, select 1, 2, 3, or 4 atoms that define an
atom, length, angle, or torsion angle that you want to restrain
342 Chapter 8
Setup Menu
Applying Restraints
To use selections for restraints:
• Choosing a name: L-click on a name (for example,
2-Distance1). HyperChem highlights the name, indicating an
active choice.
• Canceling a choice: L-click on a highlighted name.
• Moving a choice to the Restraints list: L-click on Add. Active
choices (highlighted) in the Selections list move to the
Restraints list.
• Moving a choice to the Selections list: L-click on Remove.
Active choices in the Restraints list (highlighted) move to the
Selections list.
Set Velocity . . .
Use Set Velocity to interrogate current values of velocity and specify
the velocities of the selected atoms (or all atoms, if none are
selected).
The value in this dialog box that show you current conditions are:
Average Shows the current average vector (magnitude and
Velocity direction cosines) of the selected atoms
344 Chapter 8
Setup Menu
Network . . .
Use Network to specify a remote server to perform molecular
mechanics and quantum mechanical calculations.
346 Chapter 8
Setup Menu
Edit Parameters
Use Edit Parameters to interactively see the parameters being used in
your calculations and to potentially set new values for (i.e. edit) a
parameter. This menu item is enabled only for molecular mechan-
ics and semi-empirical quantum mechanical methods but not for
ab initio or DFT.
Depending upon whether one, two, three, or four atoms are
selected, a dialog box will show the parameters for the selected
atom (type or atomic number), bond (two types), angle (three
types), or torsion (four types).
If you edit a parameter associated with certain types or atomic
numbers, the new value will apply to all types or atomic numbers
with the same value. thus, for example, you might select a specific
carbon atom and change its parameters. These changes apply to all
carbon atoms. You cannot change the parameters for only a single
atom but rather the changes apply to all identical atomic numbers
(semi-empirical quantum mechanics) or types (molecular mechan-
ics plus TNDO).
The information you see will be determined by the current com-
putational method and by whether it is atom, bond, angle, or tor-
sion information.
Note: Prior to editing parameters, it is important to copy your
parameter set so as to retain an original unedited copy. If you loose
your original parameters, you may have to reinstall HyperChem to
get them back. The Copy button in the Select Force Field Parameter
Set dialog box described below assists in this process.
Caution: If you edit parameters, HyperChem automatically creates
a new *.PAR file for you. Since HyperChem only uses PAR files in
actual calculations, be sure your parameters files have been com-
piled into PAR files if you edit parameter files directly.
Atom Parameters
Selecting an atom and molecular mechanics will tell you about the
non-bonded parameters:
You must click on the Edit button in order to edit values. Click on
Save to adopt the new value or Cancel to leave the values alone.
Selecting an atom and semi-empirical quantum mechanics will tell
you about the semi-empirical parameters for that atomic number:
348 Chapter 8
Setup Menu
The information you obtain will differ depending upon the partic-
ular semi-empirical method chosen:
Bond Parameters
If you select a bond, then the parameters shown are the bonding
parameters for the particular molecular mechanics method:
Angle Parameters
The display of angle parameters (ethane) is as follows:
Torsion Parameters
The display of torsion parameters is as follows:
350 Chapter 8
Setup Menu
Note: The Registry lists files for each force field that make up a
parameter set. The parameter files are in the directory specified by
the ChemParmPath setting in the File/Preferences/Path property
sheet.
To modify existing parameter files or to set up alternate parameter
files, see “Force Field Parameters” on page 659.
L-click on the parameter set that you want to use for a force field.
With Release 7 and the TNDO method, it is possible to have a vari-
ety of parameter sets for a semi-empirical method and the above
dialog box has been extended to the TNDO method.
352 Chapter 8
Setup Menu
Reaction Map . . .
After you have defined the named selections REACTANT and
PRODUCT (see “Name Selection” on page 237), you can use this
dialog box to set up a starting point for a Synchronous Transit
transition state search (see “Transition State” on page 386). The
menu item is gray and unavailable unless both REACTANT and
PRODUCT have been defined and contain the same numbers of
atoms. If REACTANT and PRODUCT do not contain the same
numbers of the same kinds of atoms, you will not be able to map
all the atoms, and you will have to exit this dialog box with Cancel.
Important: For good results in a Synchronous Transit transition
state search, both the reactants and products should be minimized
(separately) to give local minima before the reaction mapping is
done. One good procedure for doing this is to set up the reactant
state, minimize it, and save it as a file; then rearrange the atoms to
the product state, and minimize again; then use Merge (see
page 82) to add the reactant state back to the workspace.
354 Chapter 8
Setup Menu
356 Chapter 8
Compute Menu
Compute Menu
The Compute menu directs chemical calculations using the molec-
ular system in the workspace and the method you choose on the
Setup menu. You can use the MM+, AMBER, BIO+ (CHARMM),
and OPLS force fields and the various semi-empirical and ab
initio or DFT quantum mechanical methods for calculations.
Using your choice of calculation method in the Setup menu,
HyperChem automatically carries out a calculation.
The Compute menu has these items:
358 Chapter 7
Compute Menu
a. These items are gray and unavailable when you choose the Extended
Hückel method for a calculation or when CI is turned on.
b. This item is gray and unavailable until after you have performed a semi-
empirical or ab initio or DFT calculation on the current system.
c. This item is gray until you have made the proper selection or defined
the proper PLOT1, PLOT2 selections.
Warning Messages
When HyperChem begins a calculation using a molecular
mechanics force field and cannot find appropriate parameters (see
“Parameter Files” on page 660) for the molecular system, it may
show warning messages in a dialog box that tell you the type of
force constant that is missing and the atoms involved. You have
these choices:
Abort Stops the calculation.
Continue Accepts the warning and proceeds to the next
warning message or begins the calculation. With
molecular mechanics force fields, HyperChem
attempts to supply force default constants. Warn-
ing messages may show you the progress of this
process. These warning messages go to a log file, if
active.
Single Point
A single point calculation determines the total energy and RMS
gradient of a molecular system or of selected atoms. With a semi-
empirical or ab initio or DFT method, Single Point also calculates
the electron and charge distribution in the system. Single point
means the calculation is for the present molecular conformation,
a single point on the potential energy surface for the molecular
system. Certain results of single point calculations are available for
display via the Properties... menu item. At the end of a calculation,
HyperChem reports values for Energy and Gradient on the status
line:
Energy The total energy (in kcal/mol).
Gradient The RMS value of all forces on all atoms. The gra-
dient, or force, is the rate of change (first deriva-
tive) of the total energy with respect to displace-
ment in the x, y, or z direction. Since the forces are
a derivative of energy with respect to atomic posi-
tion, the units are kcal/mol/Ångstrom. A value
close to zero indicates a molecular system close to
a conformation with a minimal energy. This mini-
mum is usually one of several possible low energy
conformations (local minima) and not necessarily
the lowest possible state (global minimum).
Caution: Since each calculation method uses different assump-
tions, you should compare numerical results from the same
method only.
Caution: If you apply a Restraint to your system, then any energy
calculations that you perform will include contributions from it
that are not part of the force field. To get an accurate calculation
of the energy of your system, your should remove all applied
restraints and calculate a single-point energy.
360 Chapter 7
Compute Menu
Geometry Optimization
Geometry Optimization calculates and displays a structure with a
minimum energy and minimal atomic forces (Gradient). This is
usually a local minimum. You can do this calculation for selected
atoms or, if there is no selection, for all atoms in a molecular sys-
tem. Use either a molecular mechanics or quantum-mechanical
method.
If you select atoms from the molecular system, unselected atoms
do not move (no geometry optimization), but the calculation uses
the forces that unselected atoms exert on selected atoms. In a semi-
empirical calculation with selected atoms, HyperChem treats only
selected atoms quantum mechanically (see “Extend to sp3” on
page 244).
Note: To save the results of these calculations, choose Start Log on
the File menu. You can also record an image of the molecular sys-
tem by choosing Print on the File menu or Setup Image from
File/Preferences, then choosing Copy Image on the Edit menu.
For more information about this calculation and its applications,
see HyperChem Computational Chemistry, Practical Guide.
362 Chapter 7
Compute Menu
364 Chapter 7
Compute Menu
366 Chapter 7
Compute Menu
Molecular Dynamics
Molecular dynamics calculations simulate the movement of mole-
cules. These calculations have various uses, including studying
equilibrium properties (motion around a minimum on the energy
surface) and kinetic behavior (motion involving change from one
state to another). Equilibrium simulations (at one temperature)
can predict thermodynamic properties of a molecular system.
Kinetic simulations (with controlled heating and cooling) help to
find an energy minimum (simulated annealing). By setting two
molecules to collide, it is possible to model chemical reactions at
the molecular level. (Molecular Dynamics simulations using ab ini-
tio methods take much longer than with molecular mechanics or
semi-empirical methods, but they may model bond breaking and
bond formation more accurately. See comments in Computational
Chemistry about bond breaking and formation.)
HyperChem provides records of molecular dynamics calculations.
You can take snapshots of the molecular system during a
simulation and store these in a file for later analysis. You can also
calculate and graph values for structural or energy variables.
Use this calculation on selected atoms or on all atoms in a molec-
ular system. If you select atoms from the molecular system, unse-
lected atoms do not move (no geometry optimization), but the cal-
culation uses the forces that unselected atoms exert on selected
atoms. In a semi-empirical calculation with selected atoms, Hyper-
Chem treats only selected atoms quantum mechanically (see
“Extend to sp3” on page 244).
368 Chapter 7
Compute Menu
370 Chapter 7
Compute Menu
372 Chapter 7
Compute Menu
374 Chapter 7
Compute Menu
376 Chapter 7
Compute Menu
378 Chapter 7
Compute Menu
2 2 2
1. Dx = 〈 x 〉 – 〈 x〉 = 〈 ( x – 〈 x〉 ) 〉, where x = instantaneous value of EKIN, ETOT, and so on.
2
2 1 n 2 2 1 n
〈 x 〉 = --- ∑ x i , and 〈 x〉 = --- ∑ x i .
ni = 1 ni = 1
Value The average that appears here is for the last value
that you highlighted in one of the lists (Average
only or Avg.& Graph). na means no average yet
available. For a value x, the average over time is
n
1
〈 x〉 = --- ∑ x i . For the RMS deviation of x, the
n
i=1
2
reported average is 〈 x 2〉 – 〈 x〉 .
Average/ This sets the interval for averaging data or plotting
graph period it. Enter a number from 1 to the maximum
number of Data steps. A data step occurs whenever
the calculation reports new data (see “Time Periods
in a Molecular Dynamics Simulation” on page
382).
380 Chapter 7
Compute Menu
minimize
button
reduces
window
to icon
Simulation period
Heat time Run time Cool time
Time steps1
Average/Graph period =
n data (collection) steps
Snapshot period =
n data (collection) steps
1. To adjust the length of Time steps, set Step size in the Molecular
Dynamics Options dialog box.
382 Chapter 7
Compute Menu
Langevin Dynamics
Langevin dynamics is similar in principle to regular molecular
dynamics. It includes frictional effects to simulate the presence of
a solvent implicitly, where regular molecular dynamics requires
inclusion of explicit solvent molecules. Please see the description
in HyperChem Computational Chemistry.
Monte Carlo
The Monte Carlo method samples phase space by generating ran-
dom configurations from a Boltzmann distribution at a given tem-
perature. Averages computed from a properly equilibrated Monte
Carlo simulation correspond to thermodynamic ensemble aver-
ages. Thus, the Monte Carlo method can be used to find average
energies and equilibrium structural properties of complex interact-
ing systems.
A sequence of successive configurations from a Monte Carlo simu-
lation constitutes a trajectory in phase space; with HyperChem,
this trajectory may be saved and played back in the same way as a
dynamics trajectory. With appropriate choices of setup parame-
ters, the Monte Carlo method may achieve equilibration more rap-
idly than molecular dynamics. For some systems, then, Monte
Carlo provides a more direct route to equilibrium structural and
thermodynamic properties. However, these calculations can be
quite long, depending upon the system studied.
You perform Monte Carlo calculations with HyperChem in the
same way as you do Molecular Dynamics calculations. All of the
dialog boxes for Monte Carlo are the same as for Molecular
Dynamics except that a few of the available options are different.
The Monte Carlo Options dialog box allows you to specify num-
bers of steps for running instead of time periods, and a Random
seed which is the starting point for the random number generator.
The Monte Carlo Averaging dialog box allows you to average (and
optionally plot) the acceptance ratio and its RMS deviation, along
with the other averaging values. Please see “Molecular Dynamics
Options Dialog Box” on page 369, and the subsequent sections on
384 Chapter 7
Compute Menu
its dialog boxes, for information about setting up Monte Carlo cal-
culations.
Vibrations
Use Vibrations to compute the vibrational motions of the nuclei,
and use Vibrational Spectrum to display graphically the normal
modes associated with individual vibrations, as well as to display a
graphical representation of an infrared (IR) vibrational spectrum.
You can calculate vibrations using any of the ab initio or DFT or
semi-empirical methods except Extended Hückel.
Use Vibrational Spectrum on the Compute menu to view the results
of the computation.
Use vibrational analysis to perform the following tasks:
To calculate vibrations:
1. Create or load the system that you wish to calculate vibrations
for.
2. Choose a semi-empirical method other than Extended Hückel.
Make sure that None is selected as the CI Method and that the
Convergence limit is 0.01 or smaller.
3. Choose Geometry Optimization on the Compute menu, set the
termination condition to 0.01 and choose OK to start the opti-
mization.
Important: For a valid vibrational analysis the system must be opti-
mized. Extra tight convergence criteria should be used for geome-
try optimization (<0.01 kcal/mol Ångstrom) because the harmonic
analysis is based upon a zero gradient. You must use the same
quantum mechanical method for both the vibrational analysis
and the geometry optimization.
Transition State
This command allows you to find transition states of chemical sys-
tems with any kind of semi-empirical (except Extended Hückel) or
ab initio or DFT method. Several different search algorithms are
available.
The semi-empirical methods were optimized for stable structures,
not for transition states. You are likely to get better results for a
transition state search from an ab initio or DFT calculation than
from a semi-empirical calculation. When you set up the options
for the SCF calculation, you should specify a relatively good con-
vergence (SCF convergence around 0.001) and a larger number of
cycles than usual (perhaps 150 cycles). It is a good idea to have the
convergence acceleration turned on for transition state searching.
386 Chapter 7
Compute Menu
Most of the features of this dialog box are the same as in the Vibra-
tional Spectrum dialog box (see page 406). You can select a vibra-
tional mode by clicking on its line, or by entering the mode num-
ber in the Mode text box. You can use the Zoom and Pan slider bars
to focus on part of the spectrum at a time.
Usually, the vibrational mode with the lowest frequency (Mode #1,
at the right side of the box) is the one that will lead to a transition
state.
388 Chapter 7
Compute Menu
Properties Display
HyperChem will display certain computed properties such as the
Energy and Gradient on the status line. However, this display is
transient. The Properties... menu item allows you to investigate cer-
tain recently-computed properties. To see other computed proper-
ties you might need to create a log file.
The Properties display depends on what is selected at the time you
click on the menu item. If a single atom is selected, then the dis-
play shows the properties of that atom. If two atoms are selected,
then the display shows the properties of “bond”. Otherwise, the
properties of the total molecular system are displayed.
Atom Properties
This dialog box shows the properties of an atom. The dialog box
appears if a single atom is selected when the Properties menu item
is invoked. Leaving out the obvious ones, the properties include:
Bond Properties
The properties of a bond include its length and the computed
bond order. For quantum mechanical calculations, two atoms
need not be “bonded” to have a bond order between them.
390 Chapter 7
Compute Menu
Property This lets you select the property that you are dis-
playing.
Electrostatic This plots the electrostatic potential field
potential due to the electronic charge distribution
and nuclear charges, in units of e/a0. Not
available for Extended Hückel. Selecting
Electrostatic Potential makes the 3D Mapped
Isosurface option available under Represen-
tation; otherwise that option is grayed out.
Total spin This plots the probability of finding more
density spin-up electrons than spin-down elec-
trons at any point in space, in units of
e/a03.
392 Chapter 7
Compute Menu
394 Chapter 7
Compute Menu
Adjust points Use the Grid point step size and the given Spatial
extents values to recalculate the values of the Grid
point counts
Adjust Extents Use the Grid point step size and the given Grid
point counts values to recalculate the values of the
Spatial extents
Contour Grid
Use these options to specify values for the 2D grid used to render
a contour plot. If you have specified black-and-white output set-
tings the positive contours will be drawn as solid lines and the neg-
ative contour lines will be drawn as dashed lines.
Isosurface Rendering
These options specify how the isosurface should be drawn.
396 Chapter 7
Compute Menu
Transparency Level
398
Compute Menu
Plotting Results
HyperChem can plot the results of semi-empirical or ab initio or
DFT calculations as 2D contour plots or 3D isosurfaces and show
the contour lines or isosurfaces on top of the molecular system in
the workspace. If you have a color monitor, the contour colors are
Contour plots are always created parallel to the plane of the screen.
To see different aspects of the value in the plot, you can change the
view (move molecules in the Viewer’s Coordinate system) and cal-
culate a plot again. If the atomic coordinates change (because of
movement in the Molecular Coordinate system), you must repeat
the calculation with Single Point, Geometry Optimization, Molecular
Dynamics or Vibrations.
Contour plots are temporary and disappear whenever HyperChem
revises the display of a molecular system. For example, when you
use a HyperChem tool, such as the Selection tool, contour lines
disappear. Isosurfaces can persist if the workspace is not actually
altered; one can, for example, rotate a structure and isosurface.
To produce a printed record of the plotted wave functions, use
Print (see “Print” on page 94) to send the image directly to a
printer. Use Copy Image (see “Copy Image” on page 206) to send
the image to the Clipboard or a file (or both). You can then use
another program to print this image.
400 Chapter 7
Compute Menu
Orbitals
Once you have performed a semi-empirical or ab initio or DFT cal-
culation you can choose Orbitals to display the energy levels of all
the orbitals, or the contours or isosurfaces for an orbital you spec-
ify. Use the Orbitals dialog box to see degeneracies and near degen-
eracies, HOMO-LUMO gaps, symmetries, orbital occupation
scheme, alpha and beta spin manifolds separately (for UHF calcu-
lations of open shell systems), or d-d splittings (for transition met-
als).
402 Chapter 7
Compute Menu
Zoom Out After you zoom in (by L-dragging the mouse over a
selected group of orbitals), this option displays the
entire range of orbitals in one screen.
Orbital Display Provides you with options for setting the display
options and displaying contour plots or isosur-
faces.
2D Contours Use this option to draw a two-dimensional
contour plot of the selected orbital.
3D Isosurface Use this option to draw a three-dimen-
sional surface which maps out a specified
value of the selected orbital.
Orbital When selected, plot displays the square of
squared the orbital value in a specified plane. This
corresponds to a probability density rather
than a probability amplitude.
Options . . . This displays the Orbital Isosurface
Options property sheet. It is the same as
the “Plot Molecular Properties Property
Sheet” on page 392 except that the “Molec-
ular Properties” and “Mapped Function”
pages are not available.
Plot Displays a contour plot or isosurface of the
selected orbital with the specified options.
Copy Copy the orbital energy diagram to the Windows
clipboard. To get solid and dashed black lines on a
white background for the energy levels, set
Window to White and Bond to Black in the Prefer-
ences dialog box (see page 95).
Note: You cannot display a contour plot or isosurface if Stereo or
Perspective of the Sticks rendering are turned on. If you display an
isosurface and the Wedges option of the Sticks rendering is on, the
wedges will not be shown while the isosurface is displayed.
Describing Orbitals
Molecular orbitals are numbered from 1 to M, where 1 is the lowest
energy orbital and M is the total number of orbitals involved in the
calculation for the current system. In semi-empirical quantum
mechanics methods, the contribution to M is 1 for hydrogen and
404 Chapter 7
Compute Menu
helium atoms (1s), 4 for all main-group atoms (ns, np), and 9 for
all the transition metals. For the Extended Hückel method, which
can calculate d orbitals for Si, P, S, and Cl, use 9. The number of
occupied orbitals, N, is half the number of valence electrons for
closed-shell molecules.
In addition to using a number from 1 to M, HyperChem can iden-
tify orbitals by reference to the HOMO or the LUMO. You can
describe an orbital by HOMO–d or LUMO+d, where d = 0 to max.
For HOMO, max is the number of occupied orbitals minus 1 (N–1).
For LUMO, max is M–N–1.
Vibrational Spectrum
Use Vibrational Spectrum to display graphically the normal modes
associated with individual vibrations, as well as to display a graph-
ical representation of an infrared (IR) vibrational spectrum. Vibra-
tional Spectrum is only available after you have used Vibrations to
compute the vibrational motions of the nuclei (see page 385).
In HyperChem, you can calculate IR vibrational spectra using any
of the quantum mechanical methods except Extended Hückel.
Vibrations represent the intrinsic rhythmic motions of the atoms
within a molecule. Whereas translations and rotations correspond
to motions of atoms relative to an external frame of reference,
vibrations correspond to motions of atoms relative to each other.
The seemingly complex and chaotic trajectories of the nuclei
undergoing vibratory motion can be conceived of as a superposi-
tion of simpler motions called normal modes of vibration, which
generally fall into one of the following classes: stretching, bend-
ing, rocking, or wagging.
Even at 0 Kelvin vibrational motions exist as a consequence of the
Heisenberg Uncertainty Principle. Every molecule contains 3N-6
vibrational modes (or 3N-5 if it is linear), where N is the number
of atoms. Each mode can be IR active, Raman active, IR and Raman
active, or inactive.
Each mode is quantized in energy and collectively (all modes)
result in a spectrum of discrete frequencies. There is a one-to-one
relationship between a normal mode of vibration and a funda-
mental vibrational frequency.
Once you have calculated Vibrations, you can use the Vibrational
Spectrum dialog box to do the following:
• Provide insight into the rigidity of the molecular framework
• Visualize normal modes corresponding to lines in the IR spec-
trum
• Help identify unknown compounds by correlating predicted
versus experimental vibrational frequencies
• Differentiate minima from saddle points on a potential energy
surface.
406 Chapter 7
Compute Menu
To analyze vibrations:
1. Perform a Vibrations calculation (see “Vibrations” on page 385)
for your optimized system.
You may wish to rearrange your screen so that you will be able
to see the system in the workspace and the Orbitals dialog box
at the same time. You cannot resize or move the main window
when the Vibrational Spectrum dialog box is active.
2. Choose Vibrational Spectrum from the Compute menu.
This opens the Vibrational Spectrum dialog box, which shows
the spectrum of frequencies corresponding to each normal
mode. The vertical lines at the top represent all the vibrational
fundamental frequencies. The spectrum at the bottom corre-
sponds to IR-active vibrations. The frequency increases from
the right side to the left side of the dialog box. The height of
the bottom row of lines corresponds to their IR intensities.
3. L-click on a line.
The highlighted line is now violet. Information (normal mode
sequence number, degeneracy, frequency, and intensity) on
this line is shown beneath the spectrum at the bottom of the
dialog box.
With large molecules, the spectrum will have many lines, and
you may not be able to easily select a given line of interest. To
focus in on a line you can use the Zoom and Pan slider bars.
Zoom compresses and expands the displayed range of frequen-
cies. Pan translates or shifts a given range of frequencies.
If you zoom in on the spectrum, the lowest frequency con-
verges toward the upper frequency, which remains constant.
4. Move the dialog box to try and see the system in the work-
space.
This allows you to see the structure and the dialog box simul-
taneously.
5. To visualize the vibrational motions (normal mode) for the
selected line, turn on Animate vibrations, and choose Apply.
HyperChem animates the normal mode that corresponds to
the frequency that you have selected.
6. L-click on a different line or use the [1] and [2] keys to select a
different line and choose Apply.
408 Chapter 7
Compute Menu
Practical Guidelines
The quality of the vibrational frequencies varies widely with the
semi-empirical method that is used. Generally, AM1, and PM3 are
410 Chapter 7
Compute Menu
Electronic Spectrum
Use this command to calculate an ultraviolet-visible (UV-visible)
or “electronic” spectrum following a semi-empirical Single Point
calculation with singly excited configuration interaction (CI).
ZINDO/S is specifically parameterized to reproduce ultraviolet-vis-
ible spectra. However, you can use any of the ab initio or semi-
empirical methods, except Extended Hückel. To generate a UV-vis-
ible spectrum, you must first perform a singly excited CI calcula-
tion with the quantum mechanical method you choose. This
menu item is unavailable unless a CI calculation has been per-
formed for the current system.
Caution: You can request Configuration Interaction calculations
using Density Functional methods but the results are suspect. The
computed Kohn-Sham orbitals from a density functional calcula-
tion have a different interpretation from the Hartree-Fock orbitals
of an ab initio calculation and the meaning of Configuration Inter-
action calculation is not obvious. The difference in energy
between occupied and unoccupied Kohn-Sham orbitals is
expected to represent an average of the appropriate singlet-triplet
excitation energy.
Applications of UV-visible spectroscopy include diverse topics in
photochemistry, photobiology, photophysics, and analytical spec-
troscopy. Examples include:
412
Compute Menu
Practical Guidelines
If you are studying the electronic spectra of conjugated organic
molecules, such as dyes, it is often sufficient to include only a few
orbitals in the CI. For instance, if you are calculating the UV visible
spectrum of p-amino-benzoic acid, the wavelength of the two
414 Chapter 7
Compute Menu
416 Chapter 7
Compute Menu
Current Selection
The independent variable can be chosen via the current selection. If
the current selection is appropriate (one of the above) then the
menu item Potential... will be active and a potential energy plot
can be initiated by clicking on this menu item. If the current selec-
tion is inappropriate, e.g. six atoms are selected or two atoms are
selected but they are not bonded, then the menu item will be inac-
tive (grayed).
This option for named selections will only be available if the cur-
rent selection is an appropriate one for a potential energy plot. If
it is, however, then the named selection will be remembered and
can be used to request a potential energy plot at some later time.
The named selection PLOT1 is used, however, only if no current
selection has been made. A current selection always overrides any
PLOT1 named selection.
Requesting a Plot
If the current selection is appropriate or there is no current selec-
tion but PLOT1 is defined, then the menu item Potential... will be
active. Clicking on this menu item will bring up a dialog box for
selecting the values of the independent variable. If you are using
the current selection, you will see the following dialog box:
418 Chapter 7
Compute Menu
Plotting Options
Pushing the Properties button brings up the following dialog box:
Help
On-line help for the graphing control is available via the help but-
ton shown above. HyperChem does not use all the controls capa-
bility and some of the tabs (for example, the 2D and 3D Gallery
tabs) shown in association with HELP are not available in Hyper-
Chem. For example, only 2D line plots and 3D surface plots are
used for plotting potential energy curves and no other choice is
available via HyperChem and the tabs shown above.
Types of Fitting
The first thing that may be required in obtaining a good plot is to
choose an appropriate fitting method. By default splines (as
shown above) are drawn through the points. This is often a poor
choice when the data is not very smooth. A better choice is often
420 Chapter 7
Compute Menu
Data
The data values computed by HyperChem and plotted by Hyper-
Chem can be displayed by clicking on the Data tab of the Graph
Control dialog box obtained by clicking on the Properties... but-
ton of the graph. These values can be modified so that you can
request your own plotting of data if so desired.
422 Chapter 7
Compute Menu
Note that this is a screen shot of the dialog box not what the sys-
tem tag would allow you to print or copy to the clipboard. Those
pictures would not have the Properties button, the dialog frame
and title bar, etc.
Two-Dimensional Potentials
Two-dimensional potential energy plots operate essentially identi-
cal to the one-dimensional potential energy plots except that you
cannot use the current selection to describe the independent vari-
ables. You must use named selections, PLOT1 and PLOT 2. A cur-
rent selection can describe one variable but not two! Thus, you
must first name PLOT1 and PLOT2 as any bond length, angle or
torsion. The two variables need not be of the same kind. Clicking
one the menu item Potentials... will then initiate the creation of a
3D graph describing the energy as a function of PLOT1 and PLOT2.
Example
A simple example of a 2D potential energy plot is a plot of the
energy as a function of the C1-C2 and C2-C3 torsional angles in n-
Pentane. These two torsions describe the carbon backbone and the
energy is at a nominal minimum when these angles describe a
The same data but with a different view of the 3D surface is shown
below:
424 Chapter 7
Compute Menu
Cautions
Two-dimensional potential energy plots may require time and
patience to obtain. For large numbers of points, the delay in dis-
playing the data can be significant. HyperChem may also add
points to obtain a smoother final plot.
Conformational Search
Overview
The Conformational Search module is a program for finding low
energy conformations of molecular systems in HyperChem by
varying user-specified dihedral angles. The method involves ran-
dom variation of dihedral angles to generate new structures and
then energy minimizing each of these angles. Low-energy unique
conformations are stored while high-energy or duplicate structures
are discarded.
The generation of new starting conformations for the energy min-
imization uses random variation of dihedral angles. Rotation is
used for acyclic bond dihedral angles. For dihedral angles in a
ring, dihedral angles are rotated by the "torsional flexing" motion
of Kolossváry and Guida [I. Kolossváry and W. C. Guida, J. Comput.
Chem., 14, 691 (1993)], which effectively leads to new ring confor-
Tutorial
The following steps should be used to run Conformation Search:
1. Conformational Search may be started by clicking on the Con-
formational Search menu item of the Compute menu in Hyper-
Chem. HyperChem should have a molecular system in the
workspace and the desired calculation options set up (via the
Setup menu). It is a good idea to run a single point calculation
(via Compute/Single Point) first to check for required parame-
ters.
2. The dihedral angles to be varied must be set up as named selec-
tions in HyperChem. If you wish to choose the names for the
selections or only wish to vary a few dihedral angles, use the
Select/Name Selection menu in HyperChem to name each of
the dihedral angles that you wish to be varied in the search.
426 Chapter 7
Compute Menu
Background
The goal of a conformational search is usually to determine con-
formations of a molecular system that are low in potential energy.
As well as determining the global minimum of the potential
energy surface, it is important to determine all minima that will be
thermally populated and will therefore influence macroscopically
observable properties of the system.
For small systems with few conformational degrees of freedom, a
search by systematic variation of all conformational parameters is
possible. However the number of combinations to be systemati-
cally explored grows exponentially with the number of degrees of
freedom. The straightforward systematic search quickly becomes
prohibitive for systems of more than few conformational parame-
ters.
Several approaches have been applied to the problem of determin-
ing low-energy conformations of molecules. The field has been
reviewed recently [A. E. Howard and P. A. Kollman, J. Med. Chem.,
31, 1669 (1988)]. A common theme is to limit the exploration of
conformational space by varying only those parameters that affect
the potential energy the least. Since molecular flexibility is usually
due to rotation of unhindered bond dihedral or torsion angles,
with little change in bond lengths or bond angles, a frequent
choice (used here) is to only consider the variation of bond torsion
angles. Another strategy, to reduce computation, is to discard
structures without the cost of energy evaluation or minimization
by using quick tests for unfavorably close non-bonded atom sepa-
rations and for ring closure bond lengths that are too long or short.
Many of the approaches share a common overall design, also
employed here.
428 Chapter 7
Compute Menu
430 Chapter 7
Compute Menu
3. Geometry Optimization
In step 3 geometry optimization is used to find a local minimum
on the potential surface starting from a structure resulting from
step 2. The choice of optimizer has minor effect on the conforma-
tional search, though it is preferable to employ an optimizer that
converges quickly to a local minimum without crossing barriers on
the potential surface. The latter point is important for not missing
local minima, but usually a characteristic of an efficient optimiz-
ers.
432 Chapter 7
Compute Menu
Reference
This section describes the main window, menus and dialog boxes
of Conformational Search.
Main Window
The main window for Conformational Search has two tables for
displaying search results.
434 Chapter 7
Compute Menu
Torsion Angle Val- The last columns hold the values of the
ues torsion angles that are being varied. The
columns are labeled with the selection
names of the torsions.
File Menu
The file menu is used to read and write files, and it contains:
436 Chapter 7
Compute Menu
Edit Menu
The Edit menu is used to copy the tables from the main window to
the clipboard of put conformation into HyperChem.
Copy This will copy any selected cells from the tables into
the clipboard. Only cells from one table at a time
can be copied. If the selected cells are in the Con-
formations Found table, the row and column head-
ings will be copied to the clipboard as well. The
clipboard format is text, with tab characters sepa-
rating the columns.
Put Molecule If a cell in the Conformations Found table has the
focus (indicated by a dotted line around the cell),
this will load that conformation into HyperChem
and display the previously found potential energy
in the status line.
Options Menu
This menu sets up options for performing the conformational
search. It contains the following menu items:
The options should be set up after you have read in or created your
system in HyperChem and have selected and named the torsion
angles that you wish to vary.
Run Menu
This menu is used to start a new search or resume a previous
search. It contains the two items:
438 Chapter 7
Compute Menu
Cancel Menu
This menu is active when a search is running and HyperChem is
optimizing. You may click on it, or use Alt+C on the keyboard to
suspend or stop the search.
Help Menu
This menu can be used to view information about the Conforma-
tional Search module. It contains:
Named Torsion Lists the named selections which specify bond tor-
Angles sion angles. You may select one or more items in
this list. To select a contiguous range, click on the
first and shift-click on the last that you desire. You
may use control-clicks to independently select or
deselect members of the list. Double-clicking on
an item will add it to the Torsions To Vary list.
Torsions To Vary Lists the named bond torsion angles which are to
be varied in the search. You may select one or
more items in this list, as in the above list. Double-
clicking on an item will remove it from the list.
Add -> Adds the selected names in the Named Torsion
Angles list to the Torsions To Vary list.
<- Del Removes the selected names in the Torsions To
Vary list.
Add All Adds all names in the Named Torsion Angles list to
the Torsions To Vary list.
Del All Removes all names from the Torsions To Vary list.
OK Close the dialog box and accept the changes
made.
Cancel Close the dialog box without accepting the
changes made.
Define Rings… Display the Define Rings dialog box.
RMS Atoms… Display the Atoms To RMS Compare dialog box.
Set Ranges… Display the Setup Ranges dialog box.
440 Chapter 7
Compute Menu
Ranges for varia- This section is used to set the ranges for variation of
tions bond torsion angles.
Number of simul- Use this to set the range of how many tor-
taneous variations sions will be varied simultaneously. If the
range includes values larger than the total
number of torsions to vary they will not be
used. For acyclic systems this number can
be as large as the actual number of tor-
sions to vary. For cyclic systems larger val-
ues can lead to severely distorted
structures after variation, resulting in
reduced efficiency of the search.
Range for acyclic Use this to set the range for changing
torsion variation bond torsion angles that are not in rings.
Range for ring Use this to set the range for changing
torsion flexing bond torsion angles that are in rings. The
torsion angle will actually vary by twice
the given range, since each end is rotated
by the same amount but in opposite direc-
tions.
Initial Conforma- This specifies the method to use for choosing initial
tions conformations.
442 Chapter 7
Compute Menu
Duplication Tests This sets the tests for determining duplicate confor-
mations. All checked tests must be passed for a
conformation to be considered a duplicate. For
efficiency the testing is aborted as soon as any test
fails. The tests are performed in the order listed,
with the quickest tests coming first for efficiency.
444 Chapter 7
Compute Menu
RMS error within Check this box and enter a distance to cal-
culate the residual root mean square error
from a least squares overlay of the atoms
in the conformations. This option is rela-
tively expensive to calculate, so it is advis-
able to use one or both of the above
duplication tests when possible to reduce
the number of RMS error calculations.
The following three options affect the cal-
culation of the RMS error.
Atoms to compare This lists the atoms that you have chosen to include
in RMS error calculations. The atoms are listed by
atom number within a molecule followed by a
comma and the molecule number and a space.
Accept Use this button to add the currently selected atoms
in HyperChem to the list.
446 Chapter 7
Compute Menu
Random Number This is used to specify the seed for the pseudo ran-
Seed dom number generator for new searches.
From the com- Check this to use a number from the com-
puter's clock puter's clock. This will effectively use a dif-
ferent seed every time.
The number Check this and type the number that you
wish to use if you want to be able to
repeat a search.
448 Chapter 7
Compute Menu
Files
Conformational Search reads and writes two types of file, its ini-
tialization file and Hypercube Conformational Search (HCS) files.
HCCONF.INI File
Conformational Search saves all option settings, previous files and
window size and position in the file HCCONF.INI in your Win-
dows directory when it is closed. This file is read and the settings
are restored when Conformational Search is started. If the file can-
HCS Files
The Hypercube Conformational Search (HCS) file format is a text
file that contains all search options (in the same format as in
HCCONF.INI), a HIN description of the system, the chosen tor-
sions, the defined rings and the results of the search including Car-
tesian coordinates for all conformations that are kept.
This file format is HIN compatible in that HyperChem can read the
HIN sections of these files and ignore the rest of the information
without error. However if HyperChem is used to read such file and
then it is written out again with the same name, all search infor-
mation will be lost.
Limitations
A search can only be stopped reliably while HyperChem is per-
forming an optimization. Choosing Cancel in Conformational
Search does not stop the optimization in HyperChem.
Conformational search sets up continuous DDE links to Hyper-
Chem to send commands, receive data, and monitor for changes
in the molecular system. On slower computers, the monitoring of
the HyperChem system can interfere with drawing atoms and
bonds. If you find this to be a problem, create your system before
starting Conformational Search and close Conformational Search
when you are no longer using it.
QSAR Properties
Overview
Quantitative Structure-Activity Relationships (QSAR) are attempts
to correlate molecular structure, or properties derived from molec-
ular structure, with a particular kind of chemical or biochemical
activity. The kind of activity is a function of the interest of the
user: QSAR is widely used in pharmaceutical, environmental, and
agricultural chemistry in the search for particular properties. The
molecular properties used in the correlations relate as directly as
possible to the key physical or chemical processes taking place in
the target activity.
450 Chapter 7
Compute Menu
Tutorials
The following tutorials demonstrate some ways that you can use
QSAR Properties.
4. Press the Compute button, or press the Enter key, to set the cal-
culation going. The status line gives information concerning
the progress of the calculation, and the charges are updated on
the screen at the end of the calculation. Note that oxygen is
assigned a substantial negative charge (-0.39) and that this
charge has been drawn almost equally from the hydroxyl
hydrogen atom and the ethyl group.
Note: You do not have to display the charges in order to do this
calculation: the display was included in this exercise for pedagog-
ical purposes only.
2. Calculating Log P
This lesson shows how you can choose how to see the results of
your calculations, and save them for later reference.
1. Draw butan-1-ol (CH3CH2CH2CH2OH) on the HyperChem
screen, and launch QSAR Properties, if you have not already
done so.
2. Press the Log P button to select that property.
3. Choose Output Options… under the Output menu, and check
the Results Window and Atomic Contributions check boxes.
Then press OK to save these options.
4. Press the Compute button in the QSAR Properties main win-
dow to set the calculation going.
5. The net result appears on the QSAR Properties status line (log
P = 0.94). The Results Window appears and contains the con-
tribution to this value from each atom in the system, in addi-
tion to the net result. If you wish to save this information for
later use, you can do so using the menus on the Results Win-
dow. The experimental log P for butan-1-ol is 0.88.
452 Chapter 7
Compute Menu
Background
This section provides background on the methods used to calcu-
late properties in QSAR Properties.
Partial Charges
QSAR Properties uses an empirical model based on the Partial
Equalization of Orbital Electronegativity (PEOE) approach of
Gasteiger and Marsili [J. Gasteiger and M. Marsili, Tetrahedron, 36,
3219-3288 (1980)]. It computes charges on the system in the
HyperChem workspace, or selected part thereof, for use with
molecular mechanics force fields or in QSAR studies. The calcula-
tion is very much faster than a semi-empirical computation.
Limitations
The PEOE scheme of Gasteiger and Marsili is implemented, but
their modifications for conjugated systems and small rings have
not been incorporated into the module. All unparameterized
atoms act as "walls": no charge is transferred to or from them dur-
ing the course of the calculation.
Electronegativity is an empirical concept that has been closely
related to atomic charges and bond polarity in a qualitative man-
ner over many years. According to the electronegativity model,
electronic (negative) charge flows from less electronegative atoms
to more electronegative atoms. The electronegativity of an atom
decreases as it accumulates negative charge, and thus the elec-
tronegativity of each atom will equalize, stopping charge flow at a
certain point, which corresponds to the observed charge distribu-
tion. Gasteiger and Marsili incorporated these basic ideas into a
i 1 1 n n 1 n n
q n = ----n- ⋅ ∑ ------
+
- ( χj – χ i ) + ∑ -------
+
( χk – χ i )
2 j χi k χk
454 Chapter 7
Compute Menu
Volume
This calculation is very similar to the Surface Area (Grid) calcula-
tion. It employs a grid method described by Bodor et al. The speed
is similar to that of the Surface Area (Grid) calculation. The vol-
ume calculation employs the same VDWGRID.TXT parameter file
as the Grid Surface Area calculation.
Hydration Energy
The hydration energy is a key factor determining the stability of
different molecular conformations. The method employed here is
designed for peptides and proteins, and is that described by the
research group of Scheraga [T. Ooi, M. Oobatake, G. Nemethy,
H. A. Scheraga, Proc. Natl. Acad. Sci. USA, 84, 3086 (1987)]. The
calculation is based on exposed surface area, and employs the sur-
face area as computed by the approximate method (above),
weighted by atom type. Parameters here are limited.
Log P
Calculation of Log P is carried out using atomic parameters derived
by Ghose, Pritchett and Crippen [J. Comp. Chem., 9, 80 (1988)] and
later extended by Ghose and coworkers [V. N. Viswanadhan,
A. K. Ghose, G. N. Revankar, R. K. Robins, J. Chem. Inf. Comput.
Sci., 29, 163 (1989)].
The parameters are stored in the file LOGP.TXT in your LIBRARY
directory. The following graph gives an indication of the accuracy
of the method.
456 Chapter 7
Compute Menu
ChemPlus
3
2.5
2
1.5
1
0.5
0
-2 -1 -0.5 0 1 2 3 4 5
-1 Experimental Log P
Refractivity
The refractivity is estimated by the same method as Log P (above).
Ghose and Crippen presented atomic contributions to the refrac-
tivity in exactly the same manner as to the hydrophobicity.
[A. K. Ghose and G. M. Crippen, J. Chem. Inf. Comput. Sci., 27, 21
(1987), V. N. Viswanadhan, A. K. Ghose, G. N. Revankar,
R. K. Robins, J. Chem. Inf. Comput. Sci., 29, 163 (1989)]. The
parameters are contained in the file REFRACT.TXT in your
LIBRARY directory.
60.00
50.00
ChemPlus
40.00
30.00
20.00
10.00
0.00
0.00 10.00 20.00 30.00 40.00 50.00 60.00
Observed
Polarizability
The polarizability is estimated from an additivity scheme pre-
sented by Miller [K. J. Miller, J. Am. Chem. Soc., 112, 8533 (1990)].
Different increments are associated with different atom types. For
a variety of organic molecules, the estimates are accurate to within
1 to 3 %. However, the method does not distinguish isomers of
any type. The parameters are held in the file POLARIZE.TXT in
your LIBRARY directory.
40
30
ChemPlus
20
10
0
0 10 20 30 40
Experimental
Reference
This section describes the main window, menus and dialog boxes
in QSAR Properties. The DDE commands to which QSAR Proper-
ties can respond are described in a separate section.
Main Window
The QSAR Properties main window contains a set of properties that
can be calculated by the program. To fully specify some of the cal-
culations you also need to set options in the Calculation Options
458 Chapter 7
Compute Menu
Surface Area Use this for a rapid calculation of the surface area of
(Approx.) a system using an analytical method . The type of
surface (van der Waals or solvent-accessible) is
specified in the Calculation Options dialog box.
The method is parameterized for organic mole-
cules.
Surface Area Use this for a slower but more accurate calculation
(Grid) of the surface area of a system using a grid
method. The type of surface (van der Waals or sol-
vent-accessible) and the density of grid points is
specified in the Calculation Options dialog box.
This method is of general applicability.
File Menu
Use this menu to read HIN files into QSAR Properties or to get a
molecular system from HyperChem.
460 Chapter 7
Compute Menu
Options Menu
Use this menu to specify options for calculating properties.
Cancel Menu
Press Cancel to stop a calculation. No results are recorded for that
calculation.
Help Menu
Use this menu to access information about this module.
About QSAR Prop- Brings up the About QSAR Properties dialog box.
erties…
462 Chapter 7
Compute Menu
Note: Use the above option with care. If you choose this option
you will lose the current charges in your HyperChem system and
replace them with numbers that are not atomic charges.
464 Chapter 7
Compute Menu
Example
To see how these commands can be put together to make a simple
macro that carries out a set of calculations on named HIN files, we
present an example. The following is an Excel macro.
466 Chapter 7
Compute Menu
4 =WHILE(NOT(ISBLANK(SELECTION())))
5 =EXECUTE(Channel,"[open-file &SELEC-
TION() &".hin]")
6 vlResult =EXECUTE(Channel,"[do-calculation]")
7 vlResult=REQUEST(Channel,"QSARResult")
8 =FORMULA(vlResult,"rc[1]")
9 =SELECT("r[1]c")
10 =NEXT()
11 =TERMINATE(Channel)
12 =RETURN()
Hints
N N
For Log P and refractivity calculations, the general rule is that such
structures should be drawn in a delocalized manner. Pyrrole, for
instance, should be drawn with an aromatic ring as on the right
rather than two localized double bonds as on the left.
468 Chapter 7
Cancel
Cancel
You can choose Cancel on the menu bar or press [Esc] when Hyper-
Chem is directing a chemical calculation or when it is reading in a
structure from a file. When you L-click on Cancel, there might be
a short delay before the process ends and HyperChem is fully
active again.
During a calculation or reading a file, all menu items are gray and
inactive except for Cancel. You can use only the HyperChem tool
icons to translate or rotate molecules, to zoom, or to adjust the
clipping slab.
470 Chapter 7
Drawing Molecules
Chapter 9
Constructing Molecules
Drawing Molecules
Using the HyperChem Drawing tool (the first tool on the toolbar),
you can sketch the atoms in a molecule, connecting them with
covalent bonds. You can then use HyperChem’s Model Builder to
drawing tool
To draw a molecule:
1. Choose Default Element on the Build menu. In the Element
Table dialog box (see page 121), L-click on the element for
drawing. For example, you can start to draw with carbon
atoms, then change to another element when needed.
2. From the Element Table dialog box, turn on Allow Arbitrary
Valence (✓) if you need to add more than the normal number
of bonds to an atom. You can add up to twelve bonds per atom.
Turn on Explicit hydrogens (✓) if you want to add hydrogen
atoms while drawing. If not, HyperChem can automatically
add hydrogens later, when you use the Model Builder.
3. L-click on the Drawing icon and move the Drawing tool into
the workspace.
472 Chapter 9
Drawing Molecules
Note: The maximum number of atoms that you can add is 32,767
less the number of molecules and residues., structural restraints,
etc.
Removing Atoms
To remove atoms and bonds:
1. L-click on the Drawing tool icon to activate the tool.
2. Position the Drawing tool on a bond or atom that you want to
remove.
3. R-click on an atom. This removes the atom and its bonds to
other atoms. If you R-click on a single bond, HyperChem
removes the bond and any atoms connected only through this
bond.
Caution: You can use any elements from the periodic table for
drawing. However, the Model Builder (see page 124) might not
provide appropriate bond lengths or angles for all atoms.
While Drawing
You can change the default element any time while drawing by
changing the choice in the Element Table dialog box:
474 Chapter 9
Drawing Molecules
After Drawing
To change an element after drawing a molecule:
1. From the Element Table dialog box, choose a different ele-
ment. For example, if you drew your molecule with carbon as
the default element and you want to change a carbon to an
oxygen, click on oxygen in the dialog box.
2. With the Drawing tool, L-click on the atom to change. The
atom changes to the new default element.
Note: You can change atoms in 2D drawings or, after using the
Model Builder, in 3D structures.
Element Properties
If you shift-click on an element button in the Element Table dialog
box, the Element Properties box will appear. This shows physical
properties of the element that you selected. Alternately, if you click
on the Properties button of the Default Element dialog box, the
properties of the default element will be displayed.
L-click R-click
no bond
single bond
double bond
triple bond
double-click
any
bond
conjugated
bond
single
bond R-click
Note: You can change the order of bonds in 2D drawings or, after
using the Model Builder, in 3D structures.
If Show Multiple Bonds on the Display menu is on (✓), you see the
order of the bonds in the molecular structure as single, double, tri-
ple, or dotted lines (possibly aromatic circles). If Show Multiple
Bonds is off, all bonds appear as single lines. If you change the
bond order, the new bond order appears on the status line.
476 Chapter 9
Drawing Molecules
Aromatic Rings
An aromatic ring is created by double clicking on the bond of a
ring. The default is to display this ring with aromatic bonds that
are rendered with a dotted line as shown below.
The alternative is to use the menu item, Show Aromatic Rings as Cir-
cles, to display aromatic rings in a way that may be more pleasing
for printing or other situations. Either rendering can be used inter-
changeably.
478 Chapter 9
Drawing Molecules
With Explicit Hydrogens on, Add H & Model Build (on the Build
menu) changes to Model Build. The Model Builder does not auto-
matically add more hydrogens.
Note: To draw a hydrogen with more than one bond, choose
hydrogen as the default element and turn on Allow Ions.
If you draw atoms with Explicit Hydrogens on, you can later choose
Add Hydrogens on the Build menu to fill in the hydrogens you did
not add manually.
draw with
Explicit
Hydrogens on
To draw only heavy atoms, use the Drawing tool with Explicit
Hydrogens off. HyperChem automatically adds hydrogens and
then creates a 3D chemical structure when you use the Model
Builder (Add H & Model Build on the Build menu).
draw with
Explicit
Hydrogens off
Cut
Cut moves the selected atoms from the workspace to the Clip-
board, replacing previous contents of the Clipboard. You can then
use Paste to copy the atoms back to the workspace.
Cut
selected atoms
(appear in Thick line)
Note: Cut removes selected atoms and all bonds connecting these
atoms to each other and to the rest of the molecular system.
Copy
Copy places a duplicate of selected atoms onto the Clipboard,
replacing the previous contents of the Clipboard. You can use Paste
to copy the atoms back to the workspace.
Note: Copy duplicates selected atoms and the bonds connecting
these atoms. It does not remember the bonds between this selec-
tion and the rest of the molecular system.
Paste
Paste copies the contents of the Clipboard to the workspace. The
atoms from the Clipboard appear a few Ångstroms away from the
center of mass of the molecular system previously in the work-
space.
480 Chapter 9
Changing Molecular Conformation
Paste Paste
again
selected atoms
appear in
Thick lines
Note: Paste is not the exact reverse of Cut. Cut removes selected
atoms and all bonds connecting these atoms to each other and to
the molecular system. Paste provides only the atoms and the
bonds connecting these atoms to each other.
• The Set items on the Edit menu (see “Build Menu” on page
117) change a selected bond length, bond angle, or torsion
angle (see “Selecting” on page 32). These changes are immedi-
482 Chapter 9
Changing Molecular Conformation
To use wedges:
1. Choose Rendering on the Display menu to open the Rendering
dialog box. Choose Sticks and check Wedges, then L-click on
OK.
2. L-click on the Drawing tool icon to get into Drawing mode.
3. Place the Drawing Tool over a bond between two atoms each
with at least three neighbors, hold down the [Shift] key, and L-
click.
If one of the atoms has two or less neighbors only two types of
wedges are possible. If both bonded atoms have two or less
neighbors, wedges cannot be used on that bond.
4. Continue [Shift]+L-clicking to cycle through the four possible
wedges.
out in out in
As you cycle through the wedges, notice that at least two have
exclamation marks. At this point if you want to change the ste-
reochemistry to correspond with the wedge, you must invoke
the Model Builder. Otherwise, if you’re satisfied with the ste-
reo-chemistry of the bond, cycle to either of the two wedges
that appear without exclamation marks; these refer to the cur-
rent stereochemistry. (If your system is planar, all wedges will
be shown with exclamation marks.)
5. Double-click on the Select Tool icon to invoke the model
builder. Notice that any exclamation marks have disappeared
because the restraints have now been satisfied by the Model
Builder.
Wedges Explained
HyperChem displays two types of stereochemistry wedges: solid
and dashed. A stereo wedge, which is drawn between two atoms
instead of the normal rendering of a bond, specifies a stereochem-
istry builder constraint describing the arrangement of neighbors
about one of the atoms. In every case, the atom at the “point” of
the wedge is the atom whose stereochemistry is being specified.
Thus the wedge
A B
484 Chapter 9
Changing Molecular Conformation
Changing Chirality
HyperChem can interactively change the chirality of an atom if
two of its neighbors can be freely swapped.
This rotates two of the neighbors around the axis midway between
their bonds to the atom. This rotation will occur even if the center
atom is not chiral. You can check this by using colors or displaying
atom indexes (by selecting Numbers for Atoms in the Labels dialog
box) and noting that neighbors swap when you [Shift]+L-click on
the central atom.
If the neighbors cannot be swapped, with fused rings for instance,
you must use wedges and the model builder to change chirality.
3. Place the Drawing Tool over a bond involving the atom whose
chirality you wish to change, hold down the [Shift] key, and L-
click until a wedge with an exclamation mark appears.
4. Double-click on the Selection tool to invoke the Model Builder.
POINT selection
deselect POINT
chiral atom (S)
and Invert
chiral atom (R)
486 Chapter 9
Converting 2D Drawings into 3D Structures
Model Builder
The Model Builder does not add charges (ionic or partial) to mole-
cules. You can add charges to selected atoms by using Set Charge
on the Build menu. Or, you can use a semi-empirical or ab initio
quantum mechanical calculation to determine atomic charges (see
“Single Point” on page 360).
Formal Charge
HyperChem contains the concept of formal charge on an atom.
The formal charge has nothing to do with the total charge on the
system (affecting the total number of electrons for input to quan-
tum mechanical computations) or the atom charge (the net posi-
tive or negative partial charge from residue templates or the output
of quantum mechanical computations). The formal charge affects
only the internal functioning of the model builder plus a minor
visual change in the symbol label.
The formal charge affects the valence or number of Hydrogens the
model builder expects to add when the menu item, Add H and
Model Build, acts. For example, an isolated Nitrogen atom submit-
ted to the model builder normally results in NH3 being created.
However, if the Nitrogen is given a formal charge of +1, then the
model builder produces NH4+ with four rather than three hydro-
gens being added. The basic rule is that a formal charge of +N
increases the valence by N, whereas a formal charge of -N decreases
the valence by N. Thus, HyperChem’s modelbuilder produces
CH5+ and CH3- but not CH3+ (at least not by default).
The formal charge is used to give an initial guess at the Total-Quan-
tum-Charge variable used as input to quantum mechanical calcu-
lations but this variable is also available for explicit setting in the
Setup/Options dialog boxes of quantum mechanical calculations.
The formal charge, by default, is zero but can be changed via the
following dialog box:
488 Chapter 9
Converting 2D Drawings into 3D Structures
4. Make sure the two newly added C—C bonds are double bonds.
490 Chapter 9
Converting 2D Drawings into 3D Structures
5. Change the central carbon atom to iron, and change the two
nonring carbons to sulfur atoms. The 2D structure should now
look like this:
492 Chapter 9
Building Molecules from Residues
Proteins and nucleic acids from PDB files are also composed of res-
idues. You can use the methods described in this section to modify
those molecules.
The sequence editor described in Chapter 6 can also be used to cre-
ate protein structures.
Proteins
To construct a protein, choose Amino Acids on the Databases
menu. You see the Amino Acids dialog box with choices of resi-
dues.
The Amino Acids dialog box also gives you choices for the second-
ary conformation of each residue that you add. You can choose
from standard conformations (Alpha or Beta) or devise your own
conformation (Other) with specific torsional angles. You can also
add D-amino acids instead of normal L-amino acids.
Constructing a Protein
Proteins are constructed from the N-terminus to the C-terminus.
To build a new protein, you must start with one of these condi-
tions:
• An empty workspace.
• A workspace containing proteins with a C-terminal blocking
group or in the zwitterionic form. Both conditions block elon-
gation of the existing proteins and force HyperChem to start a
new polymer.
• A workspace containing any molecules except unblocked pro-
teins (see above) constructed from a database or from a PDB
file.
494 Chapter 9
Building Molecules from Residues
geometry
optimization
Choosing Conformations
Each amino acid that you add to a polypeptide can have a different
secondary conformation. In this way, the polypeptide can have
stretches of alpha-helical structure, beta-pleated sheet structure,
and other transitional conformations.
For Other, you can use angles from –180 to +180 degrees. Omega,
the torsion around the peptide bond, is usually close to 180
degrees, or trans.
You can also choose D-amino acids instead of the usual L-isomer.
Creating Zwitterions
At neutral pH, polypeptides exist in solution as zwitterions, with
–NH3+ and –COO– terminal groups. When you construct polypep-
tides with HyperChem, the ends are incomplete (–N–H and –C–O).
Make Zwitterion on the Databases menu completes the ends
(–NH3+ and –COO–).
496 Chapter 9
Building Molecules from Residues
Nucleic Acids
To construct a polynucleotide, choose Nucleic Acids on the Data-
bases menu. You see the Nucleic Acids dialog box with a choice of
nucleic acid residues. For a definition of each residue in this dialog
box, see “Nucleic Acids Dialog Box” on page 159.
The Nucleic Acids dialog box also has choices for the secondary
conformation of each residue that you add. You can choose from
standard conformations (A, B, or Z) or devise your own conforma-
tion with specific torsional angles. You can also change the pucker
of the furanose ring in each residue (Sugar Form), and the number
of strands (single or double).
At the start of polymerization, you can choose to begin at the 3′
end (Backward), to add nucleotides to the 5′ end, or to begin at the
5′ end (normal direction of biosynthesis).
Constructing a Polynucleotide
To build a new polynucleotide, you must start with one of these
conditions:
• An empty workspace.
• A workspace containing polynucleotides with a 3′ or a 5′ block-
ing group (3CAP or 5CAP). Either of these groups block elonga-
tion of the existing nucleic acid (depending on the direction of
polymerization) and force HyperChem to start a new polymer.
498
Building Molecules from Residues
Choosing Conformations
Each nucleic acid residue that you add to a polynucleotide can
have a different conformation. In this way, the polynucleotide can
have stretches of A form DNA, B form, Z form, or another confor-
mation that you choose.
A and B forms of DNA are normally right-hand helices, while the
Z form is a left-hand helix. To change the direction of a helix after
constructing it, use Reflect on the Edit menu to connect the helix
into its mirror image. You can reflect around any PLANE in the
molecular system.
You can also change the conformation of the deoxyribose or the
ribose sugar in each residue. The A form of DNA normally contains
deoxyribose sugar in the more stable C2′–endo form. The B form
of DNA form contains the C3′–endo sugar.
500 Chapter 9
Building Molecules from Residues
Water Molecules
HyperChem can place a molecular system in a periodic box con-
taining water molecules. These are standard TIP3P models of water
molecules equilibrated at 300 K (25°C) and one atmosphere. With-
out the periodic box, HyperChem assumes that molecules are in a
vacuum. You can use a distance-dependent dielectric constant in
calculations to simulate the effect of a solvent (see “Force field
Parameters Dialog Box” on page 352).
Since these water molecules have special properties and come from
a database, HyperChem treats them like residues. You can select
individual water molecules with the Selection tool, which you
should set to Residues (see “Residues” on page 225).
Choose Periodic Box on the Setup menu to add water molecules,
along with periodic boundary conditions (see “Periodic Box” on
page 335), to a molecular system.
If you apply a label to these residues (see “Labels” on page 281), it
might appear as HOH or WAT, depending on the source of the
molecular system.
502 Chapter 9
Chapter 10
Protein Data Bank Files
1. The Protein Data Bank is operated by the Research Collaboratory for Structural Bioinformatics
(RCSB) and is supported by funds from the National Science Foundation, the Department of Energy,
and two units of the National Institutes of Health: the National Institute of General Medical Sciences
and the National Library of Medicine.
503
Creating PDB-type Files
504 Chapter 10
Creating PDB-type Files
Filename Molecule
PDB1CRN Crambin
1. These files are for public use, courtesy of the Protein Data Bank. To obtain other files, see “Obtaining
PDB Files” on page 503.
506 Chapter 10
Sample PDB Files
Filename Molecule
PDB1FDX Ferredoxin
PDB1GCN Glucagon
Chapter 11
Scripts and DDE
510 Chapter 11
Using HyperChem Messages
Message Syntax
Messages are not case-sensitive; use any combination of upper-
and lowercase letters. Where the syntax shows a space, use one or
more spaces or a comma. Parentheses and quotes are optional.
Variables
Set HSV and Get HSV messages have slightly different syntax:
Set HSV <Variable-name> = <argument>
Examples:
optim-algorithm steepestdescents
This sets the algorithm for a geometry optimization calculation to
steepest descent.
show-perspective ?
or
query-value show-perspective
Atom Indices
First, an array index is commonly the index of an atom. In Hyper-
Chem, these indices, which would normally be a single index, i,
become a pair of indices — molecule index and atom index. For
512 Chapter 11
Using HyperChem Messages
Two-dimensional Arrays
Thus, for example, the coordinates of an atom ought perhaps to be
assigned as:
coordinates( [i], 1 ) = 10.0
coordinates( [i], 2 ) = -5.0
coordinates( [i], 3 ) = 20.0
where coordinates is a two-dimensional array with the first index
being the atom index and the second index being the direction =
1 ... 3 for x, y, z. In HyperChem, however, two-dimensional arrays
are never assigned or queried with two such indices. One always
leaves off the second pre-defined index and instead assigns or que-
ries with a list,
coordinates( [i] ) = 10.0, -5.0, 20.0
coordinates( [i] ) ?
Two-dimensional arrays, such as coordinates, can be queried all at
once,
coordinates ?
They may also be assigned without an index as in the following
assignment for a two atom molecule, such as H2,
coordinates = 0.0, 0.0, 0.0, 0.0, 0.0, 0.74
One-dimensional Arrays
One-dimensional arrays have a single index with a range that may
be pre-defined to a read-only value, such as atom-count, or with a
range that is assignable (read/write), such as the one dimensional
array, ir-frequency, with a range, ir-band-count.
Both types of one-dimensional arrays are assignable using an
index,
atom-charge( [3] ) = 0.5
ir-frequency(2) = 2076
514 Chapter 11
Using HyperChem Messages
range: 10
script-menu-caption
script-menu-checked
script-menu-command
script-menu-enabled
script-menu-help-file
script-menu-help-id
script-menu-in-use
script-menu-message
The following is an example of the usage and syntax for a vector.
Example:
First declare the size of the vector:
ir-band-count = 5
Next, assignment can be performed using one of the following
three methods:
Method 1:
ir-frequency(1) = 100
ir-frequency(2) = 170
ir-frequency(3) = 200
ir-frequency(4) = 210
ir-frequency(5) = 213
Method 2:
ir-frequency = 100, 170, 200, 210, 213
Method 3:
ir-frequency = 100 170 200 210 213
Values for a vector variable can be obtained in the following man-
ner:
query-value ir-frequency
ir-frequency ?
Both the above inquiries will yield the following results based on
the previous assignments.
ir-frequency(1) = 100
ir-frequency(2) = 170
ir-frequency(3) = 200
ir-frequency(4) = 210
ir-frequency(5) = 213
Individual vector components can be queried in the following
manner:
query-value ir-frequency(2)
ir-frequency(2) ?
Both the above inquiries will yield the 2nd component of the ir-
frequency vector.
You can obtain continual notification of all coordinates in a script
by sending the command “notify-on-update coordinates”, but
you cannot notify-on-update for a single atom’s coordinates. The
DDE equivalent of notify-on-update is a hot, or automatic link,
and only the whole array may be addressed in these links. Beware,
however: in some cases the output may be voluminous.
Commands
Command messages can have one or more arguments, each sepa-
rated by at least one space or a comma:
<request-name> <argument> <argument> . . .
argument = string, integer, float, Boolean, enum, or a combina-
tion of these. Enclose a string in quotes (“ “) when there are
spaces between arguments.
request-name = command name
Examples:
open-file benzene.hin
This request opens the file benzene.hin.
execute-client graph.exe Graph Form1
This is a request to start and run another DDE application.
Graph.exe is the filename for the DDE application. “Graph” is the
name of the application. “Form1” is the topic, either a filename or
some unit of information, that the application recognizes.
Arguments
The types of arguments for variables or commands are the follow-
ing:
516 Chapter 11
Using HyperChem Messages
Menu Activators
Menu activators are text strings with hyphens between each word.
Every menu activator starts with “menu-.”
menu-<menu-name>-<item-name>
Example:
menu-edit-zoom
This requests the Zoom item on the Edit menu. You see the result
of choosing this item, the Zoom dialog box, on screen.
HyperChem Messages
The following tables list all variables, commands, and menu acti-
vators organized according to menu item, dialog box, and func-
tion. Use these messages to write scripts or as arguments in DDE
commands.
The numbers in the first column of each table are used in an alpha-
betic cross-reference to all messages (see “Message Cross-Refer-
ence” on page 584).
For specific discussions of scripts and DDE, with examples, see
page 602 and page 604.
518 Chapter 11
HyperChem Messages
File Menu
520 Chapter 11
HyperChem Messages
522 Chapter 11
HyperChem Messages
76 menu-file-save Updates the file the system was read Save File, if cur-
from rent system is
untitled; other-
wise, saves file
without show-
ing dialog box
524 Chapter 11
HyperChem Messages
Edit Menu
526 Chapter 11
HyperChem Messages
94 translate-view float1, float2, Translates the viewer (in the Viewer’s Coor-
float3 dinate System) by a change in coordinates
(≥0 . . ≤3200) (dx, dy, dz), in Ångstroms
97 set-bond-length float Sets the bond length for the selected bond
(>0 . . ≤3200)
98 set-bond-angle float Sets the bond angle for the selected angle
(≥0 . . ≤180)
528 Chapter 11
HyperChem Messages
Build Menu
122 set-atom-type string Provides the type (string) for a selected set of
atoms in the active force field. Use only a type
that the force field recognizes. Use the correct
upper- and lowercase characters for atom
types (for example CA, not ca or Ca)
123 set-atom-charge float Provides the charge (float) for a selected set of
(≥-100 . .≤ 100) atoms
124 set-formal-charge int Provides the formal charge (int) for a selected
(-3 . . +3) set of atoms
125 set-atom-charges- none Sets all atom charges to the value of formal
to-formal charge.
126 create-atom int Draws an atom, with atomic number int, at the
(0 . . 103) origin of the Molecular Coordinate System
127 delete-atom int1, int2 Deletes atom int1 from molecule int2
128 set-bond int1, int2, int3, Draws a bond between atom int1 in molecule
int4, enum int2 and atom int3 in molecule int4. The bond
(n, h, s, d, t, a) order is n = none (deletes an existing bond), h
= hydrogen, s = single, d = double, t = triple,
and a = aromatic
129 re-bond-system none Destroy all bonds and create new bonds with
an algorithm that uses a distance criterion
along with atomic number of atoms.
530 Chapter 11
HyperChem Messages
138 remove-stereo- int1, int2 Removes any stereo constraints from atom
constraint number int1 into molecule int2
140 constrain-bond- int1, int2, Constrains a bond to be up. The bond is the
up int3, int4 one from atom int1 in molecule int2 to atom
int3 in molecule int4
141 constrain-bond- int1, int2, Constrains a bond to be down. The bond is the
down int3, int4 one from atom int1 in molecule int2 to atom
int3 in molecule int4
142 constrain-fix- int1, int2 Constrains atom to enforce the current stere-
stereo ochemistry about atom int1 in molecule int2
143 constrain-change- int1, int2 Constrains atom to change the current stere-
stereo ochemistry about atom int1 in molecule int2
144 cycle-bond- int1, int2, Advances the stereo constraint along a bond.
stereo int3, int4 The bond is the one from atom int1 in mole-
cule int2 to atom int3 in molecule int4
145 cycle-atom- int1, int2 Advances the stereo constraint about atom
stereo int1 in molecule int2
156 menu-build-set-atom- Sets the atom type for selected Set Atom Type
type atoms
157 menu-build-set-charge Sets the charge on selected atom Set Atom Charge
158 menu-build-set-mass Sets the mass of selected atom Set Atom Mass
532 Chapter 11
HyperChem Messages
Select Menu
165 selected-atom int1, int2, int3 R When you give the number of
the selected atom (int1), using
this variable reports the
sequence number of this atom
(int2) in molecule number int3
173 select-name string Selects the atoms with the selection name =
stringa, where string has at least one lowercase
character (up to 19 total) and no spaces
174 select-atom int1, int2 Selects atom int1 in molecule int2. Honors cur-
rent selection level (see selection-target vari-
able)a,b
175 un-select-atom int1, int2 Deselects atom int1 in molecule int2. Honors
current selection level (see selection-target
variable)a,b
176 select-residue int1, int2 Selects residue int1 in molecule int2. Disregards
current selection level, always selecting a residue
if present. If there is no residue, reports an error
(see selection-target variable)a
177 un-select-residue Int1, int2 Deselects residue int1 in molecule int2. Disre-
gards current selection level and always deselects
a residue if present. If there is no residue, reports
an error (see selection-target variable)a
181 select-path int, int, int, Selects atoms in path from int-1 in molecule int-
int 2 to int-3 in molecule int-4.
534 Chapter 11
HyperChem Messages
Display Menu
197 wall-eyed-stereo Boolean R, W Yes sets the stereo pair for wall-
eyed viewing; select no for
crosseyed viewing
536 Chapter 11
HyperChem Messages
538 Chapter 11
HyperChem Messages
229 residue-labels enum (none, R, W The label for visible, selected res-
name, idues. If there is no selection,
sequence, applies specified label to all
namesequence) newly created residues or to resi-
dues read in from a file
a. Choose one for color: black, blue, green, cyan, red, violet, yellow, white.
540 Chapter 11
HyperChem Messages
Databases Menu
542 Chapter 11
HyperChem Messages
269 add-amino-acid string Chooses the next amino acid residue to add. Use
the three-character residue name (e.g., ala)
270 amino-alpha-helix none Uses alpha-helical torsion angles for the next
amino acid residue added
271 amino-beta-sheet none Uses beta-sheet torsion angles for the next amino
acid residue added
272 add-nucleic-acid string Chooses the next nucleic acid residue to add.
Use the two-to-four-character residue name
(e.g., da)
273 nucleic-a-form none Uses A-form torsion angles for the next nucleic
acid residue added
274 nucleic-b-form none Uses B-form torsion angles for the next nucleic
acid residue added
275 nucleic-z-form none Uses Z-form torsion angles for the next nucleic
acid residue added
276 mutate-residue string Changes the selected residue into residue string,
where string = residue name (2–3 characters).
Select one residue, not a cap. Residues must be
of the same type, N or A
544 Chapter 11
HyperChem Messages
Setup Menu
288 mechanics- float1, float2, R,W The multiplier for dielectric per-
dielectric-scale- float3, float4b mittivity (see “Force field Parame-
factor (≥1 . . ≤1000) ters Dialog Box” on page 352)
289 mechanics- float1, float2, R,W Scale factor for 1–4 electrostatic
electrostatic- float3, float4b interactions
scale-factor (≥0 . . ≤1)
290 mechanics-van- float1, float2, R,W Scale factor for 1–4 van der Waals
der-waals-scale- float3, float4b interactions
factor (≥0 . . ≤1)
546 Chapter 11
HyperChem Messages
312 abinitio-buffer- int (>50 ... 32000) R, W Specify a buffer size to store the
size two-electron integrals in an ab
initio calculation
548 Chapter 11
HyperChem Messages
317 abinitio-scf- float (>0 ... ≤100) R,W Sets the convergence limit (the
convergence difference in electronic energy, in
kcal/mol, between two successive
iterations) for an ab initio
calculation
550 Chapter 11
HyperChem Messages
552 Chapter 11
HyperChem Messages
357 use-parameter-set string Chooses a parameter set (string) for the cur-
rent molecular mechanics method. Parameter
set must be a CustomName defined in Regis-
try or in chem.ini
360 set-velocity enum (POINT, Sets the velocity for the molecular system or
LINE or OTHER), selected atoms. The last argument is the
float, float, float velocity (Ångstrom/ps) and the direction is
(if OTHER speci- denoted by POINT (towards the named
fied), float selection POINT), LINE (parallel to the named
(required) selection LINE) or OTHER (with three floats
specifying the velocity vector).
361 assign-basisset enum (STO-3G, Assign a basis set to the selected atom(s) or
STO-3G*, 3- to all the atoms in ab initio calculations
21G*, ...)
368 menu-setup-set- Sets the velocity vectors for the selected Set Velocity
velocity atoms
369 menu-setup-select- Chooses a new parameter file for molecu- Force Field
parameter-set lar mechanics calculations Parameters
554 Chapter 11
HyperChem Messages
Compute Menu
379 isosurface-x- int (1 < int ≤ 128) R, W Number of data grid points to
nodes accumulate in the X direction
380 isosurface-y- int (1 < int ≤ 128) R, W Number of data grid points to
nodes accumulate in the Y direction
381 isosurface-z- int (1 < int ≤ 128) R, W Number of data grid points to
nodes accumulate in the Z direction
556 Chapter 11
HyperChem Messages
386 isosurface-map- float1, float2 (If R, W Minimum and maximum values for
function-range neither of these is the display of a mapped function
0, float2 = -1 * isosurface.
float1)
388 graph-data-row int, float list R The values of the ith row of the
data graph
558 Chapter 11
HyperChem Messages
560 Chapter 11
HyperChem Messages
436 warning-type enum (none, log, R/W Sets the use of warning messages
message) from backend calculations. None =
discard all warning messages; log =
place warning messages in the log
file if one is active; message =
display the warning on screen
562 Chapter 11
HyperChem Messages
444 ir-frequency vector of floats R, W When you give the index (int) of
an IR band, this variable specifies
its frequency
445 ir-intensity vector of floats R, W When you give the index (int) of
an IR band, this variable specifies
its intensity
446 ir-intensity-com- vector of floats R, W When you give the index (int) of
ponents an IR band, this variable specifies
the x, y, and z components of its
intensity
447 ir-normal-mode vector of floats R, W When you give the index (int) of
an IR band, this variable specifies
for each atom the x, y, and z dis-
placements for the normal mode
449 uv-energy vector of floats R, W When you give the index (int) of
an UV band, this variable specifies
the energy of the transition
450 uv-spin vector of floats R, W When you give the index (int) of
an UV band, this variable specifies
the spin multiplicity of the state
564 Chapter 11
HyperChem Messages
566 Chapter 11
HyperChem Messages
478 isosurface-mesh- enum (coarse, Sets variables for isosurface grid to default val-
quality medium, fine) ues
Script Menu
568 Chapter 11
HyperChem Messages
506 pause-for int Pause the script for a number (int) of seconds
(1 . . . 32767)
509 omsgs-to-file filename Deletes file contents and then sends omsg’s to
this file while the script is running. Do not use
for DDE. See the previous and following com-
mands
570 Chapter 11
HyperChem Messages
511 append-omsgs-to- filename Sends omsg’s to this file, adding them to previ-
file ous messages. See the previous two commands
512 errors-are-omsgs none Treats error messages like omsg’s: sends them
to a file or to an OMSG box on screen
521 read-script filename Names a script file to read. Use this to start
another script from a script
524 request string Displays string in a dialog box until you L-click
on OK. Allows keyboard and mouse input while
the script is executing. The script resumes when
you L-click OK
525 execute-client filename, Runs a DDE application. Filename = .exe file for
string1, string2 the application, string1 = DDE application (pro-
gram) name, and string2 = DDE topic (a file-
name or other string that the client application
recognizes). Must have three arguments, even if
the last two are null (“ “)
527 change-user- int, string1, Changes the text and script associated with a
menuitem filename menu item (Script One, etc.) on the Script
menu. int = number of the Script menu item to
place text in (1, 2, etc.), string1 = text to place
in the menu item (characters limit depends on
your display resolution), and filename = name
of the script file associated with this menu item
528 exit-script none Ends the script. This is usually the last line in a
script file, but is not required
532 menu-script-open- Opens a script file and runs the script Open Script
script
572 Chapter 11
HyperChem Messages
Cancel
Data Variables
535 atom-name int1, int2, stringa R, W If you give int1 = atom number and
int2 = molecule number, reports string
= atom name
536 atomic-number int1, int2, int3a R, W If you give atom number (int1) and
molecule number (int2), reports
atomic number (int3)
537 atomic-symbol int1, int2, stringa R If you give atom number (int1) and
molecule number (int2), reports
atomic symbol (string)
538 atom-type int1, int2, stringa R, W If you give atom number (int1) and
molecule number (int2), reports atom
type (string)
539 atom-charge int1, int2, floata R, W If you give atom number (int1) and
molecule number (int2), reports
atomic charge (float)
540 formal-charge int1, int2, int3a R, W If you give atom number (int1) and
molecule number (int2), reports formal
charge (int)
541 atom-mass int1, int2, floata R, W If you give atom number (int1) and
molecule number (int2), reports
atomic mass (float)
542 atom-basisset int1, int2, stringa R, W If you give atom number (int1) and
molecule number (int2), reports basis
set for this atom
543 atom-extra- int1, int2, string, R, W If you give atom number (int1) and
basisset floata molecule number (int2), reports the
shell type (string) of an extra basis
function and the exponent value (float)
of this extra basis function for this
atom
544 atom-color int1, int2, stringa R, W If you give atom number (int1) and
molecule number (int2), reports the
atom’s current color (string)
545 atom-label-text int1, int2, stringa R If you give atom number (int1) and
molecule number (int2), reports the
atom’s label text (string)
546 residue-label- int1, int2, stringa R If you give residue number (int1) and
text molecule number (int2), reports the
residue’s label text (string)
547 is-ring-atom int1, int2, R If you give atom number (int1) and
Booleana molecule number (int2), reports true if
the atom is in a ring (Boolean)
548 is-extended- int1, int2, R If you give atom number (int1) and
hydrogen Booleana molecule number (int2), reports if the
atom is an extended hydrogen (Bool-
ean)
549 coordinates int1, int2, float1, R, W If you give atom number (int1) and
float2, float3a molecule number (int2), reports the x,
y, and z coordinates (float1, 2, and 3)
550 neighbors int1, int2, int3, R If you give atom number (int1) and
int4, enum molecule number (int2), reports the
(s, d, t, h, a)a atoms bonded to this atom through
either covalent or hydrogen bonds:
int3 = number of neighbor atom, int4
= molecule containing neighbor atom
and bond type (enum, s = single, d =
double, t = triple, a = aromatic, h =
hydrogen). Repeats “int3, int4, enum”
for each neighbor atom
574 Chapter 11
HyperChem Messages
555 atom-count int1, int2 R If you give the molecule number (int1),
reports the number of atoms (int2) in
this molecule
556 residue-count int1, int2 R If you give the molecule number (int1),
reports the number of residues (int2) in
this molecule
558 coordination int1, int2, int3 R,W If you give atom number (int1) and
molecule number (int2), reports (int3)
the number (from 1 to 12) of bonded
neighbors
559 chirality int1, int2, enum R, W If you give atom number (int1) and
molecule number (int2), reports
(enum) one of A, R, S, or ?, giving the
chirality (“A” achiral atom, “R” rectus
or right chirality, “S” sinister or left
chirality and “?” for 5 or 6 coordinated
systems)
567 velocities int1, int2, float1, R, W If you give int1 = atom number and
float2, float3 int2 = molecule number, reports float1,
2, and 3, the vx, vy, and vz values (in
Ångstroms/picosecond) for this atom
576 Chapter 11
HyperChem Messages
a. For a read from HyperChem, use int1 and int2. To write, use all arguments.
Help Menu
578 Chapter 11
HyperChem Messages
Miscellaneous Commands
Miscellaneous Variables
580 Chapter 11
HyperChem Messages
582 Chapter 11
HyperChem Messages
Message Cross-Reference
This alphabetic cross-reference applies to the previous tables con-
taining HyperChem message variables, commands, and menu acti-
vators. The numbers listed are the message numbers for the pre-
ceding pages; they are not page numbers.
You can use the on-line help Search function to find any message
by searching for part of the message. For example, you can display
a list of all messages that include a word (such as “hin” or “atom”),
and then display the definition of the specific message that you
want.
Caution: Use this cross-reference only for finding messages in the
tables. The syntax of a cross-reference might not match the origi-
nal script message.
584 Chapter 11
Message Cross-Reference
586 Chapter 10
Message Cross-Reference
588 Chapter 10
Message Cross-Reference
G help . . . . . . . . . . . . . . . . . . . . . . . . . . . .#566
help, using . . . . . . . . . . . . . . . . . . . . . . .#574
help-commands . . . . . . . . . . . . . . . . . . .#569
gamma torsion angle, nucleic acid . . . . #248
help-glossary . . . . . . . . . . . . . . . . . . . . . .#573
geometry optimization, algorithm . . . . . #387
help-index . . . . . . . . . . . . . . . . . . . . . . .#567
geometry optimization, compute #457, #466
help-keyboard . . . . . . . . . . . . . . . . . . . . .#568
geometry, constrain . . . . . . . . . . #116, #145
help-tools . . . . . . . . . . . . . . . . . . . . . . . .#570
ghost atoms, ab initio . . . . . . . . . . . . . . #302
hide selection . . . . . . . . . . . . . . . . . . . . .#226
global-inhibit-redisplay . . . . . . . . . . . . . #489
hide-toolbar . . . . . . . . . . . . . . . . . . . . . .#213
glossary, help . . . . . . . . . . . . . . . . . . . . #573
highlights, balls . . . . . . . . . . . . . . . . . . . .#187
gradient, calculate ab initio . . . . . . . . . . #305
highlights, spheres . . . . . . . . . . . . . . . . .#190
gradient, rms . . . . . . . . . . . . . . . . . . . . #554
hin file contents . . . . . . . . . . . . . . . . . .#5, #6
gradients . . . . . . . . . . . . . . . . . . . . . . . . #610
hin file, velocities . . . . . . . . . . . . . . . . . . . . .#5
gradient-x . . . . . . . . . . . . . . . . . . . . . . . #607
horizontal grid size, contour . . . . . . . . . .#377
gradient-y . . . . . . . . . . . . . . . . . . . . . . . #608
host name, backend . . . . . . . . . . . . . . . .#317
gradient-z . . . . . . . . . . . . . . . . . . . . . . . #609
huckel method, d-orbitals . . . . . . . . . . . .#284
graph contours . . . . . . . . . . . . . . . . . . . #361
huckel-constant . . . . . . . . . . . . . . . . . . .#281
graph-beta . . . . . . . . . . . . . . . . . . . . . . #376
huckel-scaling-factor . . . . . . . . . . . . . . . .#282
graph-contour-increment . . . . . . . . . . . #384
huckel-weighted . . . . . . . . . . . . . . . . . . .#283
graph-contour-increment-other . . . . . . #386
hydrogen bonds, recompute . . . . . . . . . .#235
graph-contour-levels . . . . . . . . . . . . . . . #381
hydrogen bonds, show . . . . . . . . .#208, #234
graph-contour-start . . . . . . . . . . . . . . . . #383
hydrogen, extended atom . . . . . . . . . . .#534
graph-contour-start-other . . . . . . . . . . . #385
hydrogens, add . . . . . . . . . . . . . . . . . . . .#135
graph-data-row . . . . . . . . . . . . . . . . . . . #374
hydrogens, explicit . . . . . . . . . . . .#104, #133
graph-data-type . . . . . . . . . . . . . . . . . . #373
hydrogens, show . . . . . . . . . . . . .#203, #231
graph-horizontal-grid-size . . . . . . . . . . . #377
hydrogens-in-pdb-file . . . . . . . . . . . . . . . . .#7
graph-orbital-offset . . . . . . . . . . . . . . . . #379
HyperChem, about . . . . . . . . . . . . . . . . .#575
graph-orbital-selection-type . . . . . . . . . #375
graph-plane-offset . . . . . . . . . . . . . . . . . #382
graph-vertical-grid-size . . . . . . . . . . . . . #378 I
greyscale, image . . . . . . . . . . . . . . . . . . . #47
grid data, isosurface #365, #366, #367, #368,
#369, #370 icon, xy rotation . . . . . . . . . . . . . . . . . . . .#30
grid step size, isosurface . . . . . . . . . . . . #364 icon, xy translation . . . . . . . . . . . . . . . . . .#32
grid, contour graph . . . . . . . . . . . #377, #378 icon, z clip . . . . . . . . . . . . . . . . . . . . . . . .#35
grid, isosurface . . . . . . . . . . . . . . . . . . . #464 icon, z rotation . . . . . . . . . . . . . . . . . . . . .#31
grid-max-value . . . . . . . . . . . . . . . . . . . #195 icon, z translation . . . . . . . . . . . . . . . . . . .#33
grid-min-value . . . . . . . . . . . . . . . . . . . . #194 icon, zoom . . . . . . . . . . . . . . . . . . . . . . . .#34
icons, hide . . . . . . . . . . . . . . . . . . . . . . .#213
id, info . . . . . . . . . . . . . . . . . . . . . . . . . .#599
H ignore-script-errors . . . . . . . . . . . . . . . . .#478
image file . . . . . . . . . . . . . . . . . . . . . . . . .#43
image, copy . . . . . . . . . . . . . . . . . . . . . . .#91
hbond-energy . . . . . . . . . . . . . . . . . . . . #560
image, setup . . . . . . . . . . . . . . . . . . .#39, #92
heat steps, Monte Carlo . . . . . . . . . . . . #399
image-color . . . . . . . . . . . . . . . . . . . . . . .#47
heat time, dynamics . . . . . . . . . . . . . . . #395
image-destination-clipboard . . . . . . . . . . .#45
heat-of-formation . . . . . . . . . . . . . . . . . #452
image-destination-file . . . . . . . . . . . . . . . .#43
height, window . . . . . . . . . . . . . . . . . . . #603
image-destination-filename . . . . . . . . . . . .#44
590 Chapter 10
Message Cross-Reference
592 Chapter 10
Message Cross-Reference
594 Chapter 10
Message Cross-Reference
596 Chapter 10
Message Cross-Reference
598 Chapter 10
Message Cross-Reference
x-y-rotation-icon-step . . . . . . . . . . . . . . . . #30
x-y-translation-icon-step . . . . . . . . . . . . . . #32
Z
z clipping . . . . . . . . . . . . . . . . . . . . . . . . . #29
Z form, DNA . . . . . . . . . . . . . . . . . . . . . #261
z-clip . . . . . . . . . . . . . . . . . . . . . . . . . . . . #98
zeta torsion angle, nucleic acid . . . . . . . . #251
zindo-1-pi-pi . . . . . . . . . . . . . . . . . . . . . #293
zindo-1-sigma-sigma . . . . . . . . . . . . . . . #292
zindo-s-pi-pi . . . . . . . . . . . . . . . . . . . . . . #295
zindo-s-sigma-sigma . . . . . . . . . . . . . . . . #294
zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . #82
zoom, set factor . . . . . . . . . . . . . . . . . . . . #97
zoom-cursor . . . . . . . . . . . . . . . . . . . . . . . #28
zoom-icon-step . . . . . . . . . . . . . . . . . . . . #34
z-rotation-cursor . . . . . . . . . . . . . . . . . . . . #18
z-rotation-icon-step . . . . . . . . . . . . . . . . . #31
z-translation-cursor . . . . . . . . . . . . . . . . . . #27
z-translation-icon-step . . . . . . . . . . . . . . . #33
zwitterion, make . . . . . . . . . . . . . . . . . . #264
Scripts
Scripts are text files containing a set of statements that generate
input messages (IMSGs) to run HyperChem. Scripts replace
HyperChem mouse and keyboard operations, so that you can run
HyperChem unattended. You can also interrupt a script to interact
manually with HyperChem. Use scripts to repeat HyperChem
operations that you do frequently, to do batch analyses, and to set
up HyperChem conditions.
Write scripts using a text editor, like Windows Notepad. These files
should be unformatted text files, with the extension .scr. When
you open a script file, using the Script menu in HyperChem,
HyperChem automatically executes the instructions in the file.
A script runs to completion, unless it finds an error (you should
include the instructions in the script to report errors to screen). It
responds to a menu activator by displaying a dialog box, or you use
the Abort option in the Running Script . . . message box.
Example:
This script performs a geometry optimization of anthracene. The
numbers ①,②, and ③ and so on do not belong to the script, but are
present for this discussion.
; Test amber optimization of anthracene. ①
calculation-method molecularmechanics ②
molecular-mechanics-method amber ③
optim-max-cycles 200 ④
optim-convergence 0.1 ④
optim-algorithm polakribiere ④
start-logging test.log no ⑤
open-file anth.hin ⑥
do-optimization ⑦
602 Chapter 10
Scripts
write-file test.hin ⑧
append-omsgs-to-file test.log ⑨
query-value stretch-energy ⑩
omsgs-not-to-file
stop-logging
exit-script
604 Chapter 10
Dynamic Data Exchange (DDE)
606 Chapter 10
HyperChem and Excel
Line Comment
Line Comment
608 Chapter 10
HyperChem and Excel
Line Comment
As the macro runs, you can see the molecules in the HyperChem
window and the values from the single point calculations in
plot.xls.
Note: For this calculation, HyperChem uses the most recent set-
tings for calculation method, and so on. The results in this exam-
ple use a molecular mechanics calculation, the MM+ force field
(set by opening the files), no cutoffs, and bond dipoles.
610 Chapter 10
Chapter 12
Using HyperChem Results
You can use results from HyperChem sessions with other pro-
grams. For example, you could do the following:
611
Transferring Graphics
Transferring Graphics
Use [F9] or Copy Image on the Edit menu to copy a HyperChem dis-
play to the Clipboard or a file. The Clipboard is a temporary stor-
age place that can hold one graphic at a time. You can then use this
graphic in a publication, presentation, or report.
612 Chapter 12
Transferring Graphics
614 Chapter 12
Transferring Graphics
must use [F9] or Copy Image. Using Cut or Copy places a text
description of the molecular system on the Clipboard.
Some programs that share the Clipboard with HyperChem (these
are Windows Applications and Non-Windows Applications in the
Windows Program Manager) might not be able to use either bit-
map or metafile graphics directly from the Clipboard. These pro-
grams might require that you store graphics first in a BMP or WMF
file (see the next section). For specific requirements, see the user
manuals for each program.
Remember that HyperChem can store only one metafile and bit-
map graphic at a time on the Clipboard. The next time you press
[F9] to store graphics, you replace the previous graphic.
To collect several graphics, paste each one from the Clipboard into
a file, using another program that accepts metafile or bitmap
images. For example, a Windows Write file can store both bitmap
and metafile graphics.
To see the contents of the Clipboard, double-click on the Clipboard
icon in the Windows Program manager (Main Group). If you cop-
ied both metafile and bitmap images to the Clipboard, you see the
metafile version. To see the bitmap version, choose Bitmap on the
Clipboard Display menu.
Stopping a Log
Stop Log turns off the recording of a log file and adds the date and
time you stopped recording.
616 Chapter 12
Storing Results of a Molecular Dynamics Simulation
To see or print the contents of a log, you can use a text editor such
as Windows Notepad or Wordpad. Enter the filename (for exam-
ple, \hyper7\chem.log), L-click on OK, and then choose
No conversion in the next dialog box that appears.
the HIN file is still untitled, HyperChem uses chem.snp. The snap-
shot file is pointed to by a record in the accompanying HIN file.
When you run a molecular dynamics simulation, you can average
up to eight values (see “Molecular Dynamics Averages Dialog Box”
on page 377). The instantaneous values and averages are stored in
a file that has the extension .csv (see “Plot and Averages Files” on
page 629). You can use a text editor to view these files or you can
transfer these values to another program for analysis. The file has
the same name as the current HIN file, or chem.csv if the HIN file
is still untitled.
618 Chapter 12
Appendix A
HyperChem Files
620 Appendix A
Water Files
Water Files
HyperChem uses TIP3P models of water molecules (Jorgenson et
al., J. Chem. Phys. 79(2):926-935, 1983) equilibrated at 300 K
(25°C) and one atmosphere to solvate a molecular system in a peri-
odic box. The binary file wat216c.bin provides up to 216 water
molecules, enough to fill a standard-sized periodic box 18.622
Ångstroms on a side. The file wat5832c.bin provides up to 5832
water molecules, enough to fill a box three times the standard size
(55.866 Ångstroms on a side). Wat5832c.bin contains the same
contents as wat216c.bin, repeated 27 times.
Program Files
These are the HyperChem program files:
chem.exe Code for the HyperChem user interface, including
the Model Builder, all display functions, and prep-
arations for chemical calculations. This is the
HyperChem “frontend,” designed to run under
Windows on a PC. The other program files consti-
tute the “backend,” which can run on a PC or
another processor.
mmplus.exe Code for calculations using the MM+ force field.
newton.exe Code for calculations using AMBER, BIO+, and
OPLS force fields.
eht.exe Code for calculations using the Extended Hückel
method.
ndo.exe Code for calculations using CNDO, INDO,
MINDO3, MNDO, AM1, PM3, ZINDO/1, and
ZINDO/S methods.
tndo.exe Code for calculations using TNDO method.
Script Files
Script files contain instructions for running HyperChem. You can
write Script files (see “Scripts” on page 602) using a text editor, like
Windows Notepad. These files can have any filename or extension,
but .scr is recommended for scripts in the HyperChem Command
Language and .tcl for scripts in the Tool Command Language. You
can use the Script Editor available on the Script menu to assist in
622 Appendix A
Snapshot Files
Snapshot Files
During a molecular dynamics simulation, HyperChem can store
the trajectory of a molecular system at regular, timed intervals, as
snapshots. These results go into both the HIN file and an SNP file,
with the extension .snp. The SNP file normally has the same name
as the HIN file. If there is not yet a HIN file, the filename is
chem.snp.
You can playback the snapshots using HyperChem, to continue
analysis of the simulation. You can also use other applications to
modify or analyze the data in the SNP file.
A binary SNP file is composed of three sections:
1. Fixed sized header that contains calculation parameters
2. Variable sized header that contains atom information
3. Coordinate and velocity data.
Note: Boolean values are 1 for true, 0 for false. All values are four
bytes long.
16-19 Reserved
28-47 Reserved
60-63 Reserved
84-95 Reserved
624 Appendix A
Snapshot Files
128-159 Reserved
12-15 Reserved
20-23 Reserved
626 Appendix A
Snapshot Files
The trailer for each record follows. Offsets are relative to the start
of the trailer.
20-23 Reserved
28-35 Reserved
44-63 Reserved
84-103 Reserved
628 Appendix A
Plot and Averages Files
136-143 Reserved
148-171 Reserved
2
1. Dx = 〈 x i2〉 – 〈 x i〉 , where xi =instantaneous value of EKIN, ETOT, EPOT, or TEMP,
1 n 2 1 n 2
〈 x i 〉 = --- ∑ x i , and 〈 x i〉 2 = --- ∑ x i .
2
ni = 1 ni = 1
Example:
If you average total energy (ETOT) and the RMS deviation for total
energy (D ETOT), the CSV file contains this type of data:
time, ETOT, D ETOT
0,10.3854,5.19271
0.001,9.73882,6.70808
0.002,9.23686,7.34028
0.003,8.96351,7.34028
...
0.999,10.0421,10.5366
1,10.3975,10.5365
The first line is the header, then there is a line for each time point.
ETOT (in the second column) contains the instantaneous values of
ETOT. D ETOT (in the third column) contains the instantaneous
RMS deviations.
You can read these files into another program, like a spreadsheet
or plotting program, that can use data in a comma-separated-value
(csv) format.
Graphics Files
The graphics files Filename.wmf or Filename.bmp (default names
chem.wmf and chem.bmp) contain images of the screen obtained
with Copy Image on the Edit menu (see page 206).
Metafile Graphics
Filename.wmf stores an image as instructions for a line drawing.
Metafile is best for Sticks, Balls and Cylinders, Dots, and Sticks &
Dots renderings. Metafiles require about 10 times less storage space
than bitmap files containing the same renderings. The resolution
of a metafile image does not depend on the monitor, but on the
resolution of the output device. For example, if you print a meta-
file on a laser printer, the resolution might be 300 dpi.
630 Appendix A
Log Files
Bitmapped Graphics
Filename.bmp stores an image as a reproduction of the pixels on
screen. The image resolution is the same as the resolution of your
monitor, which you choose when setting up Windows. Use Bitmap
to save Spheres renderings or contour plots from a single point,
semi-empirical calculation (see “Single Point” on page 360).
Log Files
HyperChem accumulates the results of calculations in a log file if
you choose Start Log on the File menu. In the Open Log dialog box
(see page 90), you can give a log file any filename or extension, but
the extension .log is recommended.
You can save information about a calculation by opening a log file
using Start Log on the File Menu. The content and amount of
information saved in the log file is determined by settings that you
use for the Mechanics Print Level and Quantum Print Level entries in
the Start Log dialog box or in the Registry.
This appendix describes the information that is saved when you
use different settings for these entries. The settings range from
0–9. Generally, we recommend that you use a setting of 1–3. If you
use a setting of 4–9 for either entry, a large amount of information
is written into the log file. The log file can take up many megabytes
of disk space if you use a setting of 4–9 during a geometry optimi-
zation.
632 Appendix A
Log Files
NDO Calculations
The following table shows the information saved in the log file
when you run calculations using NDO methods (all methods in
the Semi-empirical Method dialog box, except Extended Hückel).
Ab initio calculations
This section describes the information that is saved when you use
the ab initio quantum mechanics method.
634 Appendix A
Log Files
636 Appendix A
Log Files
The following table shows the information saved in the log file
when you run other molecular mechanics calculations.
638 Appendix A
Log Files
MM+
<A time stamp for the beginning of logging is added automatically
to the log file.>
HyperChem log start -- Sat Jan 25 22:45:54 1992
<The values below are all the stretches. R0 and Kr are the stretching
parameters — equilibrium bond length and force constant.>
Bond R R0 Kr Energy
C4( 1) - C4( 2) 1.5400 1.5230 4.4000 0.0884
C4( 1) - H( 3) 1.0900 1.1130 4.6000 0.1831
C4( 1) - H( 4) 1.0900 1.1130 4.6000 0.1831
C4( 1) - H( 5) 1.0900 1.1130 4.6000 0.1831
C4( 2) - H( 6) 1.0900 1.1130 4.6000 0.1831
C4( 2) - H( 7) 1.0900 1.1130 4.6000 0.1831
C4( 2) - H( 8) 1.0900 1.1130 4.6000 0.1831
Dipole Interaction energy (Dielectric constant = 1.500000)
Dipole(1) Mu(1) Dipole(2) Mu(2) R12 E(kcal)
640 Appendix A
Log Files
<First line comes from back end, second from front end. Gradi-
entSquared is the sum of the squares of all gradient components,
while Gradient reported below is the RMS gradient (first number
divided by 24 for ethane and the square root taken).>
Iter= 1 Energy=1.13315 AvgMovement= 0.01131
GradientSquared=1858.67369.
642 Appendix A
Log Files
AMBER
<The log file of a HyperNewton calculation contains basically the
same information as that of a HyperMM+ calculation except that
the detailed description of individual interactions given for MM+,
for consistency with Allinger’s MM2, are not given here.>
HyperChem log start -- Tue Dec 17 23:54:09 1991
Single Point, MolecularMechanics, molecule = 'ETHANE.HIN'
amber
Extended Hückel
<The results from Extended Hückel Theory calculations on model-
built ethane appear below. Only a single point calculation is per-
formed as geometry optimization and molecular dynamics are
undefined for EHT.>
HyperChem log start -- Sun Jan 26 19:39:04 1992
Single Point, SemiEmpirical, molecule = ETHANE.HIN.
ExtendedHuckel
Extended-Huckel Calculation:
Singlet State Calculation
Number of Electrons = 14
Starting Extended-Huckel calculation with 14 orbitals
Charge on the System = 0
644 Appendix A
Log Files
Total Orbitals = 14
Number of Double Occupied Levels = 7
Unweighted Huckel Constant = 1.7500000
d Orbitals on Si...Cl If Any Not Included
Energy=-5724.018299
EIGENVALUES(eV) <These are the orbital energies, lowest energy orbitals occupied
first.>
-26.485626 -21.621887 -16.121031 -16.121025 -14.782691
-14.782681 -14.191090 2.383136 3.373500 3.373533
7.076813 7.076891 24.606670 40.313354
CNDO
<The following is the result for a successive single point calcula-
tion, a geometry optimization and .005 picoseconds of molecular
dynamics, for CNDO ethane starting at model builder geometry.>
EIGENVALUES(eV)
-40.386066 -29.239080 -23.532267 -23.532249 -18.191881
-16.373669 -16.373646 7.900207 7.900218 8.076718
8.596774 10.167131 10.167147 10.711308
646 Appendix A
Log Files
x y z
1 6 -0.007673 -1.01663 -0.89296 0.00000
2 6 -0.007673 -1.01663 2.01722 0.00000
3 1 0.002558 0.92538 -1.57955 0.00000
4 1 0.002558 -1.98761 -1.57955 1.68183
5 1 0.002558 -1.98763 -1.57956 -1.68182
6 1 0.002558 -2.95863 2.70382 0.00000
7 1 0.002558 -0.04564 2.70381 1.68183
8 1 0.002558 -0.04562 2.70383 -1.68182
PolakRibiere optimizer
<The square brackets describe the inner iteration of the outer iter-
ation.>
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=1 Diff=4413.32086]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=2 Diff=2.12419]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=3 Diff=0.24927]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=4 Diff=0.10723]
E=0.0000 Grad=0.000 Conv=NO(0 cycles 0 points) [Iter=5 Diff=0.00046]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=1 Diff=6.28550]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=2 Diff=0.48315]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=3 Diff=0.05823]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=4 Diff=0.01519]
E=-1659.7155 Grad=64.940 Conv=NO(0 cycles 1 points) [Iter=5 Diff=0.00003]
E=-1669.7328 Grad=24.582 Conv=NO(0 cycles 2 points) [Iter=1 Diff=0.38656]
EIGENVALUES(eV)
-40.735325 -29.079802 -23.688864 -23.688860 -18.800158
-15.713195 -15.713187 7.124108 7.124109 7.752248
8.381527 10.037412 10.037416 11.649177
648 Appendix A
Log Files
EIGENVALUES(eV)
-40.993458 -29.136822 -23.837172 -23.772387 -18.899385
-15.648407 -15.521277 7.007665 7.054772 7.770212
8.417984 10.039606 10.131248 11.863716
650 Appendix A
Log Files
Time = 0.0050 ps
Kinetic Energy = 4.2293 kcal/mol
Total Energy = -1666.0245 kcal/mol
Temperature = 177.36 K
Time=0.0050 ps TotalEnergy=-1666.0245 kcal/mol T=177.36 K [final]]
HyperChem
log stop -- Sun Jan 26 20:01:15 1992
652 Appendix A
Appendix B
Force Field Files
HyperChem provides several files that you need for chemical cal-
culations with molecular mechanics force fields (MM+, AMBER,
BIO+ (CHARMM), and OPLS):
chem.rul A text file containing a set of rules for assigning
atom types for each force field. HyperChem
requires the binary version of this file,
typerule.bin.
typerule.bin The binary version of chem.rul. HyperChem uses
this file to assign atom types to atoms.
*.txt Force field parameter files in text format. You can
change these files with most text editors. There is
at least one set of TXT files for each force field.
*.dbf Force field parameter files in dBase (III or IV) for-
mat. You can change these files with most database
programs. There is at least one set of DBF files for
each force field. These types of files are redundant
as same parameters are in TXT files. These files are
being phased out and new parameters or parame-
ter sets are only being created for TXT files.
*.par The binary version of parameter files. HyperChem
uses these files to direct molecular mechanics cal-
culations. HyperChem combines a complete set of
parameter files for any force field into one PAR file.
For the molecular mechanics force field MM+, the
name of the binary parameter file is mmplus.par.
Note: You can use any filenames and extensions for parameter
files. The settings in the Registry (see Appendix F) direct Hyper-
Chem to the correct parameter files.
653
Atom Types
Atom Types
For molecular mechanics calculations, each atom in a molecular
system should have an atom type. Atom types represent sets of
atoms of the same element that have similar chemical environ-
ments. Molecular mechanics calculations treat all atoms of the
same type in similar ways. Each force field has a different set of
atom types.
Atom types are generally required for molecular mechanics calcu-
lations, but not for semi-empirical calculations. The text file
chem.rul contains rules that assign atom types to atoms, depend-
ing on the environment of the atoms. Each atom type has a name
that might be different for each force field. Force fields require
atom types to assign calculation parameters. However, all force
fields in HyperChem can now deal with atoms that lack types
(with the unknown type **) by using an alternative default
method for assigning parameters. This can be a useful feature for
working around limitations of force fields that determine bonding
characteristics on the basis of atom types. For example, MM+
makes the single bond in butadiene too short, since by default a
bond between two C3-type atoms should have the length of a dou-
ble bond. Similarly, MM+ tries to make biphenyl planar, though
experimentally the rings are not coplanar. By setting the two car-
bon atoms that are singly bonded to type **, these problems are
avoided.
When you draw a new molecule, HyperChem gives each atom the
type name **, indicating no atom type is yet assigned. When you
choose Model Build or Calculate Types on the Build menu, or
change the force field (using Molecular Mechanics on the Setup
menu), HyperChem assigns appropriate atom types, using the
force field that you chose in the Molecular Mechanics Force Field
dialog box. After assigning types, a remaining ** means that there
is no appropriate atom type available.
If you open a HIN file, HyperChem uses the force field that was in
effect when you saved the file and assigns atom types stored in the
file.
HyperChem requires a binary version of chem.rul, named
typerule.bin, both of which come with HyperChem. If you alter
the text file chem.rul, choose Compile Type Rules on the Build
menu to convert the new chem.rul to a new typerule.bin file.
654 Appendix B
Atom Types
Example:
S: connected to (H)?
=SH.
=S.
In this example for a sulphur atom (S), from the OPLS force field,
the first clause contains one test: is the sulfur atom connected to a
hydrogen? If true, the atom type is SH. If false, HyperChem goes to
the next clause, which has no tests, only a statement that assigns
S as the atom type.
Syntax
This is the structure of chem.rul:
forcefield(<force-field-name>)
<element-symbol>:
; <comment>
<clause>
<test>?
<test>?
...
=<assignment-statement>.
<clause>
...
Note: Entries in chem.rul are not case-sensitive, except for element
symbols. HyperChem recognizes, for example, the difference
between SI and Si. Spaces between words are optional.
forcefield
<force-field-name> is amber, opls, bio+, or mm+.
<element-symbol>:
This is the chemical symbol for an element, for example, S, Cl, and
Na.
A colon must follow the symbol. Each element can have only one
symbol. Element symbols include LP for lone pair and HX for
extended hydrogen.
;<comment>
Comments can occur anywhere in the file. A comment begins with
a semicolon and ends at the end of a line.
<clause>
A clause is a set of tests applied to each atom plus an atom type
assignment. Each clause ends with an assignment statement.
656 Appendix B
Atom Types
<test>?
A question mark must follow each test. A clause can contain these
tests:
Has aromatic bond? True if the atom has at least one aromatic bond
Connected to Expressions
Connected to expressions include the type of connecting bond,
the connected atoms, and bonds between the connected atoms.
These symbols represent bonds:
– single bond
= double bond
# triple bond
~ aromatic bond
no symbol any bond type
Connected to expressions use element symbols to represent con-
nected atoms. You can use any standard symbols from the periodic
table, plus these:
Lp Lone pair
Hx Extended hydrogen
R Any element, including Lp, except H
X Any halogen (F, Cl, Br, I)
* Any element except Lp
Note: Keep connected to expressions as short as possible. Atom
types are usually unaffected by atoms more than two or three
bonds away. Also, longer expressions increase the time required to
assign types.
Example:
C
The atom is connected to a carbon through any type of bond.
–C=N–C
The atom is connected to the CNC group through a single bond.
The group contains a double and single bond.
–CH3
The atom is connected to a methyl group through a single bond.
–C(–CH3)–N
The atom is connected to a carbon through a single bond. The car-
bon has a methyl side chain (in parentheses) and a singly bonded
nitrogen.
(–CH3)–N
The atom is connected to a methyl group by a single bond and a
nitrogen by a single bond.
Note: HyperChem compares atom by atom the environment
around an atom to the terms on a connected to expression. It does
658 Appendix B
Force Field Parameters
Side Groups
Specify side chains either by placing them in parentheses or by
using numbers. For example:
–CH2 or –C(H)H
–CH2Cl or –C(H)(H)Cl
Rings
The atom being typed can be connected to or part of a ring. Pairs
of tags (@1 to @9) placed after atoms in the ring describe closure
points, for example:
–C@1CCCCCC@1
This describes a connection to a six-membered ring, with the tag
@1 after C1 and C7. C1 and C7 represent the same atom in the ring.
–@1CCC@1
This describes a cyclopropane ring, with the atom being typed as
the first atom (C1) in the ring (@1 at the beginning of the expres-
sion modifies the atom being typed). C1 and C4 are the same atom.
<assignment-statement>.
A clause must end with an assignment statement that contains an
atom type belonging to the force field. These types appear in the
files *typ.txt (see the next section). The assignment statement
must end with a period.
ple, “MM+ Settings” on page 769) defines the file type for each
force field and parameter set in this record:
FileFormat=Text (or DBF for DBASE)
Note: DBF files for parameters are being phased out as redundant
and you should now use only Text files in the above setting.
Parameter Files
HyperChem supplies the following parameter files for the force
fields:
*typ.txt List of atom types and atomic masses.
*typ.dbf
*str.txt Parameters for bond stretching.
str.dbf
ben.txt Parameters for bond angle bending.
ben.dbf
mmpben3.txt For MM+ only, bond angle parameters for three-
mmpben3.dbf membered rings.
mmpben4.txt For MM+ only, bond angle parameters for four-
mmpben4.dbf membered rings.
tor.txt Parameters for torsion angle rotation.
tor.dbf
mmptor3.txt For MM+ only, bond torsion parameters for three-
mmptor3.dbf membered rings.
mmptor4.txt For MM+ only, bond torsion parameters for four-
mmptor4.dbf membered rings.
*imp.txt For AMBER, BIO+, or OPLS, parameters for
*imp.dbf improper torsion angles (see the Glossary) involv-
ing planarity constraints.
mmpoop.txt For MM+ only, out-of-plane bending parameters
mmpoop.dbf for an sp2 hybridized atom. Other force fields use
improper torsion angles (see the Glossary) for these
cases.
nbd.txt Parameters for nonbonded interactions between
nbd.dbf pairs of atoms (atom types).
660 Appendix B
Force Field Parameters
Parameter Sets
Each force field can have more than one parameter set and a cor-
responding PAR file. This version of HyperChem has the following
parameter sets available:
662 Appendix B
Force Field Parameters
The Registry lists the alternative parameter sets in the record Cus-
tomNames; for example: CustomNames=amber2, amber3. This file
also gives the default conditions for each parameter set (see, for
example, “AMBER Settings” on page 749).
664 Appendix B
Force Field Parameters
666 Appendix B
Force Field Parameters
668 Appendix B
Force Field Parameters
MULT Multiplicity N
Note: If there are multiple parameters for the same T1, T2, T3, and
T4 that differ in N (periodicity), the Fourier series uses all of them.
Example: N* CM CM CA 1 9.5100 180.000 2
670 Appendix B
Force Field Parameters
B
Y
A
672 Appendix B
Force Field Parameters
674 Appendix B
Force Field Parameters
This is the format of a *NPR file using an AijBij calculation (five col-
umns):
676 Appendix B
Force Field Parameters
C Parameterb N
D Parameterb N
678 Appendix B
Appendix C
Quantum Mechanics Files
Semi-Empirical Files
HyperChem provides several files that are necessary for semi-
empirical quantum mechanics calculations (Extended Hückel,
CNDO, INDO, MINDO3, MNDO, MNDO/d, AM1, PM3, ZINDO/1,
ZINDO/S, and TNDO). These files contain parameters that simplify
solutions of the wave equations:
Extended exhuckel.abp Alpha and beta parameters, Howell, J. et al., QCPE #344a; see
Hückel orbital exponents also following table
CNDO and cindo.abp Alpha and beta parameters, Pople, J. A. and Beveridge, D.L.,
INDO orbital exponents Approximate Molecular Orbital
Theory, McGraw-Hill, 1970.
MNDO mndo_1.abp Alpha and beta parameters, Dewar, M.J.S. and Theil, W.,
orbital exponents J. Am. Chem. Soc.
mndo_2.abp Electron repulsion parameters 99:4899, 1977.
679
Semi-Empirical Files
AM1 am1_1.abp Core-electron attraction and Dewar, M.J.S., et al., J. Am. Chem.
resonance parameters, orbital Soc. 107:3902, 1985; Dewar,
exponents M.J.S., et al., QCPE #506a.
am1_2.abp Electron repulsion parameters
am1_3.abp Core-core repulsion parame-
ters
ZINDO/1 zindo1_1.abp Orbital exponents, ionization Bacon, A.D.; Zerner, M.C., Theor.
potentials, etc. Chim. Acta 53: 21-54, 1979 and
zindo1_2.abp Slater-Condon parameters, Anderson, W.P.; Edwards, W.D.;
total electronic energies, and Zerner, M.C., Inorgan. Chem. 25:
heat of formation of free atoms 2728, 1986
zindo1_3.abp Ionization potentials and
valence bond mixing
coefficients
You may want to modify the parameter files when new and better
parameters become available or you might add some new parame-
680 Appendix C
Semi-Empirical Files
ters for testing purposes. The current parameter files include most
of the parameters published in the literature. The contents of the
files are described on the following pages.
682 Appendix C
Semi-Empirical Files
684 Appendix C
Semi-Empirical Files
5 reserved
6 reserved
7 reserved
11 reserved
686 Appendix C
Semi-Empirical Files
7 reserved
8 reserved
9 reserved
14 reserved
1 Z Atomic number
688 Appendix C
Semi-Empirical Files
1 Z Atomic number
7 reserved
8 reserved
9 reserved
1 Z Atomic number
690 Appendix C
Semi-Empirical Files
1 Z Atomic number
7 reserved
8 reserved
9 reserved
692 Appendix C
Semi-Empirical Files
3 ck (k = 1, 2 . . . 10)
694 Appendix C
Semi-Empirical Files
5 reserved
6 reserved
7 reserved
a. Applies only to the first row transition metals. Only one set of ioniza-
tion potentials has been used in HyperChem for the second row transi-
tion metals. This set is obtained by averaging the ionization potentials
from different configurations of the ground state of the corresponding at-
oms (see e.g., Anderson, W.P.; Cundari, T.R.;Zerner, M.C., Int. J. Quantum
Chem. 39: 31-45, 1991.
4 reserved
696 Appendix C
Semi-Empirical Files
5 reserved
6 reserved
7 reserved
698 Appendix C
Semi-Empirical Files
a. Applies only to the first row transition metals. Only one set of ioniza-
tion potentials has been used in HyperChem for the second row transi-
tion metals. This set is obtained by averaging the ionization potentials
from different configurations of the ground state of the corresponding at-
oms (see e.g., Anderson, W.P.; Cundari, T.R.; Zerner, M.C., Int. J. Quantum
Chem. 39:31-45, 1991).
700 Appendix C
Semi-Empirical Files
702 Appendix C
Basis Set Files
Basis Set
A basis function for a element includes the following items:
• Element symbol
• Number of shells
• Shell types
• Number of primitive Gaussians for each shell
• Scaling factor for each shell
• Exponent and contraction coefficients for each primitive
Gaussian.
Example:
C:
;
Shells = 3
Shell1 =[ S 3 1.00 ]
1 0.172256E+03 0.617669E-01
2 0.259109E+02 0.358794E+00
3 0.553335E+01 0.700713E+00
Shell2 =[ SP 2 1.00 ]
Syntax
This is the structure for defining a basis for a element:
<element-symbol>:
; <comment>
shells = <# number of shells for this element>
shell1 = [ <Ta> <##b> <sc> ]
<primitive 1> <exponent> <coefficientsd>
<primitive 2> <exponent> <coefficientsd>
... (repeat ## times for the primitives for this shell)
... (repeat # times for all the shells for this element)
a. Shell type
b. Number of primitive Gaussians for this shell
c. Scaling factor for this shell
d. Coefficients for this primitive Gaussian. The number of coefficients is one for a S, P, or D type of
primitive Gaussian, two for a SP, type of primitive Gaussian, and three for a SPD type of primitive
Gaussian
704 Appendix C
Basis Set Files
706 Appendix C
Basis Set Files
d95.bas Definitions and T.H. Dunning and P.J. Hay, in Modern Theoretical
contractions for D95 Chemistry, Plenum, New York, 1976.
basis set
708 Appendix C
Basis Set Files
After you restart HyperChem, you can use this new basis set.
710 Appendix C
Appendix D
HIN Files
711
File Syntax
sys 0
view 40 1.03211 40 4.44992 1 0 0 0 1 0 0 0 1 0.0848873 –0.669469 –40
mol 1 “methane”
atom 1 – C CT – 0 –0.341802 0.309469 –6.05498e–007 4 2 s 3 s 4 s 5 s
atom 2 – H HC – 0 –0.341802 1.39947 –6.05498e–007 1 1 s
atom 3 – H HC – 0 0.685861 –0.0538608 –6.05498e–007 1 1 s
atom 4 – H HC – 0 –0.855625 –0.0538608 0.889987 1 1 s
atom 5 – H HC – 0 –0.855636 –0.0538687 –0.889978 1 1 s
endmol 1
For a description of the records in this example and other possible
records, see the following sections.
File Syntax
This is the complete syntax of a HIN file. o indicates an optional
record. Each record must begin on a separate line.
; <comment>o
forcefield <force-field-name>
syso <temperature> <charge> <multiplicity>
seedo <random seed>
viewo <view-distance> <view-scale> <slab-distance> <slab-
thickness> <viewing-transform> . . . <viewing-transform>
boxo <x> <y> <z>
mol <mol#> <mol-name>
reso <res#> <res-name> <PDB#> <previous-res#> <next-res#>
atom <at#> <atom-name> <element> <type>
<flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>1
velo <at#> <x> <y> <z>
masso <at#> <mass>
basisseto <at#> <basis set>
formalchargeo <at#> <formal charge>
atom . . .
velo . . .
masso . . .
712 Appendix D
File Syntax
basisseto . . .
formalchargeo . . .
atom . . .
velo . . .
masso . . .
basisseto . . .
formalchargeo . . .
...
endreso <res#>
endmol <mol#>
selectiono <sel-name> <atoms>
selectrestrainto <flag> <force-constant> <restr-value>
selectatomo <at#> <mol#>
selectatomo . . .
selectatomo . . .
...
endselectiono <sel-name>
dynamicso <snap-shot-file-name>
aromaticringo <size> <mol# atom#>1
texto <quoted text> <quoted font> <red> <green> <blue> <color
index> <point size> <centered flag> <rect pos> <weight> <italics>
<underline> <strikeout> <charset> <pitch>
lineo <red> <green> <blue> <line width> <line type> <rect pos>
circleo <red> <green> <blue> <line width> <line type> <rect pos> <fill
flag>
rectangleo <red> <green> <blue> <line width> <line type> <rect pos>
<fill flag>
; comment
Each line of comments must have a semicolon at the beginning of
the line. You can add and review comments from HyperChem by
1. This variable can be reperated up to 6 times.
using the Open File and Save File dialog boxes; you can also add
and review comments by using any text editor.
Add comment lines anywhere in a HIN file. When you save the file
in HyperChem, all comments move to the start of the file.
forcefield
Syntax: forcefield <mm+, amber, amber94, bio+, chamm22, or
opls>
HyperChem assigns a force field and the corresponding atom types
to any molecular system in the workspace. You choose the force
field from the Molecular Mechanics Force Field dialog box (choose
Molecular Mechanics on the Setup menu).
HyperChem needs atom types for all molecular mechanics calcu-
lations, but not for semi-empirical quantum mechanics calcula-
tions.
When you draw a new molecule, HyperChem assigns ** as the
“type” for each atom, indicating no atom type. When you choose
Model Build or Calculate Types on the Build menu, or when you
change force fields, HyperChem assigns appropriate atom types for
the force field you chose. If you open a HIN file, HyperChem uses
the force field and atom types that were in effect when you saved
the file.
The variables for the forcefield keyword are mm+, amber, bio+, or
opls. If you do not assign a force field to a molecular system, Hyper-
Chem uses the last forcefield that you chose. However, atom type
assignment is not automatic when you open the file.
sys
Syntax: sys <temperature> <charge> <multiplicity>
The system record gives the temperature of the molecular system
in Kelvin plus the total charge and multiplicity of the system.
temperature The default is 0 Kelvin. If you save the molecular
system in a HIN file after a molecular dynamics cal-
culation, this record stores the final temperature of
the system corresponding to the atomic velocities.
714 Appendix D
File Syntax
seed
Syntax: seed <random seed>
The random seed used for Molecular Dynamics, Langevin Dynam-
ics, and Monte Carlo. After any use of the random seed, a new ran-
dom seed is generated.
random seed An integer in the range -32768 to 32767.
view
Syntax: view <view-distance> <view-scale> <slab-distance>
<slab-thickness> <viewing-transform> . . . <viewing-transform>
A view record gives instructions for transforming a 3D structure
into 2D space.
view-distance The distance, in Ångstroms, from the viewer to the
origin of the molecular system.
view-scale The magnification factor.
slab-distance The distance, in Ångstroms, from the viewer to the
middle of the clipping slab.
slab-thickness The distance between the front and back clipping
planes, in Ångstroms.
viewing- These 12 fields describe a 3 by 4 viewing transfor-
transform mation matrix, with four rows and three columns.
The fields appear row by row. A fourth column,
normally describing perspective, is not present.
box
Syntax: box <x> <y> <z>
A box record reports the presence and x, y, and z dimensions of a
periodic box, in Ångstroms, in the molecular system.
mol
Syntax: mol <mol#> <mol-name>
A mol record starts the description of each molecule in the molec-
ular system. An endmol record must end each molecule.
mol# The number of the molecule in the molecular sys-
tem, starting with 1. The number reflects the order
the molecules were added to the system. Default =
1.
mol-name Up to 64 characters describing a molecule. The
name must be enclosed in double quotes. This
name appears on the status line when you select
the molecule. You can assign this name only by
using the Name Molecule menu item.
res
Syntax: res <res#> <res-name> <PDB#> <previous-res#> <next-
res#>
A res record starts the description of each residue in a molecule. An
endres record must end each residue.
res# The number of the residue in the molecule, start-
ing with 1 for the first residue added to a molecule.
res-name The residue name (up to four characters) as it
appears in the TPL file for residue-name.
PDB# Preserves information found in a PDB file.
previous-res# Preserves information found in a PDB file.
next-res# Preserves information found in a PDB file.
716 Appendix D
File Syntax
atom
Syntax: atom <at#> <atom-name> <element> <type>
<flags> <at-charge> <x> <y> <z> <cn> <nbor# nbor-bond>
An atom record starts the description of each atom in a molecule.
at# The number of an atom in a molecule, starting
with 1. Atom numbers are continuous through a
molecule. A combination of atom number and
molecule number (see mol, above) uniquely iden-
tifies an atom in a molecular system.
atom-name This name (up to four characters) usually comes
from a Brookhaven PDB or HyperChem template
file. It cannot contain spaces or quotes.
element The chemical symbol (up to three characters) for
the described atom.
type The atom type (up to four characters) assigned by
a force field to the described atom.
flags Single letter codes that describe this atom (see the
next section). “–” indicates no flag. Multiple flags
appear as one “word,” without spaces. See the
description of available flags in the next section.
at-charge The formal charge on the atom, from a quantum
mechanics calculation, from using Set Charge on
the Build menu or from a TPL file. You can also
add charges to an atom by editing the HIN file.
x y z The coordinates of the atom in the Molecular
Coordinate System.
cn The number of atoms covalently bonded to this
atom, or coordination number. cn is an integer
from 0 to 12.
nbor# This describes the bonded atoms and the type of
nbor-bond bond for each. nbor# and nbor-bond occur as a pair
of values. nbor# is the same as at# for bonded
atoms. nbor-bond is a bond type: s, d, t, or a, for
single, double, triple, or aromatic (conjugated)
bonds. This set of values, nbor# nbor-bond, repeats
to describe all bonded atoms (up to twelve times).
Atom Flags
HyperChem uses these symbols for the flag variable in the atom
record.
h A heteroatom as defined in PDB files.
i This atom is part of an improper torsion.
x A united atom.
s A selected atom.
– No flag.
vel
Syntax: vel <at#> <x> <y> <z>
If you save the molecular system with velocities (choose Velocities
in the Save File dialog box), a vel record appears after each atom
record, reporting the atomic velocities generated at the end of a
molecular dynamics calculation. A velocity record applies to the
preceding atom record and must follow immediately after that
record.
at# The number of an atom in a molecule, starting
with 1. Atom numbers are continuous through
each molecule. This is the same as “at#” that
appears in the atom record.
x y z The x, y, and z components of the atomic velocity,
in Ångstroms/picosecond. The default is 0 0 0.
mass
Syntax: mass <at#> <mass>
If you change the mass of an atom, a mass record is added follow-
ing that atom’s record in the HIN file. This mass record applies to
the preceding atom record.
at# The number of an atom in a molecule, starting
with 1. Atom numbers are continuous through
each molecule. This is the same as “at#” that
appears in the atom record.
718 Appendix D
File Syntax
basisset
Syntax: basisset <at#> <basis set>
If you apply a basis set to an atom for ab initio calculations, a basis
set record is added following that atom’s record in the HIN file.
This basisset record applies to the preceding atom’s record.
at# The number of an atom in a molecule, starting
with 1. Atom numbers are continuous through
each molecule. This is the same as “at#” that
appears in the atom record.
basis set The basis set applied to the atom, for example
“STO-3G”. The default is “None”.
formalcharge
Syntax: formalcharge <at#> <formal charge>
If you apply a formal charge to an atom for using the Formal
Charge menu item, a formalcharge record is added following that
atom’s record in the HIN file. This formalcharge record applies to
the preceding atom’s record.
at# The number of an atom in a molecule, starting
with 1. Atom numbers are continuous through
each molecule. This is the same as “at#” that
appears in the atom record.
formal charge The value, e.g. -1, of the formal charge placed on
this atom. The default is 0.
endres
Syntax: endres <res#>
An endres record appears after the last atom in a residue.
endmol
Syntax: endmol <mol#>
An endmol record appears after the last atom in a molecule.
mol# The number of the molecule in the molecular sys-
tem, starting with 1. The number reflects the order
of adding molecules to the system. Default = 1.
selection
Syntax: selection <sel-name> <atoms>
A selection record plus the following selectrestraint, selectatom,
and endselection records appear if you save a molecular system
containing a named selection (see “Name Selection . . .” on page
139).
sel-name The name of a selection, either a predefined name,
POINT, LINE, PLANE, or a name that you supply
(Other), up to 19 characters long.
atoms The number of atoms in a selection.
selectrestraint
Syntax: selectrestraint <flag> <force-constant> <restr-value>
A selectrestraint record contains information needed to use the
selection (see the previous section) as a restraint in an energy cal-
culation (see “Restraints” on page 340). This record appears for
every named selection, even though it might contain too many
atoms for use as a restraint (more than four) and you did not apply
the selection as a restraint. The flag value determines whether to
use this named selection as a restraint (see the next section).
flag This is a numeric field with a value from 0 to 15. A
four-bit number (see the next section) determines
the use, if any, of this restraint.
force-constant The force constant for a possible restraint. This can
be computed or user defined.
720 Appendix D
File Syntax
bit 6 5 4 3 2 1 0
selectatom
Syntax: selectatom <at#> molecule <mol#>
Selectatom records define the atoms in a named selection. There is
one record for each atom.
at# The number of an atom in a molecule, starting
with 1.
mol# The number of the molecule, in creation order, in
the molecular system, starting with 1. Default =
molecule 1.
endselection
syntax: endselection <sel-name>
The endselection record ends the description of each named selec-
tion.
sel-name The name you gave a selection, either POINT, LINE,
PLANE, or another name (Other).
dynamics
syntax: dynamics <snap-shot-file-name>
The dynamics record gives the path and name of the SNP file con-
taining snapshot data (see “Snapshot Files” on page 623). If Hyper-
Chem cannot find the SNP file at the indicated path location, it
searches for the filename in the current directory.
snap-shot- The snapshot filename includes the drive and path
file-name specification. The filename is often the same as the
HIN filename, but with an .snp extension.
aromaticring
syntax: aromaticring <size> <mol# at#>
722
File Syntax
text
syntax: text <quoted text> <quoted font> <red> <green> <blue>
<color index> <point size> <centered flag> <rect pos> <weight> <ital-
ics> <underline> <strikeout> <charset> <pitch>
The text record defines a text annotation placed in the workspace.
There is one record for each text annotation. These records do not
require a molecule in the workspace, i.e. a HIN file can contain
only annotation drawings.
quoted text The text of the annotation (in double quotes).
quoted font The text name of the font (in double quotes).
red Intensity of red (0-255).
green Intensity of green (0-255).
blue Intensity of blue (0-255).
color index Index for color choice in text edit dialog box.
point size Size of the text in points.
centered flag Flag (0 or 1) indicating text is formated as centered.
rect pos four integers describing rectangle position of text.
weight Integer describing weight of text(bold, etc.).
italics Flag (0 or 1) describing whether text is italicized.
underline Flag (0 or 1) describing whether text is underlined.
line
syntax: line <red> <green> <blue> <line width> <line type> <rect
pos>
The line record defines a drawn line placed in the workspace as an
annotation. The line in not a drawn “bond”. There is one record
for each line annotation. These records do not require a molecule
in the workspace, i.e. a HIN file can contain only annotation draw-
ings.
red Intensity of red (0-255).
green Intensity of green (0-255).
blue Intensity of blue (0-255).
line width Width of line (smallest value 1).
line type Integer starting at 0 describing solid, dotted, etc.
rect pos four integers describing rectangle position of line.
circle
syntax: circle <red> <green> <blue> <line width> <line type> <rect
pos> <fill flag>
The circle record defines a drawn ellipse or circle (degenerate
ellipse) placed in the workspace as an annotation. There is one
record for each circle annotation. These records do not require a
molecule in the workspace, i.e. a HIN file can contain only anno-
tation drawings.
red Intensity of red (0-255).
green Intensity of green (0-255).
blue Intensity of blue (0-255).
line width Width of line (smallest value 1) for circle.
line type Integer starting at 0 describing solid, dotted, etc.
724 Appendix D
File Syntax
rectangle
syntax: rectangle <red> <green> <blue> <line width> <line type>
<rect pos> <fill flag>
The rectangle record defines a drawn rectangle placed in the work-
space as an annotation. There is one record for each rectangle
annotation. These records do not require a molecule in the work-
space, i.e. a HIN file can contain only annotation drawings.
red Intensity of red (0-255).
green Intensity of green (0-255).
blue Intensity of blue (0-255).
line width Width of line (smallest value 1) for rectangle.
line type Integer starting at 0 describing solid, dotted, etc.
rect pos four integers describing rectangle.
fill flag Flag (0 or 1) describing whether rectangle is filled.
726 Appendix D
Appendix E
Residue Template Files
Template (TPL) files describe amino acid and nucleic acid residues
that you can choose on the Databases menu to construct poly-
meric molecules. HyperChem uses these files when you construct
a new polymer, when you open a HIN file that contains a polymer
constructed this way, when you open a PDB file, or when you
mutate one residue into another. The TPL files interpret standard
residues by providing atom types, charges, connectivity informa-
tion, and internal coordinates.
HyperChem supplies three TPL files:
chem.tpl Contains internal (nonterminal) amino acid
residues, nucleic acid residues, and residues for
reading PDB files.
chemct.tpl Contains C-terminal forms of all amino acid
residues. These residues supply anionic carboxyl-
terminal groups if you choose Make Zwitterion on
the Databases menu.
chemnt.tpl Contains N-terminal forms of all amino acid
residues. These residues supply cationic amino-ter-
minal groups if you choose Make Zwitterion on the
Databases menu.
727
Structure of a TPL File
TPL files describe a residue atom by atom. They can also provide
information needed in molecular mechanics calculations.
This is part of a typical residue entry in a template file (the high-
lighted numbers, for example ⑧, are not part of the file):
; ALANINE①
[ALA]➁A③
N:④ N⑥ 1⑦ (HN s –3 s CA s)⑧ \
opls N –0.5700 imp –3 CA N HN \⑨
amber N –0.4630 imp –3 CA N NH \⑨
amber94 N –0.41570 \⑨
bio+ NH1 –0.3500 imp N –3 CA NH \⑨
charmm22 NH1 –0.4700 \⑨
internal –3 1.335 –2 116.60⑩
HN④ H⑤ : H⑥ (N s) \
opls H 0.3700 \
amber H 0.2520 \
amber94 H 0.27190 \
bio+ H 0.2500 \
charmm22 H 0.31 \
int N 1.010
CA:④ C⑥ 2 ⑦ (N s HA s C s CB s) \
opls CH 0.29000 imp CB CA N C \
amber CT 0.0350 \
amber94 CT 0.03370 \
bio+ CH1E 0.1000 imp CA N C CB \
charmm22 CT1 0.2520 \
int N 1.449 –3 121.90
....
728 Appendix E
Template Syntax
Template Syntax
This section contains a formal syntax for describing a residue in a
template file. The text in angle brackets and italics represents vari-
ables that you provide. o means optional.
This describes the overall structure of a residue:
; <comment>o
[<–>o<residue-name> <alias>o <alias>o . . .] <A|N|*><*>o
<atom-description>
<atom-description>
<atom-description>
<atom-description>
...
;<comment>
Each line of comment must begin with a semicolon. These lines
can occur anywhere in the file, but cannot interrupt another line.
[<residue-name>]
[<–>o<residue- A string containing no spaces or quotes. Use one to
name> four characters. Enclose residue-name plus optional
aliases in square brackets. The optional – indicates
a complementary nucleic acid residue used to
build in reverse order or double-stranded struc-
tures.
<alias>o Any number of alternative names for a residue, up
<alias>o . . .] to four characters long. Each alias is separated from
the others and from residue-name by a space.
HyperChem uses aliases to recognize residues in
PDB files, for example ASX for ASN, and DOD for
HOH.
<A|N|*> A for amino acid, N for nucleic acid, or an asterisk
(*) for unknown. This assigns the residue to the
correct dialog box. * after A or N (see the next item)
overrides the assignment to a dialog box.
<*>o If it appears after A or N, it turns off this residue as
a choice in the Amino Acids or Nucleic Acids dia-
log box.
<atom-description>
Each atom in a residue should have an atom-description in a single
record. The record can occupy more than one line if each line ends
with a \.
<atom-description> =
<atom-name> <aliases>o : <element> <tag>o (bonding-info) \
<force-field>o <atom-type>o <charge>o <imp-torsion>o \
<force-field>o <atom-type>o <charge>o <imp-torsion>o \
730 Appendix E
Template Syntax
...
internalo <at1> <distance> <at2>o <angle>o <at3>o <torsion>o
<atom-name> <aliases>
Atom names follow standards defined by the Protein Data Bank for
atoms in amino acid and nucleic acid residues. In an atom name,
for example C3*, an * replaces the usual prime symbol (C3′). It can-
not contain spaces or quotes.
Note: Do not use numbers for atom names to avoid confusion
with atom tags (see next section).
For a complete list of atom names in amino acid side chains, nucle-
otide bases, and other molecules, see the Protein Data Bank docu-
ment, Atomic Coordinates and Bibliographic Entry Format Description,
July, 1989 (see page 503 for the source of this document).
<aliases>
An atom-name can have one or more optional names (aliases).
Separate each with at least one space.
<element>
The chemical symbol for the described atom.
<tag>
An optional number describing the atom to neighboring residues.
Atom tags (numbers 1 to 9) describe connections to atoms in other
residues. HyperChem assigns tags to specific terminal atoms in
amino acid and nucleic acid residues. A minus sign preceding a tag
number indicates the previous residue (lower sequence number).
N 1 A
CA 2 A
C 3 A
O 4 A
P 4 N
732 Appendix E
Template Syntax
O5* 5 N
C5* 6 N
C4* 7 N
C3* 8 N
O3* 9 N
(bonding-info)
Bonding information indicates the presence and describes the type
of covalent bonds between atoms. The bonding information con-
sists of an atom name or tag, followed by the type of bond:
(Atom-name/tag bond-type Atom-name/tag bond-type . . . )
This sequence repeats until it describes each bond to an atom.
Atom-name/ The name of a bonded atom in the same residue,
tag or the tag of an atom if it is in an adjacent residue.
bond-type s, d, t, or a, for single, double, triple, or aromatic
(conjugated) bonds.
Caution: Parentheses must enclose bonding information. Separate
each entry within parentheses with white space. Make sure the
entries occur in pairs: atom-name, then bond-type.
Example: (HN s –3 s CA s)
HN s: A single bond to hydrogen HN.
–3 s: A single bond to the atom with tag 3 in the previous
residue.
CA s: A single bond to atom CA.
<force-field>
Force field information describes the properties of an atom in
terms of a molecular mechanics force field (see “Molecular
Mechanics” on page 289). HyperChem can use these properties
internal
HyperChem describes the position of an atom in terms of internal
coordinates, or the relationship to its bonded neighbors. The
description of atomic coordinates begins with the keyword inter-
nal, for internal coordinates. Atomic coordinates consist of names
or tags for the neighboring atoms, each followed by a value for the
relationship:
internal Atom-name/tag distance Atom-name/tag angle Atom-
name/tag torsion-angle
734 Appendix E
Amino Acid Residues
736 Appendix E
Nucleic Acid Residues
a. This residue does not appear in the Amino Acids dialog box; HyperChem uses the residue tem-
plate to read residues from a PDB file.
a. This residue does not appear in the Nucleic Acids dialog box. HyperChem uses the residue for con-
structing the complementary strand of a polynucleotide or for reading these residues from a PDB file.
b. For the negative strand or backwards synthesis.
c. This residue supplies atom bonding information only [<atom-name> <aliases> : <element> <tag>
(bonding-info)], without force field, charge, or internal coordinate information.
d. For reading water molecules in a PDB file.
738 Appendix E
Adding New Residues
In this version of HyperChem, you cannot add TPL files; you can
only add entries to the existing files.
General Requirements
To build a new residue, you must have its chemical structure (ele-
ments and bonding). It is also useful, but not necessary, to have
bond lengths, bond angles, and torsion angles. You can get this
information from published reports, by building a residue from
atom and optimizing it with HyperChem, and by using parts of
residues already in the TPL file.
To perform molecular mechanics calculations on molecules con-
taining these residues, it is useful, but not necessary, to have atom
types and charges for each atom. You can find this information in
740 Appendix E
Adding New Residues
7. Return to the entry for 5MC and paste these four atoms after
atom H5 D5 H19.
8. Delete the entire entry for atom H5 D5 H19
9. Edit the first line for atom C5 to show the bond to atom C7
instead of H5:
C5: C (C6 d C7 s C4 s) \
10. Save the file and leave the text editor.
11. Start HyperChem. If HyperChem is already open, choose Exit
on the File menu and start it again.
12. Choose Nucleic Acids on the Databases menu. The dialog box
now contains the residue 5MC.
742 Appendix E
Registry Structure
Appendix F
Default Settings in
the Registry
The Registry contains all the default settings for HyperChem for
Windows. HyperChem uses this information to remember your
settings from the previous session. HyperChem reads the settings
when you start a session.
During a HyperChem session you can change some of these set-
tings from dialog boxes (for example, see “Preferences” on page
95). When you leave HyperChem, the Registry is updated to the
recent settings. The Registry supplies the last choices you made in
a HyperChem menu or the last values you entered in a dialog box.
HyperChem uses these setting for each session until you change
them.
Some settings are available only in the Registry. You can change
these settings by typing regedit in the Open: field of Run... from the
Windows Start button.
Registry Structure
You can see and edit the contents of the Windows Registry by run-
ning the regedit Registry Editor. The HyperChem settings are in the
section under,
HKEY_CURRENT_USER/Software/Hypercube/HyperChem Pro/7.0
i.e., assuming your version of HyperChem is Release 7. The settings
are as described below.
Default settings are in keys that contain multiple string values,
binary values, or DWORD values. HyperChem generally uses
string values even for values that are numerical or boolean (the
DirectSCF REG_SZ No
In the Registry, each key contains many String Values that have a
Name (e.g. DirectSCF) a Type (i.e. REG_SZ, meaning string value)
and the Data (e.g. No). The Data can be Yes or No (Boolean), an
integer (Int), a floating point number (Real), one of a limited set of
possibilities (Enum) or a string such a the name of a file.
Note: Name and Data values in the Registry are not case-sensitive.
In the Registry, the keys for the different versions of the force fields
are saved as subkeys under the main force field keys, and there are
12 main keys in all.
AbInitio Settings for ab initio calculations
amber Settings for the AMBER force field
amber2 Settings for the amber2 parameter set
(subkey in the Registry)
amber3 Settings for the amber3 parameter set
(subkey in the Registry)
ambers Settings for the ambers parameter set
(subkey in the Registry)
amber94 Settings for the amber94 parameter set
(subkey in the Registry)
744 Appendix F
Registry Structure
Registration
The registration data for your copy of HyperChem is contained in
a different section of the registry. You can see and edit the contents
of the Windows Registry by running the regedit Registry Editor by
typing regedit to Run... under the Windows Start button. The Reg-
istration settings are in the key under,
HKEY_LOCAL_MACHINE/Software/Hypercube/HyperChem
Pro/7.0
The entries include the information you entered when you
installed and licensed your copy of HyperChem.
746 Appendix F
Ab Initio Settings
Ab Initio Settings
Note: These AbInitio settings also apply to Density Functional Cal-
culations (DFT).
AbInitio
GaussSCFConver- Real 0.0-100 Ab Initio or This is the limit which the energy
gence Density Func- difference between two
tional consecutive iterations in an SCF
Options calculations should reach.
dialog box
2ElectronBuffer- Int > 50 Ab Initio or Specify the buffer size to store the
Size Density Func- two-electron integrals before
tional sending them to a hard disk.
Advanced
Options
dialog box
748 Appendix F
AMBER Settings
AMBER Settings
amber
MMVersionIditem Int 0-(number of Select “Force The index of the parameter set
parameter sets field” Param- to use.
-1) eter Set dia-
log box
amber,CustomName
These are the subkeys for the parameter sets with the Custom
Names amber2, amber3, ambers, amber94, and amber96:
FileFormat Enum Text Registrya Sets the type for the following
Dbf files. Default = Text
Dielectric Enum Constant or Force Field Sets the dielectric permittivity for
DistanceDepend Options calculating electrostatic interac-
dialog box tions as either constant or dis-
tance dependent (see
DielectricScale, below).
Default = DistanceDepend
DielectricScale Real 1–1000 Force Field Sets the scale factor for dielectric
Options permittivity (see previous entry).
dialog box Default = 1
1–4Electrostatic- Real 0–1 Force Field Sets the scale factor for calculat-
Scale Options ing charge interactions between
dialog box atoms separated by three bonds.
Default = 0.5
1–4vanderWaals- Real 0–1 Force Field Sets the scale factor for calculat-
Scale Options ing van der Waals interactions
dialog box between atoms separated by
three bonds.
Default = 0.5
750 Appendix F
AMBER Settings
752 Appendix F
Basis Set Settings
BasisSet
This registry key defines the basis set file that you use when you
select a basis set in the graphical user interface (GUI). That is, the
names that appear in the ab initio or density functional dialog
boxes when you wish to select a basis set are defined here. These
names are tied here to a specific basis set file.
The entries (String Names) in this section define files ending with
.BAS in the HyperChem Runfiles directory. Thus, you can modify
the basis set files and create your own basis set files. To use a new
basis set you will need to include it in this section of the Registry.
The following contains most of the standard and commonly used
basis sets. All these basis sets are included in HyperChem distribu-
tion disks. This section may look different if Hypercube, Inc. or
you deleted some .BAS files or added some other .BAS files to the
HyperChem Runfiles directory.
754 Appendix F
BIO+ Settings
BIO+ Settings
bio+
bio+,CustomName
These are the subkeys for the parameter sets with the Custom
Names bio83, bio85, charmm19, charmm22, chamm27:
FileFormat Enum Text Registrya Sets the type for the following
Dbf files. Default = Text
Dielectric Enum Constant or Force Field Sets the dielectric permittivity for
DistanceDepend Options calculating electrostatic interac-
dialog box tions as either constant or dis-
tance dependent (see
DielectricScale, below).
Default = DistanceDepend for
85, charmm*, Constant for 83
DielectricScale Real 1–1000 Force Field Sets the scale factor for dielectric
Options permittivity (see previous entry).
dialog box Default = 1 for 85, charmm*, 2.5
for 83
756 Appendix F
BIO+ Settings
1–4Electrostatic- Real 0–1 Force Field Sets the scale factor for calculat-
Scale Options ing charge interactions between
dialog box atoms separated by three bonds.
Default = 1
758 Appendix F
Computational Settings
Computational Settings
Compute
760 Appendix F
Computational Settings
Orbital Enum Homo, Lumo, Orbitals dialog This controls the type of
Number box information displayed in the
orbital number field when an
orbital is selected.
762 Appendix F
Computational Settings
Molecular- Enum mm+ Molecular Sets the force field for a molec-
Mechanics- amber Mechanics- ular mechanics calculation. The
Method bio+ Force Field force field stored in a HIN file
opls dialog box changes this setting.
Default = mm+
MechanicsPrint Int 0–9 Start Log dia- The level of information output
Level log box to a log file for molecular
mechanics calculations.
QuantumPrint Int 0–9 Start Log dia- The level of information output
Level log box to a log file for quantum
mechanics calculations.
764 Appendix F
Computational Settings
766 Appendix F
Filters Settings
UseAuxilliaryBasis Bool- Yes, No Density Func- New Feature (Orbital plus Aux-
ean tional Method illiary Basis Sets) - may not be
Dialog Box available.
AuxilliaryBasis Int 0 to (number Density Func- New Feature (Orbital plus Aux-
of auxilliary tional Dialog illiary Basis Sets) - may not be
basis sets avail- Box available.
able -1)
Filters Settings
This key describes the file filters in HyperChem.
Filters
768 Appendix F
MM+ Settings
MM+ Settings
mm+
CurrentFiles Int 0 to (number Select “Force The index of the MM+ parame-
of Custom- field” Param- ter set to use. 0 for first Custom-
Names–1) eter Set dia- Name, 1= second, and so on.
log box Default = 0
mm+,CustomName
These are subkeys that define the settings for the MM+ parameter
set with the CustomName mmplus:
FileFormat Enum Text Registrya Sets the type for the following
Dbf files. Default = Text
770 Appendix F
MM+ Settings
MMPCubicStretch Real Any negative Registrya The MM+ cubic stretch coeffi-
real number cient for calculating bond stretch
energies. Default = –2
Network Settings
Network
With this key you can specify options for running your calcula-
tions on different machines on your network with HyperChem’s
remote calculation modules.
BackendEthernet- String Any string Network Specifies the name of the remote
Server Options dia- machine that the backend will
log box run on
BackendUserId String Any string Network Specifies the login name that
Options dia- should be used on the remote
log box machine
772 Appendix F
OPLS Settings
OPLS Settings
opls
opls,CustomName
These are the subkeys that define the settings for the parameter set
with the Custom Name opls:
FileFormat Enum Text Registrya Sets the type for the following
Dbf files. Default = Text
Dielectric Enum Constant Force Field Sets the dielectric permittivity for
Options calculating electrostatic interac-
dialog box tions to Constant. There are no
other choices.
Default = Constant
DielectricScale Real 1–1000 Force Field Sets the scale factor for dielectric
Options permittivity (see previous entry).
dialog box Default = 1
1–4Electrostatic- Real 0–1 Force Field Sets the scale factor for calculat-
Scale Options ing charge interactions between
dialog box atoms separated by three bonds.
Default = 0.5
1–4vanderWaals- Real 0–1 Force Field Sets the scale factor for calculat-
Scale Options ing charge interactions between
dialog box atoms separated by three bonds.
Default = 0.125
774 Appendix F
OPLS Settings
Path Settings
Path
With this key you can specify where HyperChem should find its
program files, parameter files, etc.
ChemExePath string Any path name File/Prefer- The directory which contains the
ences/Paths HyperChem program files
property
sheet
ChemParmPath string Any path name File/Prefer- The directory which contains the
ences/Paths parameter files for molecular
property mechanics and semi-empirical
sheet calculations.
ChemLogPath string Any path name File/Prefer- The directory that log files will be
ences/Paths stored in
property
sheet
ChemScriptPath string Any path name File/Prefer- The directory that script files are
ences/Paths read from
property
sheet
776 Appendix F
Preference Settings
Preference Settings
Preferences
MouseMode Enum Drawing Choose a Tool Sets the default tool and cursor.
Selecting with the Default = Drawing
Rotating mouse
ZRotating
Translating
ZTranslating
Zooming
Clipping
778 Appendix F
Preference Settings
DefaultAtomic- Int 0–103 Element Table Sets the default element for
Number dialog box drawing. 0 = lone pair.
Default = 6
HydrogenBond- Real Positive real Registrya Sets the maximum length for
Distance number an H bond.
Default = 3.2 Ångstroms
780 Appendix F
Preference Settings
DotSurfaceAngle Real –90 to +90° This filea This is the angle of dot planes
relative to the XZ plane of the
Viewer’s Coordinate System. A
value of 0 sets the dot planes
perpendicular to the screen.
Default = 25 degrees
BondSpacing- Real 0–0.1 This filea This setting determines the line
DisplayRatio spacing of double, triple, and
aromatic bonds for printing
Sticks renderings. The spacing
is the product of this value and
the smallest dimension of a
rectangle (width or height) that
encloses the molecular system.
Default = 0.01
782
Preference Settings
FileFormat Enum HIN Save File Sets the type of file for storing a
SKC dialog box molecular system.
PDB Default = HIN
ML2
ZMT
CustomMenuFile File- Any filename This filea Specifies the name of the file
name containing the custom menu
TCPNetMask String Four integers Network Pref- Specifies the mask used for
(each 0 to 255) erences prop- TCP/IP addressing
separated by erty sheet
periods
AnnotationColor String Three numbers Annota- Color used for lines, circles, and
separated by tion/Color dia- rectangles. Not used for text
space; e.g. 255 log box annotations.
255 255 is
white
784 Appendix F
Registration Settings
Registration Settings
Registration
This key stores information about the registered user. It is in
HKEY_LOCAL_MACINE rather than HKEY_CURRENT_USER..
User string Any string Installation The name of the registered user
SerialNo string Valid serial Installation The serial number of the product
number
Dealer string Any string Installation The name of the product dealer
786 Appendix F
Credits and Acknowledgments
HyperChem uses public domain force fields and semi-empirical methods with author approval.
Hypercube would like to thank the following authors for their valuable input and assistance:
Dr. Norman Allinger, University of Georgia; author of the MM2 force field.
Dr. Peter Kollman, University of California at San Francisco; author of the AMBER force field.
Dr. William Jorgensen, Yale University; author of the OPLS force field.
Dr. Martin Karplus, Harvard University; author of the CHARMm force field.
Dr. John A. Pople, Carnegie-Mellon University; author of the CNDO and INDO semi-
empirical methods and father of ab initio methods.
Dr. Michael J.S. Dewar, The University of Texas at Austin; author of the MINDO, MNDO,
and AM1 semi-empirical methods.
Dr. James J.P. Stewart, Frank J. Seiler Research Laboratory, United States Air Force Academy;
author of the PM3 semi-empirical method.
Dr. Michael C. Zerner, University of Florida; author of the ZINDO/1 and ZINDO/S semi-
empirical methods.
HyperChem uses sample data files from Brookhaven National Laboratories, Protein Data Bank.
Additional Protein Data Bank files are used with author approval. Hypercube would like to thank
the following authors for allowing us to redistribute their file structures:
Hypercube would like to thank Eric Drexler, President, Foresight Institute and visiting scholar at
Stanford University, and Ralph Merkle of Xerox Parc for use of the bearing1.hin and
bearing2.hin files.
Glossary
789
different set of atom types. HyperChem can assign atom types to a
molecular system, using rules in chem.rul.
Backbone. The continuous covalent path through a molecule.
For polypeptides, the backbone includes all peptide bonds, alter-
nating with alpha carbons, plus disulphide bonds. For
polynucleotides, the backbone includes all phosphodiester bonds,
alternating with the C3′–C4′ carbons in the sugar (ribose or deox-
yribose).
Back end. HyperChem computational software. HyperChem is
constructed in modules, with front-end software running on a PC
and back-end software running on the same PC or another com-
puter. Back-end software includes HyperNewton (AMBER, BIO+,
and OPLS), HyperMM+ (MM+), HyperGauss (ab initio), HyperEHT
(Extended Hückel), and HyperNDO (CNDO, INDO, MINDO/3,
MNDO, AM1, and PM3).
BIO+. An implementation of the CHARMM (Chemistry at
HARvard Macromolecular Mechanics) force field, developed
in the group of Martin Karplus at Harvard University. A molecular
mechanics method, or force field, for chemical calculations.
Developed for proteins. References: Brooks, B.R., et al., J. Comp.
Chem. 4:187-217, 1983; Reiher, W.E., II, Theoretical Studies of Hydro-
gen Bonding, Ph.D. thesis, Harvard University, 1985.
Bitmap. A screen image composed of individual pixels (dots). A
bitmapped image has the same resolution as the monitor.
Brookhaven Protein Data Bank (PDB). A database of protein
and nucleic acid structures. Information for each molecular struc-
ture includes atomic coordinates, atomic connectivity, and refer-
ences. HyperChem can read in and correctly interpret all PDB files
with atomic coordinate or connectivity information. PDB files
have the extension .ent.
Charge density. Distribution of electronic charge density for a
molecule. The shape of a molecule is often associated with a sur-
face of constant charge density. HyperChem calculates charge den-
sity as a sum of molecular orbital densities, each the square of the
orbital wave function.
Clipboard. The temporary storage area for data and graphics pro-
vided by Windows. Cut and Copy in HyperChem place a text
description of atoms onto the Clipboard. Copy Image in Hyper-
Chem places graphic images (both metafile and bitmapped) onto
790 Glossary
the Clipboard. You can view the Clipboard contents directly using
the Clipboard program in the Windows Main Applications group.
Click. Press and release a mouse button quickly.
Clipping. Displaying a section through a molecular system in the
HyperChem workspace. Hides unwanted foreground and back-
ground atoms so you can focus on an area of interest. The section
is called a clipping slab. This is a rectangular box with adjustable
depth, and with height and width equal to the height and width
of the HyperChem workspace. See clipping planes.
Clipping planes. The front and back boundaries of a clipping
slab, individually adjustable from 0 Ångstroms (the viewer’s posi-
tion) to a number of Ångstroms depending on the size and magni-
fication (Zoom factor) of the molecular system.
Clipping slab. A rectangular section through a molecular system
bounded by two adjustable clipping planes.
Closed-shell. A molecule with no unpaired electrons.
CNDO. Complete Neglect of Differential Overlap (see NDO). This
is the simplest of the SCF methods for semi-empirical quantum
mechanics calculations. It is useful for calculating ground-state
electronic properties of open- and closed-shell systems, geometry
optimization, and total energy. HyperChem uses CNDO/2. Refer-
ence: Pople, J. A. and Beveridge, D.L., Approximate Molecular Orbital
Theory, McGraw-Hill, 1970.
Connectivity. Information on the covalent bonding of an atom
to each of its neighbors. PDB files can include this information in
CONECT records. HIN files have this information at the end of
Atom records, in <nbor# nbor-bonds> statements.
Constraint. Constraints for the Model Builder fix values of struc-
tural entities when an approximate 3D structure is being built.
These constraints are a high priority for the Model Builder. How-
ever, adding excessive constraints can result in some being
dropped.
Convergence. The criterion for ending a chemical calculation. A
semi-empirical SCF mechanics calculation converges (ends) when
the difference in energy after two consecutive iterations is less
than a convergence limit (default of 0.01 kcal/mol) or the calcula-
tion reaches an iteration limit (default of 50). For geometry opti-
mization calculations, the convergence limit is either a number of
calculation cycles (the default number is 15 times the number of
Glossary 791
atoms) or an RMS gradient for the molecular system (default of
0.1 kcal/Ångstrom mol).
Coordinate system. A three-dimensional (3D) space containing
x, y, and z Cartesian coordinates for each atom in a molecular
system. HyperChem has a Viewer’s Coordinate System and a
Molecular Coordinate System. From the Viewer’s Coordinate Sys-
tem, you can translate and rotate your viewpoint relative to a fixed
molecular system, giving the appearance of a moving molecular
system. Rotation or translation in the Molecular Coordinate Sys-
tem changes the positions of individual atoms.
Corrrelation Energy. The energy that the Hartree-Fock method
leaves out that descibes the energy coming from the explicit corre-
lation of the positions of electrons, rather than from their average
positions. Ab Initio calculations can compute correlation energies
via second-order Moller-Plesset theory (MP2). Density functional
theory (DFT) gives correlation energies in a self-consistent-field
theory with equations (the Kohn-Sham equations) that resemble
the Hartree-Fock equations. The Kohn-Sham equations require an
exchange functional and a correlation functional. They reduce to
Hartree-Fock theory when the exchange functional is the Hartree-
Fock functional and the correlation functional is omitted.
Corrrelation Functional. The dependence of the correlation
energy upon the electron density. A formula for relating the elec-
tron density to the correlation energy. Density functional theory
proposes methods for computing the exchange and correlation
energy from the electron density.
CPK. Acronym for Corey-Pauling-Koltun; refers to a popular set of
atomic ‘radii’ used for depicting space-filling pictures or building
plastic models.
Cursor keys. The [1] [2] [3] [4] [Home] [End] keys. Use these keys alone,
with [Shift], or with [Ctrl]+[Shift] to rotate or translate molecules in the
workspace.
Cursor. The pointer or tool on screen that you move using the
mouse. Use a cursor to choose items from menus, to draw and
move molecules, to make choices in dialog boxes, and to edit text.
Cycle. During a geometry optimization calculation, the number
of cycles indicates the number of times a calculation takes a new
direction on the potential surface to locate a minimum. Each cycle
includes one or more points, which are calculations to evaluate the
792 Glossary
energy and gradient in this direction. HyperChem reports the
cycle number and number of points on the status line.
DDE. Dynamic Data Exchange. A system for exchanging data
between HyperChem and other Windows applications.
HyperChem acts as a server: it supplies information only when a
client application asks for specific data.
Default element. The element the HyperChem Drawing tool uses
to construct molecules. There can be only one default element at
a time, but you can change it as needed.
Density functional. The dependence of the energy upon a func-
tion (the elctron density). Different functionals describe a different
dependence upon the electron density. Density functional theory
describes a method of calculating the energy by focussing on the
electron density rather than the wavefunction.
Desktop. The screen display that Microsoft Windows uses to
present windows and icons.
Dialog box. A type of Window for accepting information or dis-
playing a message. The presence of most dialog boxes blocks other
HyperChem functions. You must close these dialog boxes to re-
activate HyperChem. Persistent dialog boxes (for example, the
Amino Acids dialog box) do not interfere with HyperChem func-
tions.
Dielectric constant. A factor (epsilon) that modifies charge-
charge interactions during molecular mechanics calculations. In
the absence of solvent molecules, a distance-dependent dielectric
constant or a “constant” dielectric constant greater than 1
simulates the presence of solvent. In the presence of solvent, as in
a hydrated periodic box, the dielectric constant should be Con-
stant, rather than Distance dependent. For a constant dielectric,
epsilon= (permittivity of free space) × (scale factor). For a distance-
dependent dielectric, epsilon= (permittivity of free space) × (scale
factor) × (interatomic separation). See electrostatic potential.
Drag. Move an object on screen by holding down a mouse button
while moving the mouse. Objects can be molecules or highlight
bars in a menu. When you complete the movement, release the
mouse button. For example, you can move a selected molecule by
dragging a translation tool across the HyperChem workspace
while holding the right mouse button. You can hold the left mouse
button and move the mouse pointer through a menu to highlight
a menu item. Release the mouse button to choose the item.
Glossary 793
Dynamic Data Exchange. See DDE.
Electrostatic potential. The potential energy at every point in
space arising from a distribution of charged atoms. The electro-
static potential (U) at a distance r from a point charge is given by
Coulomb’s law: U = C q ⁄ ( εr ) , where C is a constant (dependent on
units) and ε is the dielectric constant (or epsilon). For multiple
charges in 3D space (both nuclear charges and electrons in molec-
ular orbitals), this equation becomes appropriately complex.
HyperChem calculates electrostatic potential as the potential
energy of a unit positive charge interacting with the molecular sys-
tem. In calculating the interaction with electrons in molecular
orbitals, HyperChem neglects components due to diatomic differ-
ential overlap (see NDO). HyperChem calculates and plots electro-
static potential from the results of single point, semi-empirical
quantum mechanics calculations. You can use these results to pre-
dict initial attack positions of protons and other ions during reac-
tions.
Exchange Functional. The dependence of the exchange energy
upon the electron density. A formula for relating the electron den-
sity to the exchange energy. Density functional theory proposes
methods for computing the exchange and correlation energy from
the electron density.
Explicit hydrogens. When Explicit hydrogens is active during
drawing, HyperChem expects all hydrogen atoms to be drawn.
Atoms with only one bond are drawn as hydrogen, rather than as
the default element. This is in contrast to hydrogen atoms added
by the Model Builder after drawing with only heavy atoms.
Force constant. A term in each equation for a force field that
transforms data on atomic coordinates into a potential energy
measurement. For example, for bond stretching energy:
∑ Kr ( r – r0 )
2
Eb o n d = , where E is potential energy, r is bond length,
bonds
794 Glossary
system as a function of atomic coordinates, atom types, and
parameter sets that fit the equations to experimental data. See the
separate entries for atom type and parameter set.
Front end. See back end.
Geometry optimization. A calculation, using either a molecular
mechanics or quantum-mechanical method, to find a minimum
energy (stable) configuration for a molecular system. The calcula-
tion adjusts atomic coordinates in steps to find a configuration in
which net forces on each atom are reduced to zero. This is usually
a local minimum on the potential surface, which may not neces-
sarily be the global minimum.
Global minimum. The configuration of a molecular system with
the lowest potential energy.
Gradient. The rate of change (first derivative) of the energy of a
molecular system as a function of atomic positions. A gradient of
zero indicates a configuration with minimum energy a (local or
global minimum or a transition state). When HyperChem reports
a single value for Gradient, this is the RMS gradient of the forces
on all atoms.
Ground state. The lowest energy electronic state. See lowest
state.
Group selection. A selection of a subset of atoms, residues, or
molecules in a molecular system. The choice of Atoms, Residues, or
Molecules on the Select menu regulates the level of group selection.
With the Selection tool active, you group-select by dragging a
boundary around the molecular structures, with both left and
right mouse buttons pressed (press left before right). Select Sphere
on the Select menu toggles group selection between a 2D and 3D
process. 2D selection involves all atoms projecting onto a 2D
selection rectangle. 3D selection involves all atoms within a sphere
centered on an atom.
HIN. HyperChem Input file. This is the principal file type Hyper-
Chem uses to store molecular systems. The files have the extension
.hin.
HOMO. Highest Occupied Molecular Orbital. This is used as a ref-
erence point for describing the position of any molecular orbital as
being at or below this orbital. Molecular orbitals are a linear com-
bination of atomic orbitals (LCAO).
Glossary 795
Hückel method. A simple and approximate method for semi-
empirical quantum mechanics calculations. The Extended Hückel
method used in HyperChem is useful only for single point calcu-
lations, not for geometry optimization or molecular dynamic cal-
culations. Extended Hückel calculations produce qualitative or
semi-quantitative descriptions of molecular orbitals and electronic
properties (for example, net atomic charges and spin distribu-
tions). This is not a Self-Consistent Field (SCF) method. Reference:
Hoffman, R., J. Chem. Phys. 39(6):1397-1412, 1963.
Icon. A small graphic symbol representing a tool or application
program.
INDO. Intermediate Neglect of Differential Overlap (see NDO).
An SCF method for semi-empirical quantum mechanics calcula-
tions. It improves on CNDO by accounting for certain one-center
repulsions between electrons on the same atom. Useful for calcu-
lating ground-state electronic properties of open- and closed-shell
systems, geometry optimization, and total energy. Reference:
Pople, J. A. and Beveridge, D.L., Approximate Molecular Orbital The-
ory, McGraw-Hill, 1970.
Improper torsion. A torsion (dihedral) angle not formed by a
sequence of three bonds. Some molecular mechanics force fields
use such angles in energy terms to maintain planarity or to prevent
inversion of tetrahedral carbons that have one hydrogen in a
united atom representation.
Inertial axes. The three axes (primary, secondary, and tertiary)
associated with moments of inertia for a molecular system or
selected subsystem. The axes are functions of the location and
mass of atoms. They belong to the system and are independent of
the Viewer’s or Molecular Coordinate Systems. The primary iner-
tial axis usually marks the longest distance through a molecular
system, and the tertiary axis usually marks the shortest distance.
Isosurface. A three-dimensional surface which shows where in
three-dimensional space the specified property has a given value;
it is like the skin of a solid object. For example, for the mathemat-
ical function s = x2 + y2 +z2, an isosurface plot for s = 1 would give
a spherical surface of radius 1; isosurface plots for other values of s
would give spherical surfaces of other sizes.
Iteration. In an SCF quantum mechanics method, a calculation
of molecular orbitals starts with a guess about the form of the
orbitals. Each trial (or iteration) refines the guess for the next trial.
796 Glossary
When the difference between two successive iterations is less than
a convergence limit (that you can set), the SCF calculation has
reached convergence.
Label. Information about the components of a molecular system
HyperChem can display with the system. Labels apply either to
atoms or residues. Atom labels are Symbol (chemical), Name
(according to PDB file conventions), Number (sequence), Type
(atom type), Basis Set, Mass, Charge, or Chirality (R or S). Residue
labels are Name, Sequence, or Name+Sequence. HyperChem
applies labels to the current selection.
LINE. A predefined, named selection identifying atoms in the
selection, plus the primary inertial axis of selected atoms. (The pri-
mary inertial axis corresponds to the smallest eigenvalue of the
moment of inertia matrix.) A molecular system can have only one
LINE selection at a time.
Local minimum. A minimum on the energy surface for a molec-
ular system representing a low potential energy conformation.
Molecular energy surfaces can have many minima, the lowest
being the global minimum. Geometry optimization calculations
can result in a structure at a local minimum.
Log. A file containing the results of a chemical calculation and
comments. HyperChem automatically collects this information if
you choose Start Log on the File menu (see Start Log). The default
filename is chem.log and the file usually has the extension .log.
Lowest state. The lowest electronic state of a particular spin mul-
tiplicity; not necessarily the ground state.
LUMO. Lowest Unoccupied Molecular Orbital. This is used as a
reference point for describing the position of any molecular orbital
as being at or above this orbital. Molecular orbitals are a linear
combination of atomic orbitals (LCAO).
Metafile. An image composed of drawing commands. The resolu-
tion of a metafile image does not depend on the monitor, but is the
resolution of the output device. For example, if you print a meta-
file on a laser printer, the resolution may be 300 dpi.
MINDO/3. Modified Intermediate Neglect of Differential Over-
lap, version 3. This is an SCF method for semi-empirical quantum
mechanics calculations. An extension of INDO, MINDO/3 uses
parameters fit to experimental results, instead of accurate
calculations. Useful for large organic molecules, cations, and
Glossary 797
polynitro compounds. Calculates electronic properties, geometry
optimizations, and total energy. Reference: Dewar, M.J.S. et al., J.
Am. Chem. Soc. 97:1285, 1975.
MM+. The most general method for molecular mechanics calcula-
tions, developed for organic molecules. This is an all atom force
field. MM+ is based on the MM2 (77) functional form, authored by
Dr. Norman Allinger of the University of Georgia. HyperChem
assigns atom types and parameters not normally available to
MM2, extending the range of chemical compounds that this force
field can accommodate. MM+ extends MM2 to allow options such
as periodic boundary conditions and molecular dynamics com-
mon to other force fields. Reference: Allinger, N.L., J. Am. Chem.
Soc. 99:8127-8134, 1977.
MNDO. Modified Neglect of Diatomic Overlap. This is an SCF
method for semi-empirical quantum mechanics calculations. Use-
ful for various organic molecules containing elements from long
rows 1 and 2 of the periodic table, but not transition metals. Elim-
inates some errors in MINDO/3. Calculates electronic properties,
optimized geometries, total energy, and heat of formation. Refer-
ence: Dewar, M.J.S. and Theil, W., J. Am. Chem. Soc. 99:4899, 1977.
Model Builder. The facility in HyperChem that constructs 3D
models of chemical structures from 2D drawings. HyperChem uses
built-in rules to assign standard bond lengths, bond angles, torsion
angles, and stereochemistry. The Model Builder also assigns atom
types for the currently active force field, and can automatically
add hydrogens to satisfy valence requirements. These are approxi-
mate structures and might require refinement by geometry
optimization.
Molecular dynamics. Calculations simulating the motion of
each atom in a molecular system at a fixed energy, fixed tempera-
ture, or with controlled temperature changes. The result of molec-
ular dynamics calculation is called a trajectory. HyperChem can
use either a molecular mechanics or semi-empirical quantum
mechanics method for a molecular dynamics trajectory. You can
use this calculation to derive a large number of structural and ther-
modynamic properties, including alternative local minima,
energy differences between different configurations, and reaction
mechanisms and pathways.
Molecular mechanics. Various methods for calculating the
potential energy of molecular systems as a function of the coordi-
nates of their atomic nuclei, neglecting explicit treatment of elec-
798 Glossary
trons. Electronic effects are implicit in the analytic functional
forms and parameterization. All methods use empirical data to
determine individual force constants (for example, bond stretch
constants) and equilibrium (“strain-free”) values for each geomet-
ric quantity (for example, bond lengths). HyperChem provides
these methods: MM+, AMBER, BIO+, and OPLS.
Multiplicity. The total spin multiplicity is 2S+1, where S is the
total electron spin of the system. Each unpaired electron counts
for a spin of +1/2. Paired electrons have a net spin of zero
(+1/2 – 1/2 = 0). A closed-shell system has a multiplicity of 1 (sin-
glet). An open-shell system can have a multiplicity of 2, 3, 4 (dou-
blet, triplet, quartet, respectively), or higher. Use integers from 1 to
6 in HyperChem.
Named selection. A set of atoms that have an assigned name,
either predefined (POINT, LINE, or PLANE) or any other name up
to 19 characters long. You can use named selections to repeat a
selection or to carry out specific operations (for example, inver-
sion, reflection, rotation, averaging and graphing during molecu-
lar dynamics, or setting restraints during a calculation).
NDO. Neglect of Differential Overlap. For semi-empirical quan-
tum mechanics calculations, this is a simplification eliminating
many integrals describing the interactions of electrons. The CNDO
method neglects the calculation of all differential overlap inte-
grals. Other NDO methods (INDO, MNDO/3, MNDO, and AM1)
neglect some integrals.
Open shell. A molecular system containing unpaired electrons.
OPLS. Optimized Potentials for Liquid Simulations. A molecular
mechanics method, or force field, for chemical calculations.
Developed for proteins and nucleic acids. It is similar to AMBER
but treats nonbonded interactions more accurately. This force field
provides only a united atom representation.
Orbital. The function describing the spatial distribution of an
electron. Atomic orbitals describe the electrons in atoms. Molecu-
lar orbitals, derived as a linear combination of atomic orbitals
(LCAO), describe electrons in molecules.
Parameter set. For molecular mechanics force fields, empirically
or theoretically derived force constants and structural values
applying to specific bonded combinations of atoms (each
described by an atom type). Each force field might have more
than one parameter set, but you can use only one set at a time. For
Glossary 799
MM+, HyperChem supplies parameters when they are not avail-
able in the MM2 parameter set.
For semi-empirical calculations, parameter files (with the exten-
sion .abp) contain empirical values for the integrals in the calcula-
tion.
PDB. See Brookhaven Protein Data Bank.
Periodic box/ boundary conditions. A periodic box is a cube sur-
rounding a molecular system. HyperChem adds standard water
molecules (TIP3P, equilibrated at 300K and one atmosphere) to the
box, providing a constant-density solvent. In molecular mechan-
ics calculations, the box is treated as if it were surrounded by 26
identical boxes (images), each containing the identical molecules.
Atoms in each image experience the same forces (exhibit the same
motions) as the molecules in the central box. If, during a calcula-
tion, molecules move out of the box, an identical particle “enters”
from the neighboring image. These periodic boundary conditions
simulate a continuous system with a constant density of mole-
cules. You can remove the water molecules, but retain the periodic
box and boundary conditions, simulating a crystal lattice.
With the HyperChem periodic boundary conditions, an atom
interacts only with one nearest image of other atoms and never
with an image of itself in molecular mechanics calculations.
PLANE. A predefined, named selection identifying the atoms in
the selection, plus the plane formed by the primary and secondary
inertial axes of the selected atoms. A molecular system can have
only one PLANE selection at a time.
POINT. A predefined, named selection identifying the atoms in
the selection, plus the center of mass of the selected atoms. A
molecular system can have only one POINT selection at a time.
Potential (energy) surface. A multidimensional plot of the
potential energy of a molecular system as a function of all variables
(degrees of freedom) in the system (for example, bond angles). The
potential surface for a nonlinear molecule with N atoms (greater
than 2) has 3N–6 independent degrees of freedom (6 = three
degrees reserved for rotation and three reserved for translation of
the whole molecular system). Potential energy surfaces are usually
diagrammed in only one or two dimensions. A 1D potential sur-
face might show a bond energy versus length. A 2D potential
surface might show a contour plot of energy as a function of two
torsion angles.
800
Important features on a potential surface are minima—which
HyperChem can locate with geometry optimization and molecular
dynamics calculations—and saddle points, which represent struc-
tural transition states.
Quantum mechanics. The theory that energy is absorbed or radi-
ated in discrete packets, known as quanta. A consequence of this
is that electrons travel in a limited number of orbitals around an
atomic nucleus, and that each orbital is characterized by a specific
energy. Moving electrons have the properties of particles and
waves. The SchrÖdinger equation and its derivatives describe com-
pletely the behavior of electrons and nuclei, and hence the behav-
ior of chemical compounds.
Semi-empirical calculations in HyperChem assume fixed nuclei
and use approximate solutions of the Schrödinger equation, plus
empirical data (parameters), to predict electronic properties of
molecular systems.
HyperChem’s ab initio calculations solve the Roothaan equations
(see the Computational Chemistry reference manual) without any
further approximation apart from the use of a specific finite basis
set. They involve a more fundamental approach to solving the
Schrödinger equation than the semi-empirical methods do.
Rendering. The visual representation of a molecular system. This
version of HyperChem provides five types of rendering: Sticks,
Disks, Spheres (CPK-type models), Dots, and Sticks & Dots. Space-
filling renderings use standard CPK radii for the atoms.
RHF. Restricted Hartree-Fock theory. The representation of a wave
function with spin-paired electrons (up-spin and down-spin)
restricted to occupy the same spatial molecular orbitals. Each spa-
tial orbital can also contain single (spin-up or spin-down) elec-
trons.
RMS gradient. Total energy gradient calculated as a root mean
square value. The gradient (G) is the rate of change (first deriva-
tive) of total energy (E) with respect to displacement of each atom
in the x, y, and z directions. For atoms 1 to n,
n
∑ ------ ∂E 2
1 ∂E ∂E 2
+ ------- + ------
2
G RMS = ------ -
3n
i=1
∂x
i ∂y i ∂z i
Glossary 801
or saddle point in the potential energy surface, not necessarily at
the structure and state of lowest energy (global minimum).
Restraint. Restraints for energetic calculations add restoring
forces to selected atoms. Restraints apply to atomic distances (one
or two atoms), bond angles (three atoms), and torsion angles (four
atoms).
Scale to fit. An item on the Display menu that scales the visible
atoms or molecules to fit into the workspace. If there is a selec-
tion, the selected atoms fill the workspace. Without a selection,
HyperChem scales the whole molecular system to fit the work-
space.
SCF. Self-Consistent Field. This is an iterative method, used in all
NDO, semi-empirical quantum mechanics calculations. It
accounts for electron repulsion energies in solutions of the
SchrÖdinger equation. The SCF or Hartree-Fock method simplifies
this task by assuming the movements of electrons are independent
and that an electron interacts with the mean field of other elec-
trons in a molecule. In HyperChem, all semi-empirical quantum
mechanics methods, except Extended Hückel, are SCF methods.
An SCF calculation begins by estimating the wave function
describing the electron orbitals and electron repulsions. Based on
this guess, HyperChem calculates a new wave function and com-
pares the result with the estimate. HyperChem repeats this process
until the estimate and the result converge or become “self-consis-
tent.” Each iteration improves the orbitals until the result reaches
a convergence limit.
Script. A set of instructions, stored in a file with a .scr extension,
to run HyperChem. Similar to a macro program in other applica-
tions. HyperChem scripts set or read variables, give commands,
and activate menu items. Use a text editor to create a script file,
then use the Script menu in HyperChem to run a script.
Self-consistent field method. See SCF.
Semi-empirical. A type of quantum mechanics chemical calcula-
tion that uses parameters derived from experiments to simplify the
calculation process.
Single point. A calculation that determines the total energy (in
kcal/mol) and gradient of a molecular system or of selected atoms.
With a quantum-mechanical method, a single point calculation
also determines the electron (charge) distribution in the system.
802 Glossary
The calculation represents only the present molecular configura-
tion, a single point on the energy surface for the molecular system.
Snapshot. A record of a single time point in a molecular dynam-
ics simulation. You can instruct HyperChem to take snapshots at
regular intervals during the simulation. Coordinates and velocities
for the molecular system are stored in SNP files. You can later play
back the snapshots to view the changes in configuration of the sys-
tem, plot data values, and obtain averages of data values. Data for
chosen variables (like total energy or a bond torsion) are stored in
a CSV file.
Spin density. The probability of finding more spin-up electrons
than spin-down electrons at a point in space. For a closed-shell sys-
tem, spin density is zero at every point. HyperChem can plot total
spin density for a molecular system after it performs a single point,
semi-empirical or ab initio quantum mechanics calculation. You
can use plots of spin density at the nucleus to predict the results of
electron spin resonance (ESR) spectra. See spin pairing and mul-
tiplicity.
Spin multiplicity. See multiplicity
Spin pairing. Two electrons occupying the same orbital must be
paired and have opposite spins, one up spin and one down spin.
Closed-shell systems contain only paired electrons. Open-shell
systems contain unpaired electrons.
Status line. The line at the bottom of a HyperChem window dis-
playing messages and data.
3D surface. See isosurface.
Tool. A cursor for performing tasks, like drawing or translation, in
the HyperChem workspace. Tool icons are in a column at the left
side of the workspace. L-clicking on a tool icon converts the cursor
into a tool.
Trajectory. The history of atomic motion over time. This term is
often applied to a molecular dynamics simulation. It can be saved
in a snapshot file.
Translation. Movement of a molecule without rotation.
Type rules. Rules for each force field, found in the file chem.rul
(or its binary equivalent, typerule.bin), for assigning atom types to
individual atoms or atom groups.
Glossary 803
UHF. Unrestricted Hartree-Fock method. A representation of a
wave function providing separate spatial orbitals for spin-up (α)
and spin-down (β) electrons. Each α or β orbital can accommodate
zero or one electron. You can use UHF calculations for calculating
dissociation reactions of closed-shell systems.
United atom. A simplification of a force field that treats certain
atom groups (heavy atoms like C or N atoms and their bonded
hydrogens) as a single atom. United atom treatment requires spe-
cial atom types incorporating the properties of the constituent
atoms and type rules for assigning these types. United atom repre-
sentation is optional with AMBER and MM+, automatically
assigned to many atoms with OPLS, and is the present default for
BIO+. Another term for united atom is extended atom. The alter-
native to united atom is “all atom,” which represents each atom
separately, with a distinct atom type.
Wave function. See orbital.
Window. A working area on the desktop containing a software
program (like HyperChem). A window has a title bar at the top,
containing the name of the program. Only one window can be
active at a time. The active window receives input from the mouse
and keyboard. A dialog box is a type of window.
Workspace. The region of a Window that contains data; for
HyperChem, a molecular system.
Z Clipping. See clipping.
Zoom. The HyperChem function that magnifies or reduces the
size of the molecular system in the workspace.
Zwitterion. A molecule with regions of formal positive and nega-
tive charge. This is the usual state of polypeptides at neutral pH in
solution, with –NH3+ and –COO– terminal groups. A polypeptide
constructed from a HyperChem database has incomplete,
uncharged termini (–N–H and –C–O), unless terminal groups were
used.
804 Glossary
Index
Symbols A
* and ** in basis set name CC-271 A form, polynucleotide strand conformation
*ben parameter file RM-660 RM-160
*imp parameter file RM-660 Ab Initio
*nbd parameter file RM-660 dialog box RM-14
*tor parameter files RM-660 Ab initio
*typ parameter files RM-660 basis set files RM-703–RM-709
? — Product support GS-20 ab initio calculations CDK-195, CDK-229
“Default Settings in Registry” on page 673 RM- ab initio calculations HM-213
28 Ab initio calculations, HyperChem tutorial GS-
’**’ atom type CC-215 219
Numerics ab initio d orbitals RM-326
10–12 potential CC-26 ab initio ghost atoms RM-326
1–4 electrostatic interactions CC-108 ab initio integral storage RM-103
1–4 interactions CC-190, CC-204 ab initio method CC-261–CC-278
1–4 van der Waals interactions CC-108 Ab Initio options RM-318
24-bit color RM-100 ab initio quantum mechanics CC-31
2D Contours RM-393 Abort warning message RM-359
2-electron integral storage RM-103 About HyperChem, Help menu RM-116
3D Isosurface RM-393 absolute energy CC-22
3D isosurface RM-398 absorption, infrared CC-369
3D Rendering RM-264, RM-265 Accelerate convergence HM-182
4-31G scale factors, table CC-270 Accelerate convergence, Semi-empirical Op-
6–12 function CC-26 tions dialog box RM-306
6–12 potential CC-184 acceleration, convergence CC-49, CC-116, CC-
240
acceptance ratio CC-102
805
ACCR, Selection, Molecular Dynamics Aver- dialog box RM-216–RM-218
ages dialog box RM-378, RM-379 Edit menu RM-202
accumulate selections, Selection tool RM-227 Align Molecules on Edit menu GS-180
accuracy Align Viewer RM-19
atomic charges CC-143 dialog box RM-215–RM-216
dipole moments CC-140 Edit menu RM-202
heats of formation CC-136 All Atom force fields CC-28
proton affinities CC-137 All Atoms RM-129
rotational barriers CC-139 Build menu RM-118
UV-visible spectra CC-152 all atoms CC-178, CC-197, CC-202
vibrational frequencies CC-149 Allow Ions ??–RM-126
Accuracy of results HM-242 Element Table dialog box RM-122
Acetyl (Ace), amino acid residues RM-143 Allow ions option GS-47
Activation energies CC-339 Alpha
activation energy CC-17, CC-139 polynucleotide torsion angle RM-160
Add alpha electrons CC-38
Counter Ions RM-162, RM-499 alpha helix
Databases menu RM-140 creating GS-99
Hydrogens RM-123 displaying GS-118–GS-119
Build menu RM-117 Alpha helix, residues conformation RM-144
alpha spins CC-46
Restraint Forces dialog box RM-341
Alpha, Orbitals dialog box RM-402
Add H & Model Build, changes to Model Build
am*hbd parameter file RM-661
RM-479
AM1 CC-123, CC-132, CC-156, CC-249, CC-
adding atoms/bonds RM-472
305–CC-306
adding comments to Log file RM-617
adding hydrogen atoms RM-30, RM-477 elements treated by RM-302
adding new residues RM-739–RM-741 parameter files RM-690–RM-693
adding unusual residues RM-496, RM-501 Semi-empirical Method dialog box
affinities, proton CC-137 RM-299
Alanine (Ala), amino acid residues RM-142 AMBER CC-105, CC-110, CC-176, CC-197
alanine zwitterion file structure RM-744
creating isolated structure GS-148– force field GS-129, GS-130–GS-131
GS-157 Molecular Mechanics Force Field
minimized structure GS-163 dialog box RM-290–RM-291
optimizing solvated structure GS- settings RM-749–RM-751
162 Amber CDK-102
solvating GS-158 amber,amber2, file structure RM-744, RM-
Algorithm, Compute menu RM-364 750–RM-751
align CDK-215 amber,amber3, file structure RM-750–RM-751
Align Molecules amber,ambers, file structure RM-750–RM-751
806
amino acid CDK-223 Architecture CDK-8
Amino Acids architecture, HyperChem CC-161
dialog box RM-14 Arginine (Arg), amino acid residues RM-143
amino acids argument CDK-30, CDK-31, CDK-51, CDK-
building peptides from GS-92 98
conformation changes RM-496 command line RM-3
arguments, for variables and commands RM-
mutation RM-496
516–RM-517
for polypeptide construction RM- aromatic rings, torsion angles and multiple RM-
141–RM-142 131
Amino Acids dialog box GS-91–GS-92, RM- array RM-581
140, RM-142–RM-145, RM-504 array HSV CDK-33
residues RM-141 Arrow keys HM-89
amino acids, adding RM-739 Asparagine (Asn), amino acid residues RM-143
Amino Acids, Databases menu RM-139–RM- Aspartic acid (Asp), amino acid residues RM-
141, RM-494 143
residues RM-142–RM-145, RM-735– Assistance, product GS-20
RM-737 asterisk in basis set name CC-271
amount of Z Translation RM-45 atom coordinates CDK-165, CDK-187, CDK-
analyzing HyperChem results RM-618 192, CDK-199, CDK-220
Anderson, W.P., Edwards, W.D., Zerner, M.C. Atom labels HM-96, HM-168
Atom number, Select menu RM-224
and ZINDO/1 RM-680
atom numbering CDK-30, CDK-59, CDK-100,
angle bending CC-182, CC-193, CC-198, CC-
CDK-195
203, CC-221
Atom rendering HM-96
angle bending, sextic CC-193
Atom rendering options HM-168
angle, atomic coordinates for TPL file RM-
Atom rendering, colors HM-188, HM-192
734–RM-735
Atom rendering, radii HM-189, HM-193
Angle, Rotate dialog box RM-210
Atom type files HM-186, HM-194
anharmonicity CC-149
atom types CC-176, CC-177
animate CDK-230
Animations, See AVI displaying GS-155
annealing time, molecular dynamics CC-92 Atom types, calculate HM-155
annealing, simulated CC-81, CC-360 atom types, new or changed CC-180
annealing, trajectory CC-346 Atom types, setting HM-105
anti-parallel spins CC-288 Atom typing rules HM-194
application atom velocities CC-76
atom, HIN file syntax RM-717
DDE CDK-108
Atom, Numbers, Select dialog box RM-236
applications RM-604–RM-605
ATOM, record in PDB-type files RM-505
DDE RM-604–RM-605 atomic charges CC-143, CC-192
applying restraints RM-343
assigning GS-151–GS-152
Approximation, weak coupling HM-183, HM-
250 calculating GS-202
807
displaying GS-182 typing rules RM-655
Atomic charges, MM+ Options dialog box RM- Atoms, available HM-81
292 atoms, fixed CC-86
atomic coordinates RM-734–RM-735 Atoms, Labels dialog box RM-281
See also files, syntax for HIN; Molecular Co- Atoms, Select menu RM-221
ordinate System atoms, unknown type CC-215
atomic mass CC-178 Atom-type
atomic movement, Monte Carlo RM-371 in TPL file RM-734
atomic orbital electron populations Select menu RM-224
in log file RM-632, RM-633 Aufbau principle CC-43, CC-51
Atom-name# (TPL file) Austin Model 1 See AM1
atomic coordinate RM-735 automatic operation with scripts RM-509
Average/graph period, Molecular Dynamics
bonding information RM-733
Averages dialog box RM-380
atoms RM-30, RM-223–RM-225
Averages
adding hydrogen RM-478 averages files. See also Molecular Dy-
boundary GS-213 namics
characteristics GS-84–GS-85 Molecular Dynamics Averages dia-
deleting/deselecting GS-54 log box RM-380
drawing GS-46–GS-47 Molecular Dynamics Options dia-
editing GS-82
log box RM-369–RM-374
group selection GS-53–GS-55 averages, molecular dynamics results CC-88
individuals edited GS-64–GS-65 averaging, dynamics data CC-351
labeling GS-63–GS-64 averaging, dynamics, deviations CC-354
by number GS-81 Avg. & Graph, Molecular Dynamics Averages
by symbol GS-83 dialog box RM-379
AVI Movie RM-376
name, Select menu RM-223
axial hydrogens GS-141
names for TPL file RM-732 measuring GS-139
numbering RM-237
pseudo-atoms GS-213–GS-214 B
selected by name RM-236 B form, polynucleotide strand conformation
RM-160
selecting GS-51–GS-53 back end CDK-8, CDK-11, CDK-16, CDK-
selecting by number RM-236–?? 137, CDK-187, CDK-191, CDK-206,
selecting in 3D rectangle GS-107 CDK-222, CC-161
Selection level RM-32 remote CDK-18, CDK-222
spherical selection GS-108–GS-110 backbone
tag numbers in TPL file RM-732– coloring GS-104
RM-733 displaying GS-104, GS-117
types RM-654 selecting GS-102–GS-103
808
backbone display RM-261 Bath relaxation, Molecular Dynamics Options
background color RM-95 dialog box RM-372
Backward, polynucleotide strand formation Beta
RM-161–RM-162 polynucleotide torsion angle RM-160
Bacon, A.D. and Zerner, M.C. sheet, amino acid residue confor-
and ZINDO/1 RM-680 mation RM-144
Ball Radius, Balls Options dialog box RM-264 beta electrons CC-38
Balls and Cylinders, Rendering dialog box RM- beta spins CC-46
259 Beta, Orbitals dialog box RM-403
Balls options RM-263 Bibliography HM-252
Balls, Rendering dialog box RM-259 bibliography, computational chemistry CC-2
Bar chart, coupling constants HM-138 binary communication CDK-139, CDK-141
Bar chart, peak information HM-129 binary message CDK-141
Bar chart, plotting HM-155 binding energy CC-135
Bar chart, shielding constants HM-138
in log file RM-633
Bar chart, spectral data HM-139
BIO+ CC-105, CC-176, CC-202
Bar chart, table data HM-170
barrier, rotational CC-139 force field RM-291
barriers, potential CC-84 Molecular Mechanics Force Field
barriers, reaction CC-33 dialog box RM-291
BAS file CDK-154 biphenyl RM-131, RM-654
base pairs, unusual RM-500 Bipyramidal, Constrain Geometry dialog box
basics, HyperChem RM-17–RM-25 RM-135
Basis function, extra RM-316 biradicals CC-47
basis functions, extra RM-328 bitmap RM-613
basis functions, non-nuclear CC-120 graphics RM-631
Basis set use RM-615
Atoms, Labels dialog box RM-282 Bitmap file format, Setup Image RM-100
basis set CDK-197, CDK-229, CC-45 bitmap preferences RM-99
Basis set assignment RM-316, RM-318 black box — not CC-164
basis set superposition effects CC-120 black-and-white output RM-105, RM-395
basis set superposition error (BSSE) CC-278 block CDK-146
basis set, creating RM-709 block diagonal method CC-62
basis set, HIN file syntax RM-719 block diagonal Newton-Raphson optimization
basis set, minimal CC-265 CC-338
basis set, split-valence, table of KLM values block diagonal Newton-Raphson optimization
CC-268 method RM-366
basis sets BMP. See bitmap
references CC-114 boat cyclohexane
selection CC-113 geometry optimization GS-140
basis sets, references CC-226 Boltzmann distribution CC-19, CC-95, CC-
basis sets, split-valence CC-268 343, RM-384
bath relaxation constant CC-74 bond CDK-57, CDK-217, CDK-219, CDK-
809
220, CDK-221 666
bond angle bending CC-183 measuring distances GS-85
bond angles CC-23
See also Constrain entries
measuring GS-86–GS-87 torsion constraint, rebuilding mole-
bond angles and bending energy
cule GS-142
in log file RM-638
bonds, automatic generation RM-82
bond breaking CC-47
bond-type, bonding information for TPL file
bond breaking/formation, simulation CC-93
RM-733
Bond Color RM-96
books CDK-160, CDK-174, CDK-195
bond dipoles CC-107, CC-192
Bond dipoles, MM+ Options dialog box RM- Tcl CDK-96
292 books on Tcl CDK-23
bond dissociation CC-38 Boolean arguments CDK-30, CDK-51, RM-
bond distances 517
Borland CDK-3, CDK-149, CDK-150
measuring GS-85
Born-Oppenheimer approximation CC-11, CC-
bond formation and breaking CC-22
33, CC-168
bond length and stretching energy
boundary atoms GS-213
in log file RM-638 boundary conditions, periodic, theory CC-210
bond order bovine pancreatic trypsin inhibitor GS-209–
changing GS-60–GS-62 GS-210
Bond rendering HM-99 box, HIN file syntax RM-716
Bond rendering options HM-168 box, removing periodic RM-339
bond rotation RM-39 BPTI See bovine pancreatic trypsin inhibitor
bond stretch CC-182 breaking bonds, simulation CC-93
bond stretching CC-183, CC-191, CC-198, CC- Brillouin’s Theorem CC-41, RM-310
202, CC-218 Broadband decoupled spectrum HM-107
bond torsions and torsional energy Brookhaven PDB See Brookhaven Protein Data
in log file RM-638 Bank
bond-breaking CDK-56 Brookhaven Protein Data Bank GS-113, RM-
bond-centered basis functions, see ghost atoms 80, RM-84, RM-503–RM-507
bond-centered orbitals CC-278 format GS-33
bonded neighbors CC-177 opening files from GS-114–GS-115
bonding information. See HyperChem Input files;
reading files from GS-210–GS-211
template files
bonding interactions CC-182 Save File dialog box RM-83
bonds CC-23 BSSE CC-120, CC-278
bug or error reporting GS-20
angle in parameter file RM-666–RM-
Build menu RM-117–RM-119
668
Calculate Types GS-152
changing the order RM-475–RM-476 Constrain Bond Torsion GS-201
hydrogen GS-89, GS-122–GS-123 Constrain Geometry GS-85
length in parameter file RM-665–RM- Default Element RM-29
810
Explicit Hydrogens RM-30 Calculation, chemical shifts (theory) HM-242
script messages RM-529–RM-532 Calculation, starting HM-114, HM-137, HM-
158
Set Atom Type GS-85
calculations
Set Charges GS-85, GS-182 mixed GS-211
building
calculations, ab initio RM-318
polypeptides GS-92 Calculations, detailed results HM-210
building 3D structure GS-83–GS-84, GS-153– calculations, HyperChem tutorial GS-127–GS-
GS-155 128
building chair cyclohexane GS-132–GS-133 calculations, mixed mode CC-256, RM-334
building molecules Calculations, mixed-mode HM-82
menu items RM-117–RM-192 callback CDK-131, CDK-156, CDK-157,
from residues RM-492–RM-501 CDK-165
butadiene RM-654 CambridgeSoft ChemDraw Files
butadiene, modeling CC-220 open RM-80
button CDK-98, CDK-104, CDK-197 Cancel RM-425–RM-469
button code CDK-106 script messages RM-573
Button, control-menu HM-143 cancel CDK-207, CDK-212
Button, maximize HM-143 Cancel button CDK-46
Button, minimize HM-143 Cancel menu CDK-46
Button, restore HM-144 cancel-notify CDK-30
By name, Select dialog box RM-233 canonical ensemble CC-74
bypassing a dialog box CDK-51 Capping atom, quantum/classical boundary
C HM-82, HM-132
13
C HM-81, HM-82, HM-107, HM-111, HM- capping atoms CC-256, CC-258–CC-260
119, HM-178, HM-183, HM-185 caps for residues RM-158, RM-159
C CDK-95, CDK-137, CDK-138, CDK-160 caption CDK-212
C++ CDK-95, CDK-138, CDK-149, CDK-159 carboxyl group solvation GS-203–GS-204
C60 CDK-58, CDK-114 Cartesian Gaussians CC-272
Calculate atom types HM-155 case
Calculate Types RM-129 preferences RM-15
Build menu RM-118 sensitivity RM-511, RM-656
Calculate Types on Build menu GS-152 CDK CDK-1
calculation methods Components CDK-2
molecular mechanics RM-289 Cells, replace table HM-154, HM-167
Calculation of NMR spectra HM-118 center of mass
Calculation options HM-105 in log file RM-638
Calculation options, SCF HM-112 centering molecules GS-74
Calculation options, setting up HM-136 center-of-mass CDK-55
Calculation options, shielding and coupling chair to boat cyclohexane transformation GS-
HM-157 137–GS-138
calculation types CC-16 change-user-menuitem CDK-37
811
changing chirality RM-485 chemical calculations RM-287–RM-469
changing molecular conformation RM-481– chemical environment CC-177
RM-486 chemical equilibrium CC-137
changing/choosing drawing elements RM-29 chemical reactions CDK-56, CC-33, CC-360–
Charge CC-363
Atoms, Labels dialog box RM-282 chemical reactivity CC-144
on status line RM-224 Chemical shift view HM-145
Chemical shifts, calculation (theory) HM-242
in TPL file RM-734
chemnt.tpl, HyperChem TPL file RM-727
charge CDK-220, CDK-221, CDK-222
ChemPlus CDK-16, CDK-54, CDK-117
Charge density RM-393
Chi, polynucleotide torsion angle RM-160
charge density CC-140
chirality CDK-192, RM-29, RM-207, RM-208,
Charge on molecule HM-181
RM-482
charge, formal CC-177
charge-charge interaction CC-201 changes RM-485
charges, atomic CC-143, CC-192 evaluated with Model Builder RM-
charges, keep atom RM-545 487
charges, point CC-107 chirality, changing GS-236
CHARMM CC-105, CC-110, CC-202 Chirality, Labels dialog box RM-282
file structure RM-745 choice RM-30
force field RM-662 choosing a dialog box option, using keyboard
alternatives RM-10
settings RM-755–RM-758
choosing a menu item, using keyboard alterna-
charmm, charmm85, file structure RM-745
tives RM-9
charmnpr parameter file RM-661
choosing conformations, amino acid residues
Chart table data HM-170
RM-495
Chart, coupling constants HM-138
CI CC-243, CC-245
Chart, peak information HM-129
CI energy
Chart, plotting bar HM-155
Chart, shielding constants HM-138 in log file RM-633
Chart, spectral data HM-139 CI Method, Configuration Interaction dialog
check a box, using keyboard alternatives RM- box RM-309
10 CI singles calculations RM-300, RM-412, RM-
chem.exe, program file RM-621 415
chem.ini/Registry, default settings in RM-743– Cis, Constrain Bond Torsion dialog box RM-
RM-785 139
chem.rul CC-178 clamped-nuclei approximation CC-168
chem.rul, atom typing file RM-653 classical mechanics CC-172
CHEM.SCR CDK-53 classical perturbation CC-277
chem.tpl, HyperChem TPL file RM-727 classical trajectory analysis CC-360
chemct.tpl, HyperChem TPL file RM-727 Classical/quantum calculations HM-82
ChemDraw files classical-quantum boundary GS-213–GS-214
Classification of Hcl Commands CDK-205
open RM-80
Clear
ChemDraw files, reading RM-81
812
removes atoms from workspace Display menu RM-249
RM-201, RM-203 Selection Color dialog box RM-282–
Clear on Edit menu GS-55 RM-283
Clear workspace HM-153 color CDK-217
click definition RM-31 Color preferences HM-165
client CDK-108, CDK-213 color, bond RM-96
client-server CDK-8, CDK-16 color, selection RM-96
clip increment RM-97, RM-98 color, window RM-95
Clipboard RM-101 colors
See also Cut default RM-293
choosing image destination RM-613 Element Color dialog box RM-284–
destination, Setup Image RM-101 RM-285
graphics stored RM-101, RM-203–RM- saving images RM-614
205, RM-613–RM-614 Colors, atom rendering HM-188, HM-192
use RM-613–RM-614 colors, isosurface settings RM-102
clipboard CDK-218 Colors, window and object HM-154
copying to GS-56 command line argument RM-3
Clipboard, copying results to HM-103, HM- command substitution in Tcl CDK-97
137 Commands
clipping CDK-208 Help menu RM-115
clipping slab RM-47 script message syntax RM-516
changing GS-76–GS-79 comma-separated values file CC-355
default GS-76 Comments
close a dialog box, using keyboard alternatives Log Comments dialog box RM-92
RM-10 Open File dialog box RM-80
close a menu, using keyboard alternatives RM- Run Script dialog box RM-106
9 Save File dialog box RM-83, RM-85
closed-shell singlet ground states CC-39 communicating CDK-137
Closing HyperNMR HM-104, HM-154 communication CDK-108, CDK-222
CNDO CC-123, CC-132, CC-154, CC-249, communication channel CDK-122
CC-252, CC-284–CC-288 Communication files HM-186, HM-199
elements treated by RM-301 Comparison with experimental results HM-242
parameter files RM-679, RM-684–RM- Compile Type Rules RM-130
685 Build menu RM-118
CNDO computation method GS-182 compiled scripts CDK-54
CNDO mixed model CC-287 Complement Selection RM-232
coefficients, MO, initial guess RM-325 Select menu RM-221
cold link CDK-122 Selection tool RM-34
collision Complement Selection on Select menu GS-106,
reactive CDK-55 GS-115, GS-166
Color complementing a subset GS-106
813
Complete Neglect of Differential Overlap (CN- configure CDK-104
DO) CC-249 conformation, Beta sheet GS-92
Complete Neglect of Differential Overlap. See conformational searching CC-80, CC-90
CNDO conformations for residues RM-495, RM-499
computational modules CC-161 conjugate gradient CC-61
Compute Menu HM-158 conjugate gradient optimization CC-126, CC-
Compute menu RM-357–RM-416 336
Geometry Optimization GS-135, GS- connected to expressions, type rules syntax
140, GS-143, GS-156, GS-174 RM-657
Connectivity
Molecular Dynamics GS-168
CONECT records RM-85
script messages RM-556–RM-568
Creating PDB-type files RM-506
Single Point GS-134
conservation, energy CC-73, CC-128
Compute shielding and coupling HM-114
console applications CDK-10, CDK-155
Computed
console programs CDK-160
Restraint Forces dialog box RM-341, Console window CDK-191
RM-342 constant energy CC-89
Computed values constant temperature CC-74, CC-90
Constrain Bond Angle dialog box Constant temperature, Molecular Dynamics
RM-138 Options dialog box RM-372
Constrain Bond Length dialog box constant temperature/energy CC-80
Constrain Bond Angle RM-137
RM-137
Build menu RM-119
Constrain Bond Torsion dialog box
RM-139
dialog box RM-138
Constrain Bond Length RM-136
Constrain Geometry dialog box RM- Build menu RM-119
134
dialog box RM-137
CONECT
Constrain Bond Torsion RM-138–RM-139
connectivity records RM-85 Build menu RM-119
Creating PDB-type files RM-506 dialog box RM-139
configuration interaction CDK-230, RM-327
Constrain Bond Torsion on Build menu GS-201
Configuration Interaction (CI) CC-39, CC-243,
Constrain Geometry RM-133–RM-136
CC-245
configuration interaction (CI) Build menu RM-119
practical applications RM-310 dialog box RM-134–RM-136
Configuration Interaction dialog box RM-308– Constrain Geometry on Build menu GS-85
RM-310 constraint CDK-220
Configuration interaction, Semi-empirical Op- constraints CDK-219
tions dialog box RM-307 Model Builder RM-482
Configuration, WIN.INI HM-78 constructing molecules RM-471–RM-501
configurations Continue warning message RM-359
number of in log file RM-633 contour CDK-232
814
Contour Grid RM-395 coordinates
Contour Grid property sheet RM-395–RM-396 in log file RM-632, RM-633
Contour Level, isosurface RM-397 coordinates of an atom CDK-104
Contour levels RM-395 coordination CDK-221
contour plots CC-253 Copy Image RM-206, RM-614
contours GS-185 for the Clipboard RM-206
contours, 2D RM-393
CPK (spheres) rendering settings in
contracted Gaussian functions CC-263, CC-264
Control menu button GS-29 chem.ini/Registry RM-781
control structures CDK-55, CDK-64 Edit menu RM-201
Control-menu box, HyperChem windows RM- for a file RM-206
5 Copy structure or picture HM-154
Control-menu button HM-87, HM-143 Copy structures
controls onto Clipboard RM-203, RM-480
VB CDK-120 Edit menu RM-201
Conventional semi-empirical methods HM-226 onto Clipboard in ISIS format RM-
Converged, status line, geometry optimization
204
RM-363
Copying an image HM-103
convergence CDK-227, CDK-229, CC-239
core Hamiltonian matrix
Convergence acceleration HM-182
convergence acceleration CC-49, CC-116 in log file RM-632
convergence criteria CC-63 core Hamiltonian MO coefficients CC-276
convergence limit CC-116 core orbitals CC-45
Convergence limit, SCF HM-181 core-core interaction
Convergence limit, Semi-empirical Options di- in log file RM-633
alog box RM-306 correlation energy CC-39
convergence, SCF CC-49 coulomb field, external CC-256
converting 2D structures to 3D RM-487 Coupling constants, calculating HM-113
Cool steps, Monte Carlo RM-371 Coupling constants, option HM-106
Cool time, Molecular Dynamics Options dialog Coupling constants, plotting HM-138
box RM-371 Coupling constants, viewing HM-117, HM-
cooling time, molecular dynamics CC-92 138, HM-155
cooling, dynamics CC-75 Coupling, nuclear spin HM-222
cooling, trajectory CC-346 covalent radii CC-219
coordinate data RM-623 CPK spheres RM-259
HIN file RM-717 Crambin, sample PDB file RM-506
create-atom CDK-59, CDK-219
SNP (snapshot) files RM-627–RM-
creating
629
2D sketch GS-81
TPL file RM-734 a Visual Basic form GS-270–GS-272
Coordinate systems HM-152
coordinate systems RM-18–RM-19 alpha helix GS-99
coordinated ring, orientation restraint RM-343 isolated alanine zwitterion GS-148–
815
GS-158 cutoffs, nonbonded potential CC-29
polypeptides GS-91–GS-98 cutting and pasting atoms RM-479–RM-481
Cycles, geometry optimization
small molecules, 2D/3D GS-57–GS-
67
status line report RM-363
Termination condition RM-366
water molecule GS-179–GS-180
cycles, optimization CC-63
zwitterion GS-93–GS-94 Cycles, transition state search
creating PDB-type files RM-504–RM-506
Termination condition RM-388
creating unusual base pairs RM-500
cyclohexane
creating zwitterions RM-495
cross-eyed stereo viewing RM-269 building chair form GS-132
setting in chem.ini/Registry RM-782 building twist boat form GS-141
cross-linking with Cyx RM-495 chair to boat transformation GS-137–
cross-references to scripts messages RM-584 GS-138
CSV file CC-355 geometry optimization GS-129
cubic stretch CC-176, CC-191 structural properties of chair form
cubic stretch constant
GS-133
in log file RM-638 Cylinders options RM-262
current-file RM-519 Cylinders rendering RM-263
cursor CDK-218 Cysteine (Cys), amino acid residue RM-143
Cursor, Setup Image RM-102 Cystine (Cyx)
cursors CDK-208
amino acid residue RM-143
custom menus CDK-6, CDK-9, CDK-21,
CDK-24, CDK-37, CDK-38 cross-linking RM-495
customizing HyperChem CDK-1, CDK-4, Cytochrome C (3CYT), sample PDB files RM-
CDK-8, CDK-207 506
custom-title CDK-47 D
cut D EKIN, Selection, Molecular Dynamics Aver-
cutting and pasting atoms RM-479 ages dialog box RM-378
moves atoms from workspace to D EPOT, Selection, Molecular Dynamics Aver-
Clipboard RM-203, RM-479– ages dialog box RM-379
RM-481 D ETOT, Selection, Molecular Dynamics Av-
Cut, Edit menu RM-201 erages dialog box RM-379
cutoff CDK-223, CDK-229 D Named selections, RMS deviation, Molecular
Dynamics Averages dialog box RM-379
cutoff, two-electron integral CC-275
Cutoffs d orbital sets RM-326
d orbitals, ab initio CC-119
Force Field Options dialog box RM- d Orbitals, Hückel method CC-122
295 d orbitals, Semi-empirical Options (Hückel) di-
MM+ Options dialog box RM-292 alog box RM-305
cutoffs with periodic boundary conditions RM- D TEMP, Selection, Molecular Dynamics Av-
337 erages dialog box RM-379
cutoffs, nonbonded CC-66, CC-108, CC-189 dA, nucleotide residue RM-159
816
dashed lines RM-105, RM-395 Default
Data collection period, Molecular Dynamics colors RM-293
Options dialog box RM-373 Restraint Forces dialog box RM-340–
Data file, starting HM-113
RM-342
Data file, stopping HM-122
Data input HM-75, HM-81, HM-89 settings, in chem.ini/Registry RM-
data variable messages RM-573–RM-577 743–RM-785
Databases menu RM-139–RM-141, RM-493– Starting value, Grid Control dialog
RM-496 box RM-395
Amino Acids RM-493–RM-496 Default (VDW), Balls Options dialog box RM-
Nucleic Acids RM-497–RM-499 264
script messages RM-542–RM-545 Default Element RM-120–RM-122
DBF files, parameters CC-206 on Build menu RM-30, RM-117
dbf force field parameter files RM-653 changes RM-474
dC, nucleotide residue RM-159 dialog box RM-14, RM-122
DDE CDK-7, CDK-9, CDK-12, CDK-34, Allow ions, Build menu RM-121
CDK-107, CDK-119, CDK-127,
Element Table dialog box GS-179,
CDK-137, CDK-154, RM-509–RM-
609 RM-30
Network CDK-17 Explicit Hydrogens RM-30
DDE communication CDK-156 Default force field RM-131
DDE conversations CDK-108, CDK-115 default force field CC-216
DDE server CDK-108 default menus CDK-44
DDE. See also Dynamic Data Exchange default MM+ force field CC-214
DDE_ ADVISE CDK-109 default orbital exponents, table CC-280
DDE_ EXECUTE CDK-109 default scheme CC-190
DDE_ REQUEST CDK-109 Default settings, HyperNMR HM-186, HM-
DDE_ADVISE, data update request RM-605 187
DDE_EXECUTE CDK-111, CDK-117 Degeneracy, Electronic Spectrum dialog box
DDE_EXECUTE, executes HyperChem RM- RM-414
604 degenerate state CC-40
DDE_INITIATE CDK-109 deleting
DDE_INITIATE, starts HyperChem RM-604 atoms GS-55
DDE_REQUEST CDK-117 bonds GS-55
DDE_REQUEST, information from Hyper- Delta, polynucleotide torsion angle RM-160
Chem RM-605 density matrices
DDE_TERMINATE, ends conversation with in log file RM-633, RM-634
HyperChem RM-605 density, charge CC-140
DDE_UNADVISE, data value to HyperChem density, electron CC-54
RM-605 density, spin CC-55
Deamino-oxytocin, sample PDB file RM-507 deselect a group of atoms, Selection tool RM-
declarations CDK-214 33
Decoupled NMR HM-106
817
deselect backbone atoms, Selection tool RM-33 dipole, transition CC-369
deselecting dipole-dipole interactions CC-187
atoms GS-54 dipole-moment CDK-28, CDK-49, CDK-216,
Deselecting atoms HM-102 CDK-221
Destination, Setup Image dialog box RM-101 dipoles
Detailed results of calculations HM-210 in log file RM-633
Deuterium HM-82, HM-111, HM-178 dipoles, bond CC-107, CC-192
development CDK-159, CDK-173 direct command CDK-49, CDK-66, CDK-140
dG, nucleotide residue RM-159 direct commands CDK-205
Dialog Box Direct Inversion in the Iterative Subspace (DI-
Open Log RM-90 IS) CC-49, CC-240
dialog box CDK-51, CDK-196 Direct Inversion of Iterative Subspace (DIIS)
dialog boxes convergence acceleration HM-182
HyperChem RM-13–RM-14 direct SCF calculation CC-119, CC-275
directories, changing GS-35
persistent RM-14
Directory
removal RM-13 Open File dialog box RM-79–RM-82
dielectric constant CC-27, CC-87, CC-188
Save File dialog box RM-83–RM-85
in log file RM-638
Directory, change HM-91
dielectric constant, distance dependent CC-188
Disks RM-264
dielectric functions CC-107
Disks rendering HM-97
dielectric options GS-161–GS-162
Disks, see Balls
dielectric permittivity CC-188
dispersion forces CC-182
diff, status line RM-363, RM-369
Display color preferences HM-165
diffusion constant, solvent CC-95
Display menu GS-37, RM-248–RM-249
diffusion limited aggregation CDK-204
dihedral angle CC-195, CC-198, CC-203 Overlay GS-167
dihedral angle rotation CC-182 Recompute H Bonds GS-206
dihedral angles CC-183, CC-221 Scale to Fit GS-74
dihedral potential CC-25 script messages RM-536–RM-541
dihedrals, improper CC-184 Show All GS-105
DIIS convergence acceleration HM-182
Show Hydrogens GS-66
DIIS convergence accelerator CC-116, CC-240
dipole CDK-231, RM-692 Show Selection Only GS-117
dipole interaction energy Display options HM-167
Display preferences HM-154
in log file RM-638
display settings
dipole moment CDK-102, CDK-211, CC-54,
CC-140, CC-250, CC-287 using GS-37–GS-43
Display, rendering options HM-155
in log file RM-638
displaying
dipole moment, displaying RM-280
Dipole moment, importing RM-92 alpha helix GS-118–GS-119
Dipole moment, storing RM-93 atom types GS-155
dipole, oscillating electric CC-369 atomic charges GS-182
818
backbone GS-104 2D sketch GS-58
disulfide bridges GS-119–GS-121 atoms GS-46–GS-47
hydrogen bonds GS-122–GS-123 basic techniques GS-45–GS-56
PDBs GS-210–GS-211 bonds GS-48–GS-51
polypeptides GS-92 drawing method RM-258
primary structure GS-116 drawing mode GS-47, GS-81
drawing molecules RM-29, RM-471–RM-481
ring structures GS-121
Drawing tool GS-58, RM-29–RM-30, RM-471
side chains GS-105, GS-117 changing RM-473–RM-475
solvated system GS-160–GS-162 icon, mouse clicks RM-29
subsets GS-99–GS-112 molecules creation RM-18
displays, setting conditions RM-95–RM-97,
Dreiding force field CC-216
RM-611
Drive names
dissociation, bond CC-38, CC-47
Distance dependent dielectric, Force Field Op- Open File dialog box RM-79–RM-81
tions dialog box RM-293 Run Script dialog box RM-106–RM-
distance, atomic coordinate in TPL file RM-735 107
distribution function CC-100 Save File dialog box RM-83–RM-86
disulfide bridges driving HyperChem
displaying GS-119–GS-121 from Excel GS-253–GS-267, GS-279–
DLL CDK-119, CDK-129, CDK-139, CDK- ??, GS-287–??, GS-299–??
149, CDK-151, CDK-176
from Visual Basic GS-269–GS-276
DNA B form, sample PDB file RM-507
dT, nucleotide residue RM-159
DNA backbone display RM-261
d-type functions, number CC-272
DNA/RNA construction RM-497–RM-501
dummy atoms RM-343
docking molecules CC-86, RM-82
Dynamic Data Exchange CDK-107, CDK-127,
Done, Molecular Dynamics Results dialog box
RM-509–RM-609
RM-380–RM-382
d-orbitals on 2nd row, option HM-172 integrating HyperChem RM-509
dot surface CDK-216 Dynamic Link Library CDK-8, CDK-119,
Dots, Rendering dialog box RM-259 CDK-149, CDK-176
double buffering, in chem.ini/Registry RM-781 dynamics data, averages CC-349
Double Strand, polynucleotide strand confor- dynamics results file CC-355
mation RM-161 dynamics sampling interval CC-82
double zeta CC-270 dynamics, molecular CC-71
double-click definition RM-9 dynamics, periods CC-75
doublet CC-116, CC-229, CC-242 dynamics, quenched CC-80
doublet open-shell ground states CC-39 E
doubly occupied orbitals Edit Menu HM-154
in log file RM-632, RM-633 Edit menu RM-201–RM-220
drag definition RM-8 Align molecules GS-180
drawing Clear GS-55
819
Copy GS-55 Electronic Spectrum dialog box RM-412–RM-
Reflect GS-138 414
Electronic state HM-181
script messages RM-526–RM-528
electronic states CC-242
editing
electrons
2D sketch GS-82 total number in log file RM-632, RM-
alanine zwitterion structure GS-149– 633
GS-150 electrons, alpha and beta CC-38
atoms GS-64–GS-65, GS-82 electrostatic interactions CC-107, CC-182, CC-
basic techniques GS-45–GS-56 187, CC-199, CC-201, CC-205, CC-
editing text RM-85, RM-91–RM-92 222
EHT CC-153, CC-278–CC-284 Electrostatic potential RM-392
eigenvalues electrostatic potential CC-27, CC-55, CC-125,
in log file RM-632, RM-633, RM-634 CC-141, CC-254–CC-255
eigenvector CDK-228 electrostatic potential, plotting GS-184
eigenvector follow GS-234 Electrostatic scale factor, Force Field Options
eigenvector following CC-68, CC-127, CC-340 dialog box RM-294
Eigenvector following, transition state search electrostatics CDK-223
RM-387, RM-389, RM-390, RM-391 Electrostatics, MM+ Options dialog box RM-
Eigenvector-Follow method RM-365, RM-366 292
eigenvectors (wavefunctions) Element Color
in log file RM-632, RM-633 dialog box RM-284–RM-285
eigenvectors of CI secular equation Display menu RM-249
in log file RM-634 Element name on status line RM-224
EKIN, Selection, Molecular Dynamics Averag- Element Properties RM-123, RM-475
es dialog box RM-378 Element Table dialog box RM-30
elastase-TFAP, sample PDB file RM-506 changes RM-474
electron density CC-54, CC-251 Explicit Hydrogens RM-478
electron lone pairs CC-200 Element, displaying labels HM-96
electron spin resonance (ESR) CC-253 Elements, available HM-81
electron-electron repulsion CC-262 elements, available RM-300
electronic density CC-125 E-mail support GS-21
electronic energy embeddable CDK-95
in log file RM-633 Empty workspace HM-153
electronic properties of proteins GS-209–GS- enable menu CDK-46
217 Enantiomers. See Chirality
electronic spectra CDK-231, CC-40 End time, Molecular Dynamics Playback dialog
electronic spectroscopy CC-245 box RM-376
Electronic Spectrum END, record in PDB-type files RM-506
Compute Menu RM-411–RM-416 Ending HyperNMR HM-104, HM-154
Compute menu RM-358 endmol, HIN file syntax RM-720
electronic spectrum CC-129 endres, HIN file syntax RM-719
820
endselection, file syntax RM-722, RM-723, Envelope widths HM-156
RM-724, RM-725 Envelope, spectrum HM-156
Energy environment CDK-149, CDK-161, CDK-188
Geometry Optimization RM-363 environment, chemical CC-177
Single Point RM-360 EPOT, Selection, Molecular Dynamics Aver-
energy CDK-223, CDK-226, CDK-228, CDK- ages dialog box RM-378
229, CDK-230, CDK-231 Epsilon
CI RM-633 Dielectric RM-294
Epsilon, polynucleotide torsion angle RM-161
excitation
Equations, zillions HM-213–HM-252
in log file RM-633 equilibration time, molecular dynamics CC-91
plotting vs. torsion angle GS-263– equilibration, molecular dynamics CC-76
GS-267 equilibration, trajectory CC-346
energy barriers CC-84 equilibrium bond length
energy components in log file RM-638
in log file RM-638 equilibrium properties CC-19, RM-384
energy conservation CC-73, CC-128 equilibrium, chemical CC-137
Energy Criterion Equipment requirements HM-77
Configuration Interaction dialog Equivalent atoms HM-83, HM-110
box RM-309 Equivalent atoms, selecting HM-134, HM-173,
HM-176
practical application RM-310
equivalent-atoms-# selection in HyperChem
energy minimization GS-129–GS-145
HM-111, HM-135, HM-178
energy, activation CC-17, CC-139
Erase workspace HM-153
energy, binding CC-135
Ergodic Hypothesis CC-343
energy, constant CC-80, CC-89
error and bug reporting GS-20
Energy, Orbitals dialog box RM-403
errors CDK-131, CDK-132, CDK-137, CDK-
Enlarge structure HM-101, HM-157, HM-161
148, CDK-205, CDK-213
ensemble averaging CC-95
ESR CC-253
ensemble averaging, dynamics CC-343
ETOT, Selection, Molecular Dynamics Aver-
ensemble, isokinetic vs. isothermal CC-74
ages dialog box RM-378
ENT file CDK-50
event-driven applications CDK-155
ENT. See Brookhaven Protein Data Bank
Excel
enthalpies CC-22
enthalpy of formation CC-135 Arrange All on Window menu GS-
entry CDK-100, CDK-197 258
entry widget CDK-100 creating a worksheet GS-264
enum CDK-28, CDK-30, CDK-52 graphing HyperChem results GS-259
enum, script argument RM-517 manipulating molecules GS-260–GS-
Envelope HM-149
262
Envelope line widths HM-125
Envelope view, spectra HM-123 modifying a macro GS-260–GS-261,
Envelope width, fine control HM-127, HM-191 GS-263
821
running a macro GS-258, GS-262, GS- elements treated by RM-301
266 parameter file RM-681
running calculations with GS-258 Extended Hückel calculations, log file informa-
setting up a calculation for use with tion RM-632
Extended Hückel method CC-35, CC-130
GS-256
Extended Hückel method, options CC-121
Excel macros CDK-116
Extended Hückel Theory (EHT) CC-153, CC-
Excel. See Microsoft
229, CC-278–CC-284
exchange integrals, one-center CC-290
extended hydrogen (EH) RM-128
exchange phenomena CC-288
exchange repulsion CC-38, CC-182 in atom typing RM-658
excitation energy external coulomb field CC-256
external Tcl/Tk CDK-9, CDK-132, CDK-139
in log file RM-633
extra basis functions RM-328
excited singlet states CC-39
excited state CC-242 F
Exclusion Principle, Pauli CC-35 19
F HM-81, HM-82, HM-111, HM-119, HM-
executable file path RM-103 178, HM-183, HM-185
EXECUTE, Excel message RM-606 factory CDK-213
Exit CDK-198, RM-105 factory settings CDK-207
on File menu RM-78 Fast translation RM-98
exiting HyperChem GS-43 fast translation RM-42
Exiting HyperNMR HM-104, HM-154 Fermi spin-spin coupling constants, option
Expand peaks HM-126 HM-106
Experiment, comparison with HM-242 Ferrodoxin, sample PDB file RM-507
Expert options HM-107 file CDK-210, CDK-218
Explicit Hydrogens RM-30, RM-119–RM-120 choosing image destination RM-613–
Build menu RM-117 RM-614
Element Table dialog box RM-122 destination, Setup Image RM-101
explicit hydrogens CDK-58 format
Explicit Hydrogens option GS-47 images RM-613
exploring 3D structure GS-153–GS-155
exponents, entering RM-15
Setup Image RM-100, RM-101
Export orbital data RM-78, RM-93 file extension CDK-52
Exporting pictures HM-103 file formats RM-79, RM-84
expr CDK-97 File Menu HM-153
Extend Ring RM-242–RM-243 File menu GS-33, RM-77–RM-105
Select menu RM-222 New GS-56, GS-126
Extend Side Chain RM-243–RM-244 Open GS-255
Select menu RM-222 Preferences GS-52
Extend to sp3 CC-256, RM-244–RM-245 Save GS-59
Select menu RM-222 saving GS-58–GS-60
Extended Hückel RM-298 script messages RM-519–RM-525
822
Start Log GS-130 723, ??–RM-723, ??–RM-723,
Stop Log GS-144 ??–RM-724, ??–RM-724, ??–
File open HM-89, HM-153, HM-163 RM-724, ??–RM-724, ??–RM-
file operations CDK-210 724, ??–RM-724, ??–RM-725,
file paths RM-103
??–RM-725, ??–RM-725
File save HM-118, HM-153, HM-164
File type, changing HM-91 HyperChem program RM-621
File, atom type HM-186 improper torsion parameter RM-670–
file, CSV CC-355 RM-672
file, dynamics results CC-355 Log GS-134, RM-616–RM-617, RM-621
File, structure HM-186 Log on File menu GS-130
filename RM-79
management RM-77–RM-116
arguments RM-516 MNDO parameter RM-688–RM-690
case preferences RM-15 nonbonded parameter RM-673–RM-
Open File dialog box RM-79 677
Save File dialog box RM-83, RM-83– opening a HIN file GS-33
RM-86
out-of-plane bending parameter
files
RM-673
AM1 parameter RM-690–RM-693
parameter file compile RM-353
averages RM-629
PDB GS-114–GS-115
bond angle parameter RM-666–RM-
668
plot RM-629
program RM-621–RM-622
bond length parameter RM-665–RM-
666
Protein Data Bank RM-503–RM-507
reading PDB RM-503
Brookhaven PDB format GS-113
residue template RM-727–RM-741
chem.ini/Registry RM-743–RM-785
residues RM-739
CNDO/INDO parameter RM-684–
RM-685
Save File dialog box RM-83–RM-86
saving in HIN format GS-59–GS-60
Copy Image RM-206
saving in Visual Basic GS-275
extended Hückel parameter RM-681
script RM-510, RM-622
force field parameters RM-659–RM-
661
selecting GS-35–GS-37
Semi-empirical parameters RM-679–
format RM-613
RM-693
graphics RM-630
snapshot RM-623–RM-629
Help text RM-622
stopping Log File GS-144
HIN structure RM-711–RM-712
structure
hydrogen bond parameter RM-677
chem.ini/Registry RM-743–??
HyperChem Input RM-19, RM-711–
RM-722, ??–RM-723, ??–RM-
chem.tpl RM-727–RM-735
823
syntax for HIN RM-712–RM-722, ??– files RM-653–RM-677
RM-723, ??–RM-723, ??–RM- MM+ GS-130
723, ??–RM-723, ??–RM-724, MM2+ GS-266, GS-270
??–RM-724, ??–RM-724, ??– Parameters dialog box RM-352, RM-
RM-724, ??–RM-724, ??–RM- 659
724, ??–RM-725, ??–RM-725, status line report RM-224
??–RM-725 Force Field Options dialog box RM-293–RM-
template (TPL) structure RM-727– 295
force field options, set up CC-208
RM-741
force field parameters CC-176
torsion parameter RM-669–RM-670 force field selection CC-105
type parameter RM-665 force fields CC-21
typing rules RM-655 force fields, distinguishing features CC-105
water RM-621 force fields, limitations CC-175
Files, communication HM-186 forcefield coordinates
Files, parameter HM-251 in log file RM-638
files, snapshot CC-357–CC-359 form CDK-120
Files, structure HM-81 formal charge CC-177
Final temperature, Molecular Dynamics Op- formation, heat of CC-135
tions dialog box RM-372 forming bonds, simulation CC-93
finite state machine CDK-33 Fortran CDK-3, CDK-10, CDK-95, CDK-119,
Fitting structure to workspace HM-101 CDK-137, CDK-150, CDK-174,
fixed atoms CC-86 CDK-187, CDK-191
Flat surface isosurface RM-398 frame CDK-98, CDK-103
Fletcher-Reeves CC-61 free radicals CC-242
Fletcher-Reeves conjugate gradient method frequencies
RM-365 in log file RM-634
Fletcher-Reeves optimization CC-337 frequency CDK-231
float CDK-52 frequency, dynamics sampling CC-82
float, script arguments RM-517 Frequency, spectrometer HM-183
Fock matrices Friction coefficient, Langevin dynamics RM-
in log file RM-634 373
force constant friction coefficient, solvent CC-95
in log file RM-638 front end CDK-8, CDK-11, CDK-17, CDK-
Force Constant, Restraint Forces dialog box 195, CC-161
RM-342 Frontier molecular orbitals CC-146
force constants, units CC-191 Frontier Orbital theory CC-145
force field Frontier orbitals CC-44
AMBER GS-129, GS-130 frozen atoms CC-86
Full screen
choosing GS-130–GS-131, GS-152–GS-
153
setting, choosing extent of Copy
Image RM-612
824
Setup Image RM-100 global minimum CC-333
G definition GS-130
glossary, Help menu RM-115
Gamma, polynucleotide torsion angle RM-160 Glucagon, sample PDB files RM-507
Gauche+, Constrain Bond Torsion dialog box Glutamic acid (Glu), amino acid residue RM-
RM-139 143
Gauche-, Constrain Bond Torsion dialog box Glutamine (Gln), amino acid residue RM-143
RM-139 Glycine (Gly), amino acid residue RM-142
Gauge-Invariant Atomic Orbitals HM-218 Gouraud shaded surface RM-398
Gaussian basis set CC-263 Gradient
Gaussian functions CC-263
Gaussian peak function HM-124, HM-157
Single Point RM-360
Gaussian Type Orbitals (GTO) CC-45, CC-263 status line report RM-362–RM-363
Gaussians, Cartesian CC-272 gradient CDK-227, CDK-229
Gaussians, Hermite CC-272 definition GS-129
geminal interactions CC-182 gradient of reference conformation
General principles, NMR HM-214 in log file RM-633
geometric restraints CC-83 gradient, RMS CC-63
geometry optimization GS-129–GS-145 graph CDK-57, CDK-59, CDK-231, CDK-233
alanine zwitterion GS-156 Graph table data HM-170
analyzing results GS-143 Graph, coupling constants HM-138
boat cyclohexane GS-140 Graph, peak information HM-129
Graph, plotting bar HM-155
molecular mechanics GS-130 Graph, shielding constants HM-138
of a subset GS-205 Graph, spectral data HM-139
Geometry Optimization on Compute menu GS- graphical user interface CC-161
135, GS-140, GS-143, GS-156, GS- graphics
174 bitmap RM-99, RM-100, RM-631
Geometry Optimization, Compute Menu RM-
357, RM-362–RM-367
files RM-100, RM-630
geometry optimizations CC-16, CC-59, CC- metafile RM-101, RM-630
138 RGB bitmap RM-100
geometry, molecular CC-43 stored on Windows Clipboard RM-
Get HSV 101, RM-206, RM-613–RM-615
statements RM-511 transfers RM-612–RM-615
types of input messages RM-510 using Windows Applications RM-
variables, messages syntax RM-511 615
Get HyperChem HM-153 graphics settings RM-99
getting started GS-27–?? gray menu items RM-13
ghost atoms RM-326 grid CDK-233
ghost-atoms CC-120, CC-278 Grid Mesh Size, isosurface RM-394
GIAO HM-218 Grid, 2D contour RM-395
global minima CC-359 grid, isosurface RM-393
825
ground state CC-242 130, CDK-197, CDK-198
group rotation RM-39 hcExecBin CDK-141, CDK-248
group selection defined RM-227–RM-228 hcExecTxt CDK-140, CDK-190, CDK-245
GTO CC-45, CC-263 hcExit CDK-140, CDK-245
GTO primitives CC-263 hcFree CDK-148, CDK-291
GUI CDK-17, CDK-95, CDK-119, CDK-138, hcGetBlock CDK-146, CDK-267
CDK-187, CDK-191, CDK-196 hcGetErrorAction CDK-132, CDK-148, CDK-
H 295
1 hcGetInt CDK-142, CDK-251
H HM-81, HM-82, HM-111, HM-119, HM- hcGetIntArr CDK-142, CDK-254
178, HM-183, HM-185 hcGetIntArrElm CDK-142, CDK-255
2
H HM-82, HM-111, HM-178 hcGetIntVec CDK-142, CDK-253
Half-cystine (Cyx), amino acid residue RM-143 hcGetIntVecElm CDK-142, CDK-258
half-electron excited singlet states CC-39 hcGetNotifyData CDK-131, CDK-147, CDK-
half-electron method CC-243 288
half-electron technique CC-48 hcGetReal CDK-143, CDK-252
Hamiltonian CC-169, CC-227 hcGetRealArr CDK-143, CDK-257
electronic CC-170 hcGetRealArrElm CDK-143, CDK-260
exact CC-169 hcGetRealArrXYZ CDK-143, CDK-261
nuclear CC-170 hcGetRealVec CDK-143, CDK-256
Hamiltonian matrix elements CC-281 hcGetRealVecElm CDK-143, CDK-259
HAPI CDK-9, CDK-10, CDK-107, CDK-119, hcGetRealVecXYZ CDK-143, CDK-262
CDK-128, CDK-149, CDK-154, hcGetStr CDK-144, CDK-263
CDK-195, CDK-203 hcGetStrArrElm CDK-144, CDK-265
HAPI calls CDK-107, CDK-137, CDK-138 hcGetStrVecElm CDK-144, CDK-264
HAPI library CDK-140 hcInitAPI CDK-140, CDK-241
hard nucleophiles and electrophiles CC-146 Hcl CDK-6, CDK-22, CDK-99, CDK-205
Hardware requirements HM-77 Hcl command CDK-49
hard-wired menus CDK-38 Hcl script CDK-2, CDK-9, CDK-29, CDK-38,
harmonic approximation CC-149 CDK-64, CDK-99, CDK-196
harmonic frequencies CC-128 Hcl script command CDK-130
harmonic oscillator CC-22 Hcl text string CDK-141
harmonic potential CC-24 hcLastError CDK-131, CDK-148, CDK-294
Hartree-Fock CC-38, CC-234 hcNotifyDataAvail CDK-147, CDK-287
Hartree-Fock approximation CC-131, CC-261 hcNotifySetup CDK-147, CDK-286
Hartree-Fock method HM-217 hcNotifyStart CDK-131, CDK-147, CDK-284
hcAlloc CDK-147, CDK-290 hcNotifyStop CDK-131, CDK-147, CDK-285
hcConnect CDK-130, CDK-140, CDK-190, hcQuery CDK-45, CDK-99, CDK-130
CDK-242 hcQueryBin CDK-141, CDK-148, CDK-249
hcCopy CDK-130 hcQueryTxt CDK-140, CDK-148, CDK-190,
hcDisconnect CDK-130, CDK-140, CDK-190, CDK-246
CDK-244 hcSetArrElm CDK-146
hcExec CDK-24, CDK-46, CDK-99, CDK- hcSetBlock CDK-147, CDK-283
826
hcSetErrorAction CDK-131, CDK-148, CDK- Hessian matrix CC-128
296 HETATOM, creating PDB-type files RM-505
hcSetInt CDK-144, CDK-268 hfExecTxt CDK-195
hcSetIntArr CDK-144, CDK-271 hfGetRealArr CDK-201
hcSetIntArrElm CDK-145, CDK-272 hfSetRealArr CDK-195
hcSetIntVec CDK-144, CDK-270 Hide Selection RM-258
hcSetIntVecElm CDK-145, CDK-275 Display menu RM-248
hcSetReal CDK-145, CDK-269 hide-toolbar CDK-47
hcSetRealArr CDK-145, CDK-274 highest occupied molecular orbital GS-189
hcSetRealArrElm CDK-145, CDK-277 Highlight, Rendering dialog box RM-264, RM-
hcSetRealArrXYZ CDK-146, CDK-278 265
hcSetRealVec CDK-145, CDK-203, CDK-273 highlighting menus RM-12
hcSetRealVecElm CDK-145, CDK-276 HIN file HM-81, HM-89, HM-90, HM-153,
hcSetRealVecXYZ CDK-145, CDK-279 HM-163, HM-186, HM-200
hcSetStr CDK-146, CDK-280 HIN See HyperChem input file
hcSetStrArrElm CDK-282 HIN See HyperChem input file
hcSetStrVecElm CDK-146, CDK-281 Histidine (Hid), amino acid residue RM-143
hcSetTimeouts CDK-131, CDK-148, CDK-293 Histidine (Hie), amino acid residue RM-143
hcShowMessage CDK-148, CDK-292 Histidine (Hip His), amino acid residue RM-
header files CDK-138, CDK-149 143
headers, Snapshot files RM-623–RM-626 HOMO CC-146, CC-231
heat of formation CC-135 HOMO See highest occupied molecular orbital
in log file RM-633 HOMO-, Orbitals dialog box RM-403
Heat steps, Monte Carlo RM-371 Hooke’s law CC-22
Heat time RM-370 Horizontal grid points RM-395
heating time, molecular dynamics CC-91 hot link CDK-109, CDK-123
heating, dynamics CC-75 HSV CDK-3, CDK-8, CDK-25, CDK-27,
heating, trajectory CC-346 CDK-66, CDK-101, CDK-108, CDK-
heat-of-formation CDK-221 122, CDK-130, CDK-140, CDK-198,
Helix Form, polynucleotide strand conforma- CDK-205
tion RM-159 arguments CDK-30
Hellman-Feynman theorem HM-219 array CDK-33
Help HM-87
environment CDK-58
help
read CDK-29, CDK-49, CDK-140
on-line GS-24, GS-29
Help Menu HM-159 scalar CDK-31
Help menu GS-29, RM-115 vector CDK-32
script messages RM-578 write CDK-29, CDK-49, CDK-140
Help text HM-186, HM-199 HSV. See HyperChem State Variables
Help text, file RM-621, RM-622 hsv.h
Help, product GS-20 generating CDK-142
Hermite Gaussians CC-272 huckel CDK-228
Hessian CC-67, CC-340 Hückel constant CC-121, CC-282
827
Hückel Constant, Semi-empirical Options dia- ??–RM-724, ??–RM-724, ??–RM-
log box RM-304 724, ??–RM-725, ??–RM-725, ??–
hybridization CC-177, CC-216 RM-725
hydrogen CDK-222 atoms RM-717–RM-718
bond parameter file RM-677 bonding information RM-733
bonds RM-277–RM-278 force field information RM-714
Explicit Hydrogens RM-30, RM-119– option RM-84
RM-120 residues RM-716
PDB file storage RM-85 save RM-84
hydrogen bond potential CC-26 saving molecular system RM-19
hydrogen bonding CC-182, CC-188, CC-200
selections RM-720–RM-722, ??–RM-
hydrogen bonding term CC-205
hydrogen bonds GS-89, CDK-217 723, ??–RM-723, ??–RM-723,
calculating GS-122–GS-123 ??–RM-723, ??–RM-724, ??–
displaying GS-122–GS-123, GS-206 RM-724, ??–RM-724, ??–RM-
recomputing GS-206 724, ??–RM-724, ??–RM-724,
hydrogen peroxide GS-263 ??–RM-725, ??–RM-725, ??–
hydrogens CDK-217, CDK-219 RM-725
Show RM-274–RM-275 view RM-715
hydrogens, axial GS-141 HyperChem OS CDK-138
Hydrogens, creating PDB-type files RM-506 HyperChem State Variables RM-510, RM-
HyperChem 518–RM-584
About dialog box RM-116 Get statements RM-511, RM-517
files RM-619–RM-631 Set statements RM-511
program files RM-620, RM-621–RM- HyperChem state variables CDK-3, CDK-27
622 HyperChem Tools RM-27–RM-50, RM-61–??
settings RM-747–RM-765 moving atoms with mouse RM-20,
HyperChem API CDK-2, CDK-137, CDK-148, RM-27–RM-50, RM-61–??
CDK-149, CDK-154 HyperChem Windows
HyperChem Application Programming Inter- Control menu box RM-5
face CDK-2, CDK-107, CDK-119, Preferences dialog box RM-95–RM-
CDK-137 105
HyperChem architecture CC-161
Setup Image RM-102
HyperChem Command Language CDK-6,
HyperChem, importing structure from HM-94,
CDK-22, CDK-49, CDK-95, CDK-
HM-136, HM-153
123, CDK-127, CDK-138
HyperChem, interaction with HM-79, HM-81
HyperChem input file (HIN) GS-33–GS-34
HyperChem, selection of equivalent atoms
HyperChem Input files RM-79, RM-619, RM-
HM-111, HM-135, HM-178
711–RM-722, ??–RM-723, ??–RM-
HyperChem, selection of labelled atoms HM-
723, ??–RM-723, ??–RM-723, ??–
112, HM-180
RM-724, ??–RM-724, ??–RM-724,
828
HyperChem, selection of NMR atoms HM-109, geometry optimization, Compute
HM-134, HM-176 menu RM-367, RM-372
HyperChem, selection of quantum atoms HM- include file CDK-139
108, HM-133, HM-175 Increment for contour plot, Grid Control dialog
HyperChem, use with HM-75 box RM-396
hyperconjugation, mixed mode calculations incremental model building RM-487–RM-488
CC-259 increments, rotation and translation RM-97,
HyperEHT CDK-12 RM-98
HyperGauss CDK-12, CDK-195 independent-electron approximation CC-229
HyperMM+ CDK-12 independent-electron method CC-279
HyperMM+, HyperNewton, HyperEHT, Hy- Index, Help menu RM-115
perNDO, HyperGauss CC-162 individual molecular orbitals, plotting GS-189–
HyperNDO CDK-12, CDK-191 GS-195
HyperNewton CDK-12, CDK-191 INDO CC-123, CC-132, CC-155, CC-249, CC-
HyperNMR CDK-16 252, CC-288–CC-292
I elements treated by RM-301
Icon, backend HM-114, HM-121 parameter files RM-684–RM-685
Icon, HyperNMR HM-85, HM-142 Semi-empirical Method dialog box
icons RM-27 RM-298
IGG, sample PDB file RM-506 INDO mixed model CC-287
Ignore warning message RM-359–RM-360 inertia, moments RM-539
image setup preferences RM-99 inertial axes CDK-216, CDK-222, RM-21–
Image, copying HM-103 RM-25
images CDK-218 info CDK-213
choosing Information table, peak HM-129
destination RM-613–?? infra red CDK-231
extent RM-612 infrared absorption CC-369
color RM-614 Infrared frequencies, characteristic CC-150
file formats RM-613 infrared spectroscopy CC-149
infrared spectrum, negative frequencies CC-
imp parameter file RM-660, RM-670–RM-672
149
imp, force field information in TPL file RM-
inhibit redisplay CDK-215
734
initial conditions, dynamics CC-343
Import orbital data RM-78, RM-92
initial guess, MO coefficients CC-119, CC-276
Importing structure from HyperChem HM-94,
Initialization script RM-4
HM-153
initialization script CDK-53
Importing structures HM-89
INITIATE, Excel message RM-606
improper dihedrals CC-184, CC-198, CC-203
Inner radius, MM+ Options dialog box RM-293
improper torsion parameter file RM-670–RM-
inorganic structures, building RM-489
672
Input files HM-186
IMSG CDK-15, CDK-34
input messages RM-510–RM-517
IMSGs. See input messages
In vacuo int (internal) atomic coordinates,
829
TPL file RM-734–RM-735 in log file RM-633
using HyperChem messages RM- IR spectrum, importing RM-92
510–RM-517 IR spectrum, storing RM-93
Input, data HM-81 IR Vectors, Rendering dialog box RM-261
Input, structure HM-75 ISIS Sketch files
Installation, software HM-77 open RM-80
integer CDK-30 save RM-84
integer, arguments CDK-52, RM-517 ISIS/Draw
integral cutoff, two-electron CC-117, CC-275 clipboard format RM-204
integral format isokinetic energy ensemble CC-74
Raffenetti CC-274 isolated atomic energy
regular CC-273 in log file RM-633
integral format, Raffenetti RM-322 Isoleucine (Ile), amino acid residue RM-143
integral storage path RM-103 Isomer, residue conformation RM-144
Integrated Development Environment CDK- Isosurface RM-796
189 isosurface GS-186, CDK-217, CDK-232,
integrating HyperChem, Dynamic Data Ex- CDK-233
change RM-509 Isosurface Colors RM-102
Integration, peak HM-127 Isosurface contour level RM-397
Intensities of transitions HM-249 Isosurface Grid RM-393
Intensity, level for inclusion of peak HM-190 isosurface grid RM-394
interactions, bonding CC-182 Isosurface Rendering RM-396
interactions, electrostatic CC-182 Isosurface rendering RM-248, RM-274
interactions, nonbonding CC-182 isosurface transparency level RM-398
INTERFACE CDK-152 Isosurface, 3D RM-393
interface to HyperChem CDK-1, CDK-6, Isosurface, mapped 3D RM-393
CDK-137 isosurface, show RM-248, RM-274
Intermediate Neglect of Differential Overlap isosurfaces CC-253
(INDO) CC-249 isothermal ensemble CC-74
intermediates CC-33 Isotopes HM-82, HM-111, HM-173, HM-178
intermediates, potential CC-137 ITEM CDK-44
intermediates, reactive CC-339 item
interpreter CDK-95, CDK-127 DDE CDK-108
interval, dynamics sampling CC-82 iter, status line report RM-363, RM-369
Introduction to HyperNMR HM-81 Iteration limit GS-183
Invert RM-206–RM-207 iteration limit CC-116
on Edit menu RM-202, RM-486 Iteration limit, Semi-empirical Options dialog
ionic reactivity CC-146 box RM-306
ionization energy CC-139 Iterations, maximum SCF HM-182
ionization potential CC-43 J
IPX/SPX RM-104
IR spectra Jorgensen-Salem isosurface RM-397
830
K Lambda, reaction map coefficient RM-354
Langevin Dynamics RM-383
keep-atom-charges RM-545
keyboard Compute menu RM-357
Langevin dynamics GS-174, CC-18, CC-95
alternatives
Large molecules, calculating HM-107, HM-
HyperChem RM-10–RM-12 130
Windows RM-9–RM-10 Last Rendering RM-248, RM-269
alternatives to mouse GS-31–GS-32 LCAO HM-218, CC-35, CC-232
equivalents for tools RM-49–RM-50 LCAO-MO CC-44
shortcuts GS-32 leap-frog algorithm CC-72, CC-344
keyboard accelerator CDK-39 legacy applications CDK-155
Keyboard alternatives HM-88 legacy code CDK-119
Keyboard equivalents, mouse actions HM-162 legacy programs CDK-10
Keyboard rotation and translation RM-98 Lennard-Jones function CC-26
keys to operate HyperChem tools RM-49–RM- Lennard-Jones potential CC-184, CC-196
50 Leucine (Leu), amino acid residue RM-143
kinetic energy integrals CC-262 levels of molecular organization RM-17–RM-
KLM values, table, split-valence basis set CC- 18
268 library CDK-137, CDK-149, CDK-151, CDK-
Klopman-Salem equation CC-144 190
Koopmans’ theorem CC-139 License Timeout Interval RM-104
license, network RM-104
L Limit, SCF convergence HM-181
label CDK-103, CDK-197 LINE
labeling GS-38–GS-39 Align Molecules dialog box RM-218
atoms GS-63–GS-64 Align Viewer dialog box RM-216
by number GS-81 definition RM-22
by symbol GS-83 Name Selection dialog box RM-238
removing labels GS-38 rotate about, Rotate dialog box RM-
subsets GS-100–GS-102 210
Labelled atom selection HM-178 Line view, spectra HM-122
Labelled atoms HM-82, HM-111, HM-173, Line width function HM-124
HM-178 Line width scroll bar HM-148
labelled-atoms selection in HyperChem HM- Line width, fine control HM-127, HM-191
112, HM-180 Line widths HM-156
Labels Line widths, peak HM-125
dialog box RM-281–RM-282 Linear
Display menu RM-249 Constrain Bond Angle dialog box
labels CDK-98, CDK-218, CDK-220 RM-138
Labels dialog box GS-38, GS-210 Constrain Geometry dialog box RM-
Labels, atom HM-96, HM-168
135
lambda CC-69
831
Linear Combination of Atomic Orbitals HM- Lone pair (LP)
218 default color RM-284
linear combination of atomic orbitals CC-35 in atom typing RM-658
Linear Combination of Atomic Orbitals-Molec- lone pairs CC-200
ular Orbital CC-44 Lorentzian peak function HM-124, HM-157
LineDown CDK-114 lowest excited electronic state of ethylene GS-
Lines, isosurface RM-397 241–GS-249
LineUp CDK-114 lowest state CC-242
LinkExecute CDK-123 Lowest state, Semi-empirical Options dialog
LinkItem CDK-122, CDK-123 box RM-306
LinkMode CDK-122, CDK-123 lowest unoccupied molecular orbital GS-189
LinkRequest CDK-122 LUMO CC-146, CC-231
LinkTopic CDK-122 LUMO See lowest unoccupied molecular orbit-
load command CDK-129 al
LoadHAPI CDK-139, CDK-151, CDK-181 LUMO+, Orbitals dialog box RM-403
loading CDK-124 Lysine (Lys), amino acid residue RM-143
load-time CDK-149, CDK-151
load-user-menu CDK-38 M
local minima CC-333 MacroButton CDK-112
definition GS-130 macromolecules
Log Comments working with GS-113–GS-126
on File menu RM-78 macros CDK-110, CDK-113, CDK-117
log file Magnetic shielding HM-216
entering comments in GS-134 mailing list GS-21
MAIN subroutine CDK-113
keeping information in GS-130 Make Zwitterion RM-145–RM-146
stopping GS-144 Databases menu RM-140
log file information RM-631–RM-638 makefile CDK-150, CDK-151
for UV visible spectra computation Map, reaction map list box RM-355
RM-415 Mapped Isosurface RM-393
log file path RM-103 Mass
Log file print level HM-189 Atoms, Labels dialog box RM-282
Log file, starting HM-113, HM-154, HM-165 mass, atomic CC-178
Log file, stopping HM-122, HM-154 mass, HIN file syntax RM-718
Log files HM-186, HM-210, RM-621 master CDK-13
HyperChem files RM-621 master - slave Architecture CDK-13
results stored RM-616–RM-617 Max delta, Monte Carlo RM-371
log files CDK-214 Maximize button HM-143
Log on File menu GS-130 maximize button GS-29
Log P RM-456 maximize button, HyperChem Windows RM-5
log, open RM-90 Maximize/Minimize buttons HM-88
logging CDK-214 Maximum Excitation, Configuration Interac-
London dispersion forces CC-40 tion dialog box RM-309
832
Maximum iterations, SCF HM-182 adding CDK-37
Maximum number of water molecules, Periodic enable CDK-46
Box Options dialog box RM-338 menu activation CDK-49, CDK-50, CDK-67
MDL MOL files Menu Activator RM-511
open RM-80 types of input messages RM-511
save RM-84 Menu bar HM-87, HM-144
measurements menu bar GS-28
atom identification, with Selection menu bar, HyperChem Windows RM-5
tool RM-35 menu caption CDK-212
bond angles, with Selection tool menu file CDK-24, CDK-38
Menu Files CDK-2
RM-36
menu invocation CDK-140
bond lengths, with Selection tool menu item CDK-39, CDK-50
RM-36 Menu item, choosing HM-89
distances between atoms, with Se- menu items
lection tool RM-36 Semi-empirical GS-206, GS-215
improper angles, with Selection with ellipsis GS-33–GS-34
tool RM-36 menu structure CDK-21
improper torsion angles, with Se- Menu, close HM-88
Menu, open HM-88
lection tool RM-36
menu-help RM-515
molecule identification, with Selec- MENUITEM CDK-44
tion tool RM-36 menuitem CDK-212
residue identification, with Selec- menus
tion tool RM-35 Build GS-85, GS-152, GS-182, GS-201,
with Selection tool RM-36 RM-117–RM-139
torsion angles, with Selection tool close using keyboard alternatives
RM-36 RM-9
measuring Compute GS-134, GS-135, GS-140, GS-
axial hydrogens GS-139 143, GS-156, GS-168, GS-174,
nonbonded distances GS-88 RM-357–RM-469
properties of minimized system GS- Control GS-29
136–GS-137 Databases RM-139–RM-192, RM-493–
structural properties GS-81–GS-90 RM-500
torsion angles GS-87–GS-88 Display GS-37, GS-41, GS-42, GS-74,
Mechanics Print Level RM-90 GS-105, GS-116, GS-167, RM-
MechanicsPrintLevel, in chem.ini RM-631
21, RM-216, RM-248–RM-285
mechanisms, reaction CC-137
memory allocation CDK-147, CDK-156 Edit GS-138, GS-180, RM-201–RM-220,
MENU CDK-44 RM-486
menu CDK-207, CDK-212 File GS-33, GS-58–GS-60, GS-126, GS-
833
130, GS-255, RM-77–RM-105, warning RM-359–RM-360
RM-616 Messages, HyperNMR HM-87, HM-144
gray items RM-13 messaging CDK-107
Metafile RM-99, RM-613, RM-615
Help GS-29, RM-115–RM-116
graphics RM-630
HyperChem RM-12–RM-13
Setup Image dialog box RM-101
keyboard alternatives GS-31–GS-32
metafile CDK-218
Script RM-105–RM-107 metafile preferences RM-99
Select GS-106, GS-117, GS-166, RM- methane CDK-57
34–RM-35, RM-220–RM-246, Methionine (Met), amino acid residue RM-143
RM-496 method, rendering RM-258
Setup GS-182, GS-201, GS-205, GS-206, Metropolis method CC-100
MFC CDK-10, CDK-159, CDK-173
RM-287–??
microcanonical ensemble CC-74
Window (Excel) GS-258 Microsoft Developer Studio CDK-151
Merge Microsoft Excel CDK-2, CDK-17, CDK-107,
adds molecules RM-82 CDK-115, RM-606–RM-609
on File menu RM-77 Microsoft Foundation Classes CDK-10, CDK-
merging two structures GS-203–GS-204 159, CDK-173
mesh isosurface RM-397 Microsoft Windows CDK-107, RM-4–RM-6
mesh, isosurface grid RM-394 controls printer RM-94
message CDK-24, CDK-49, CDK-122, CDK- Microsoft Windows API CDK-148
213 Microsoft Word CDK-2, CDK-107, CDK-109
status CDK-215 microstate CI CC-40
message box CDK-148 Microstate CI Method CC-40
message passing CDK-108 Configuration Interaction dialog
messages CDK-7, CDK-14, CDK-33, CDK- box RM-309
108, CDK-155, CDK-157, CDK-207,
practical application RM-310
RM-518–RM-584
microstates CC-244
cross references of RM-579 MINDO/3 CC-123, CC-132, CC-155, CC-249,
messages for scripts RM-518 CC-252, CC-292–CC-296
arguments RM-516 MINDO3
commands RM-516 elements treated by RM-301
cross-references RM-584–RM-602 extension of INDO RM-298
input RM-510–RM-517 parameter files RM-679, RM-685–RM-
online Help RM-115 688
script file RM-509 Semi-empirical Method dialog box
syntax RM-511–RM-517 RM-298
using with HyperChem RM-510–RM- minima, global CC-359
517 minima, local CC-333
variable RM-511–RM-516 minimal basis set CC-265
834
minimizations, geometry CC-59 parameter files RM-688–RM-690
Minimize button HM-88, HM-143 Semi-empirical Method dialog box
HyperChem Windows RM-5 RM-299
Molecular Dynamics Results dialog mnu file CDK-37
box RM-382 MO coefficients, initial guess CC-119, CC-276,
Minimum distance between solvent and solute RM-325
atoms, Periodic Box Options dialog mode
box RM-338 drawing GS-47, GS-81
minimum, global CC-333 Model Build, changed from Add H & Model
Minor, Align Molecules dialog box RM-218 Build RM-479
miscellaneous variable messages RM-580– Model Build/Add H & Model Build RM-124–
RM-582 RM-125
mixed calculations Build menu RM-117
choosing an area of interest GS-211– Model Builder RM-124–RM-125
GS-212 2D drawings conversions RM-117
Mixed mode calculations RM-311, RM-334 adds hydrogen atoms RM-30
mixed mode calculations CC-256, CC-277
assigns atom types RM-129
mixed model, CNDO and INDO CC-287
mixed model, MINDO/3 CC-295 creating 3D structures GS-83–GS-85
mixed model, MNDO, AM1, and PM3 CC-304 evaluates chirality of atoms RM-487
Mixed-mode calculations HM-82, HM-107, incremental model building RM-487
HM-130 invoking GS-65–GS-66
MM+ CC-105, CC-176, CC-190 model builder CDK-58, CDK-218
file structure RM-745 Modified Intermediate Neglect of Differential
force field GS-130–GS-131 Overlap See MINDO/3
Molecular Mechanics Force Field modifying parameters CC-207
mol, HIN file syntax RM-716
dialog box RM-290
MO-LCAO approximation CC-231
parameters RM-680 Molecular Coordinate System HM-152, RM-
settings RM-769–RM-771 18–RM-20
MM+ Options dialog box RM-291–RM-293 Molecular Dynamics GS-147–GS-170
mm+,mm+ file structure RM-745 Averages dialog box RM-377–RM-
MM2 CC-110, CC-190
380
MM2(1977) CC-106
MM2+ GS-266, GS-270 Named Selections use RM-242
mmpben4 parameter file RM-660 averages files RM-629
mmplus.exe program file RM-621 averaging GS-171–GS-173
mmpoop parameter file RM-660 calculations RM-368–RM-382
mmptor4 parameter file RM-660 Compute Menu RM-368–RM-383
MNDO CC-123, CC-132, CC-155, CC-156,
Compute menu RM-357
CC-249, CC-296–CC-304
in water GS-147–GS-177
elements treated by RM-302
on Compute menu GS-168
835
Options dialog box RM-369–RM-374 molecular organization, levels RM-17–RM-18
Playback dialog box RM-375–RM- Molecular properties, plotting RM-392
molecular renderings
376
changing GS-39–GS-43
playback dynamics GS-170
molecular system RM-18–RM-20
results GS-173 printing RM-94, RM-616
Results dialog box RM-380–RM-382 Molecular system view HM-144, HM-155
simulated annealing GS-168–GS-170 Molecule, charge HM-181
Simulation Molecule, copying HM-103
storing results RM-617–RM-618 molecules RM-226
time periods RM-382–RM-383 built from residues RM-492–RM-500
molecular dynamics CDK-55, CDK-225, CC- changes after drawing RM-475
18, CC-71, CC-127, CC-342–CC-359 creating GS-57–GS-67
Molecular dynamics calculations CC-88 drawing RM-471–RM-486
molecular dynamics equilibration CC-76
hydrogen peroxide GS-263
Molecular Dynamics Options dialog box GS-
168, GS-173 manipulating with Excel GS-260–GS-
molecular geometry CC-43 262
molecular graph CDK-59 in Microsoft Excel macro RM-607,
Molecular Mechanics RM-609
calculations RM-289–?? NMA GS-197–GS-199
Force Field dialog box RM-290–RM- numbering RM-237
291 propene
method use RM-361 creating GS-57–GS-65
on Setup menu RM-287 reflecting one end GS-138
Optimization dialog box RM-364– residues RM-17
RM-367 saving GS-196
molecular mechanics CDK-102, CDK-222, selected by name RM-236
CC-21, CC-175
Selection level RM-32
molecular mechanics calculations
translating/rotating/scaling GS-69–
log file information RM-638
Molecular Mechanics on Setup menu GS-201, GS-80
GS-205 unlabelling GS-92
Molecular Mechanics Optimization water GS-204
dialog box GS-156 Molecules, Apply to, Rotate dialog box RM-
molecular mechanics, type selection CC-105 210
molecular orbital calculations GS-179–GS-196 Molecules, Select menu RM-221
molecular orbitals CC-126, RM-404 Møller-Plesset perturbation RM-321
practical guidelines RM-405 Møller-Plesset second-order perturbation
(MP2) CC-41, CC-117, CC-246–CC-
total number saved in log file RM-
248, CC-261
632
836
moments-of-inertia RM-539 multiplicity CDK-221, CC-229, CC-242
monitor HyperChem CDK-132 Multiplicity, spin HM-181
monopole RM-692 multiplicity, spin CC-46, CC-116
Monte Carlo GS-174, CDK-225, CC-19, CC- mutagenesis, site-specific GS-94–GS-97, GS-
95, RM-384 123
Compute menu RM-358 Mutate
MOPAC Z-Matrix file HM-81, HM-89, HM- Databases menu RM-140
153, HM-163, HM-186, HM-200 dialog box RM-190–RM-192
MOPAC Z-Matrix files mutating
open RM-80 amino acid residues RM-496
save RM-84 nucleic acid residues RM-499–RM-
Morse function CC-24 501
mouse CDK-208
in changing clipping slab GS-79 N
15N HM-81, HM-82, HM-111, HM-119, HM-
keyboard alternatives GS-31–GS-32
178, HM-183, HM-185
pointer, HyperChem Windows RM- Name
5
Atoms, Labels dialog box RM-281–
right button functions RM-20 RM-282
use RM-7–RM-9 Residues, Labels dialog box RM-282
using GS-29–GS-31 Name + Seq, Residues, Labels dialog box RM-
Mouse operations HM-88, HM-161 282
Move structure HM-161 Name Selection
movement, atomic, Monte Carlo RM-371 dialog box RM-237–RM-239
Movie, AVI RM-376
Moving a molecule HM-89
Molecular Dynamics use RM-241
moving in a dialog box, using keyboard alterna- for Restraints RM-241
tives RM-10 Select menu RM-222
Moving structures HM-100, HM-157 Named selections, Molecular Dynamics Averages
moving through a list, using keyboard alterna- dialog box RM-378–RM-379
tives RM-10 names, assignment for selections RM-236
MP2 CC-117, CC-261 naming selections RM-240–RM-241
mp2 CDK-229 NDDO HM-228, CC-132, CC-249
MP2 calculations RM-321 NDO HM-226, CC-35, CC-248–CC-250
MP2 Correlation Energy CC-246–CC-248 NDO calculations
Mulliken approximation CC-282 log file information RM-633
Mulliken atomic charges CC-143 NDO methods CC-131
Multiple Selections RM-227 NDO methods, options CC-122
Select menu RM-221 ndo.exe program file RM-621, RM-622
Multiple Selections on Select menu GS-51, GS- negative frequencies CC-149
54 Neglect of Diatomic Differential Overlap (ND-
multiple windows use RM-6 DO) HM-228, CC-132, CC-249
837
Neglect of Differential Overlap (NDO) HM- NMR atoms, selecting HM-108, HM-133, HM-
226, CC-35, CC-131, CC-248–CC- 173, HM-175
250 NMR atoms, selection by type HM-180
neighbors CDK-219 NMR files, format HM-201
maximum handled by Model Build- NMR, general principles HM-214
er RM-489 nmr.exe HM-186
neighbors, bonded CC-177 nmr.hlp HM-186, HM-199
net charges nmr.ini HM-186, HM-187
nmr_cupl.ab HM-198
in log file RM-632
nmr_cupl.abp HM-186, HM-252
log file RM-633 nmr_shft.abp HM-186, HM-198, HM-252
NETBIOS, NETBEUI, NETAP RM-104 nmr-atoms selection in HyperChem HM-109,
network CDK-17 HM-134, HM-176
Network License RM-104 nmrcalc.exe HM-186, HM-187
network license timeout RM-104 nmrparam.in HM-186, HM-199
Network options RM-346 nmrparam.out HM-186, HM-199
New nmrspect.in HM-186, HM-199
on File menu RM-77 nmrspect.out HM-186, HM-199
prepares HyperChem for new mole- nmrtype.rul HM-186, HM-194
cules RM-78 nmrtype.txt HM-186, HM-194
residues RM-739–RM-741 NOE data CC-84
New on File menu GS-56, GS-126 nonbonded cutoffs CC-66, CC-108
new version of Tcl/Tk CDK-128 nonbonded distances
New workspace HM-153 measuring GS-88
newton.exe program file RM-621 non-bonded interactions CC-26
Newton-Raphson CC-62 nonbonded interactions CC-182
Newton-Raphson optimization CC-338 nonbonded parameter files RM-673–RM-677
Newton-Raphson Optimization Method RM- nonbonded potential CC-29
366 None
next lowest state CC-242 Atoms, Labels dialog box RM-282
Next lowest state, Semi-empirical Options dia- Residues, Labels dialog box RM-282
log box RM-306 non-nuclear basis functions CC-278
NMA See N-methylacetamide normal coordinate analysis CC-366
NMAKE CDK-161 normal modes
N-methyl amino (Nme), amino acid residue in log file RM-634
RM-143 normal modes, vibration CC-128
N-methylacetamide notation, basis sets CC-271
changing from cis- to trans- form notification CDK-131, CDK-132, CDK-147,
GS-199–GS-201 CDK-161
creating GS-197–GS-199 notification agent CDK-156
geometry optimization GS-201 notifications CDK-29, CDK-128, CDK-155,
NMR atoms HM-82 CDK-212
notify-on-update CDK-30
838
Nuclear Magnetic Resonance see NMR 144
Nuclear Overhauser Effect (NOE) CC-84 OMSG CDK-15, CDK-29, CDK-34, CDK-
Nuclear spin coupling HM-222 211, CDK-212
nuclear-electron attraction CC-262 OMSG, using HyperChem messages RM-510
nucleic acid CDK-224 one-center exchange integrals CC-290
Nucleic Acids RM-157–RM-158, RM-497– on-line help GS-24
RM-500 opaque isosurface RM-397
on Databases menu RM-140, RM-497 Open
dialog box RM-14, RM-159–RM-162, File dialog box RM-78–RM-82
RM-192, RM-497 on File menu RM-77
mutating residues RM-192, RM-499– menu, using keyboard alternatives
RM-501 RM-9
residues RM-737–RM-741 Run Script dialog box RM-106
nucleic acids, adding RM-739 Script, on Script Menu RM-106
Number Start Log dialog box RM-90
Atoms, Labels dialog box RM-282 open architecture CDK-13
number of d orbitals CC-119 Open file HM-89, HM-153, HM-163
Number of residues selected, Select menu RM- Open File dialog box GS-34
226 Open on File menu GS-255
Number, Orbitals dialog box RM-403 Opening HyperNMR HM-85, HM-142
numbering atoms, residue molecules RM-237 open-shell CDK-56
numbering of atoms CDK-30 Operating system HM-77
Numbers, Select dialog box RM-234 operating system CDK-21
O OPLS CC-105, CC-110, CC-176, CC-200
15
O HM-81, HM-82, HM-111, HM-119, HM-
file structure RM-745
178, HM-183, HM-185 Molecular Mechanics Force Field
occupancies dialog box RM-291
in log file RM-632, RM-633 settings RM-773–RM-775
occupancy, orbital CC-43 opls, opls, file structure RM-745
occupied alpha orbitals optimization CDK-226
in log file RM-633 optimization cycles CC-63
occupied beta orbitals in UHF optimization methods CC-335–CC-339
in log file RM-633 optimization termination CC-63
Occupied Orbital Criterion optimization variables GS-135
optimizations, structural CC-59, CC-138
Configuration Interaction dialog Options
box RM-309 Molecular Dynamics Options dia-
OCR file CDK-54
Octahedral, Constrain Geometry dialog box
log box RM-369–RM-374
RM-135 Options, calculation, setting up HM-136
OLE CDK-108, CDK-137 Options, expert HM-107
Omega, amino acid residue torsion angle RM- options, force field, set up CC-208
839
Options, SCF HM-112 Other
Options, shielding & coupling HM-105 Restraint Forces dialog box RM-342
Options, shielding and coupling HM-171 Ousterhout, John CDK-95
Options, spectral, setting up HM-118, HM-136 Outer radius, MM+ Options dialog box RM-
Orbital 293
described RM-404 out-of-plane bending CC-195
orbital CDK-227, CDK-228, CDK-230 out-of-plane bending parameter file RM-673
Orbital Criterion CC-41 out-of-plane bends CC-221
Configuration Interaction dialog overlap integrals CC-262
box RM-309 overlap matrix
practical application RM-310 in log file RM-632, RM-634
Orbital data, export RM-93 overlap weighting factors, ZINDO CC-307
orbital data, export RM-78 Overlapping Spheres options RM-264
Orbital data, import RM-78, RM-92 Overlapping Spheres, Rendering dialog box
orbital eigenvalues (energies) RM-259
Overlay on Display menu GS-167
in log file RM-632, RM-633
Overlay, Display menu RM-248
orbital energy diagrams CC-230
oxytocin, sample PDB file RM-507
orbital exponents, default, table CC-280
orbital occupancy CC-43 P
orbital plots CC-253 31P HM-81, HM-82, HM-111, HM-119, HM-
Orbital squared 178, HM-183, HM-185
Orbitals dialog box RM-404 pack CDK-24, CDK-99, CDK-101, CDK-106,
Orbital, Orbitals dialog box RM-402 CDK-197
Orbitals package CDK-129
Compute Menu RM-401–RM-405 Pan
Compute menu RM-358 Electronic Spectrum dialog box RM-
orbitals CDK-195, CDK-198, CDK-202, CDK- 414
204 Orbitals dialog box RM-402
total number in log file RM-633 Pancreatic trypsin inhibitor complex, sample
Orbitals dialog box RM-401–RM-404 PDB file RM-507
Orbitals on 2nd row, d, option HM-172 par parameter files RM-653, RM-661
Orbitals, importing RM-92 parallel spins CC-288
Orbitals, storing RM-93 parameter file path RM-103
orientation, structure RM-82 Parameter files HM-251
orienting 3D structure GS-153 parameter files RM-660–RM-661
Origin, translate to, Edit menu RM-211 compilation RM-353
oscillating electric dipole CC-369 parameter set CDK-223
Oscillator Strength parameter sets CC-205, RM-661–RM-664
Electronic Spectrum dialog box RM- parameter sets, compiling CC-208
414 parameter sets, new CC-207
oscillator strength CDK-231 Parameterization, TNDO HM-240
parameters, changed molecular mechanics CC-
840
181 period, dynamics sampling CC-82
parameters, default CC-190 period, dynamics screen refresh CC-351
parameters, force field CC-176 period, dynamics snapshot CC-351
parameters, missing CC-215 periodic CDK-207, CDK-217
parameters, modifying CC-207 Periodic boundary conditions RM-336
Parameters, semi-empirical HM-186, HM-198, periodic boundary conditions GS-159–GS-160,
HM-251 CC-65, CC-210
parameters, wild-card approach CC-215 cutoffs/dielectric adjustments GS-
Part of a system, calculating HM-82, HM-107, 161–GS-162
HM-130 Periodic boundary conditions, dyanmics RM-
Paste 372
copies from Clipboard to work- periodic boundary conditions, theory CC-210
space RM-204–RM-205 Periodic Box RM-335–RM-339
cutting and pasting atoms RM-479– options, dialog box RM-337–RM-338
RM-481 size, Periodic Box Options dialog
Edit menu RM-201 box RM-337
Paths RM-103 Periodic Box Options dialog box GS-158–GS-
Pauli Exclusion Principle CC-35 160
pdb CDK-210 periodic box, non-aqueous RM-339
PDB Files periodic box, removing RM-339
reading non-standard RM-81 periodic-box-size RM-539
PDB files, non-standard RM-504 permittivity, dielectric CC-188
PDB See Brookhaven Protein Data Bank perspective CDK-216
Peak information table HM-129 Perspective View
Peak information, plotting HM-129 for Z translation RM-43
Peak integration HM-127 Perspective View on Display menu GS-72
Peak intensity, minimum level for inclusion Perspective, Rendering dialog box RM-260
HM-190 Perturbation theory, self-consistent HM-237
Peak line intensity HM-149 Perturbation theory, TNDO HM-233, HM-236
Peak line location HM-149 perturbation, classical CC-277
Peak line widths HM-125 perturbation, Møller-Plesset CC-41
Peak selection HM-127 perturbation, second-order RM-321
Peak width function HM-124, HM-156 Petzold, Charles CDK-160
Peak width, fine control HM-127, HM-191 phase space CC-100
Peaks HM-149 phases, trajectory CC-346
Peaks, spectrum HM-156 Phenylalanine (Phe), amino acid residue RM-
Peaks, zoom in HM-126 143
peptide Phi, amino acid residue torsion angle RM-144
exploring alpha-helical nature of picture settings RM-99
GS-102 Picture, copying HM-103, HM-154
period, dynamics averaging CC-351 pictures
period, dynamics data collection CC-351 files RM-100
841
planar molecules CC-334 Pointer Zoom & Translate HM-157
PLANE points, grid RM-393
definition RM-22 points, status line report, geometry optimization
Name Selection dialog box RM-238 RM-363
Polak-Ribiere CC-61
Reflect through, Edit menu RM-208
Polak-Ribiere conjugate gradient method RM-
Plane offset, 2D contour grid RM-395
365
playback CDK-226
Polak-Ribiere optimization CC-338
playback dynamics GS-170
Polarizability RM-458
Playback, Options, Compute menu RM-373–
polarizability CC-187
RM-374
polarization functions CC-271
Plot files RM-629
polarized basis sets CC-271
HyperChem files RM-620 polynucleotide construction RM-497–RM-498
Plot Molecular Properties RM-392 polypeptide creation GS-91–GS-98
Compute Menu RM-391–RM-399, polypeptide/polynucleotide backbone
RM-399–RM-400 Selection tool RM-245
Compute menu RM-358 pop CDK-211, CDK-213
Plot table data HM-170 Pople-Nesbet equations CC-237
Plotting coupling constants HM-138 Pop-up help for tool icons RM-27
Plotting peak information HM-129 potential
Plotting results RM-399–RM-400 angle CC-23
Plotting shielding constants HM-138 electrostatic CC-27, CC-55
Plotting spectrum HM-139
harmonic CC-24
PM3 CC-123, CC-132, CC-156, CC-249, CC-
305–CC-306 Morse CC-24
background RM-302 non-bonded CC-26
parameter files RM-680 nonbonded CC-29
Semi-empirical Method dialog box torsional CC-25
potential energy surfaces CC-11, CC-12, CC-
RM-299
164
POINT CDK-55
potential intermediates CC-137
definition RM-22 potential switching function CC-29
Edit menu RM-212 potential, electrostatic CC-141
Invert through, Edit menu RM-206– potential, shifting CC-30
RM-207 Power Station CDK-3, CDK-152
Name Selection dialog box RM-238 Preferences RM-95–RM-105
Translate to, Edit menu RM-210 dialog box RM-95–RM-105
Point on File menu RM-78
Restraint Forces dialog box RM-342 settings, using multiple windows
point charges CC-107, CC-256 RM-6
Pointer rotate HM-157 Preferences dialog box GS-52
Pointer select HM-157 Preferences on File menu GS-52
842
Preferences, color HM-165 protein backbone display RM-261
Preferences, display HM-154 Protein Data Bank CDK-50
Primary axis, Align Molecules dialog box RM- Protein Data Bank files RM-18, RM-503–RM-
217 507
primary inertial axis RM-21 creation RM-504–RM-507
primary structure open RM-80
displaying GS-116 options RM-85
primitives, GTO CC-263
samples RM-506–RM-507
principal moments of inertia
save RM-84
in log file RM-638
proteins, construction RM-493–RM-495
Print
protocol CDK-13, CDK-108, CDK-137
on File menu RM-78 protocol, network RM-104
print CDK-207, CDK-214, RM-523 proton affinities CC-137
Print level, log files HM-189, HM-210 protonated nitrogens GS-214
Print Levels, Mechanics and Quantum RM-90 protonation of water GS-221–GS-226
Printers icons and Control Panel RM-94 Pseudo-atoms HM-82, HM-132
printing pseudo-atoms GS-213–GS-214, RM-343
molecular system RM-616 pseudo-halogens CC-258–CC-260
results RM-362 Psi, amino acid residue torsion angle RM-144
print-variable-list CDK-67, CDK-215 push CDK-211, CDK-213
problems, product support for GS-20 Q
procedures in Tcl CDK-98
QCPE CDK-191
PRODUCT
quadratic stretch CC-176, CC-191
Name Selection dialog box RM-238, quadruple zeta CC-271
RM-239 quadrupole RM-692
Product, reaction map list box RM-355 Quantum atoms HM-82
product, transition state search RM-387 Quantum atoms, selecting HM-107, HM-130,
products, reaction CC-144 HM-132, HM-173
program file path RM-103 quantum mechanics CDK-227
program files RM-621–RM-622 ab initio CC-31
Program files, HyperNMR HM-186
programming CDK-95, CDK-100, CDK-149,
semi-empirical CC-32
Quantum Print Level RM-90
CDK-155, CDK-159, CDK-173
quantum-atoms selection in HyperChem HM-
Projected CNDO/INDO MO coefficients CC-
108, HM-133, HM-175
277
QuantumPrintLevel, in chem.ini RM-415, RM-
Projected Hückel MO coefficients CC-277
631
Proline (Pro), amino acid residue RM-143
quartet CC-242
propene
quasi-Newton CC-341
creating GS-57–GS-65 quenched dynamics CC-80
Properties query-response-has-tag CDK-29, CDK-45,
Element Table dialog box RM-122 CDK-101
properties, element RM-123, RM-475
843
query-value CDK-29, CDK-50, CDK-99, Display menu RM-249
CDK-212 rectangular selection GS-107
Quitting HyperNMR HM-104, HM-154 recursive scripts CDK-54
R Reference shielding HM-119, HM-158, HM-
184, HM-192
rA, nucleotide residue RM-159
Reflect RM-208
radicals, free CC-242
Radii, atom rendering HM-189, HM-193 on Edit menu RM-202, RM-486
Raffenetti integral format CC-118, CC-274, Reflect on Edit menu GS-138
RM-322 reflection plane
Random seed, Monte Carlo and Langevin RM- defining GS-137
373 Refractivity RM-457
random velocities CC-345 registering of HSV CDK-27
Rayleigh-Schrödinger many-body perturbation relaxation constant, bath CC-74
(RSPT) CC-41, CC-246 relief ridge on label CDK-103
Raytracing... RM-248 REMARK, creating PDB-type files RM-505
rC, nucleotide residue RM-159 remeasuring axial hydrogens GS-141
REACTANT Remove Ionic Ends RM-146
Name Selection dialog box RM-238 Databases menu RM-140
Reactant, reaction map list box RM-354 Remove, Restraint Forces dialog box RM-341
reactant, transition state search RM-387 removing atoms RM-473
reaction barriers CC-33 render CDK-216, CDK-232
reaction coordinate CC-14, CC-33, CC-144 Rendering RM-248
reaction coordinate parameter (lambda) CC-69 Cylinders color scheme RM-263
Reaction Map CC-69, RM-353 dialog box GS-39–GS-43, RM-258–
reaction mechanisms CC-137, CC-339 RM-265
reaction products CC-144 Rendering menu HM-155
reactions, chemical CC-360–CC-363 rendering method RM-258
reactivity, chemical CC-144 Rendering options HM-94, HM-144, HM-167
reactivity, ionic CC-146
Rendering options, atom HM-168
read CDK-155
Rendering options, bond HM-168
Read file HM-153, HM-163
rendering options, isosurface RM-396
read/write CDK-28, CDK-66
rendering, 3D RM-264, RM-265
reading HSV CDK-29
Rendering, atom colors HM-188, HM-192
reading PDB files RM-503
Rendering, atom radii HM-189, HM-193
read-script CDK-44, CDK-211
Rendering, atoms HM-96
read-tcl-script CDK-25, CDK-44, CDK-127,
Rendering, bonds HM-99
CDK-211
rendering, isosurface RM-248, RM-274
real number CDK-52
Reopen HyperChem GS-57
real number, script arguments for scripts RM-
reopening
517
Recompute H Bonds, Display menu GS-206
HIN file GS-69
Recompute Hydrogen Bonds RM-278 Replace selection HM-167
Replace table cells HM-154
844
repulsion, exchange CC-182 restraint, orientation of coordinated system
request to HyperChem CDK-35 RM-343
REQUEST, Excel message RM-606 Restraints RM-340–RM-343
res, HIN file syntax RM-716 restraints
Rescale view HM-157 calculations RM-341–RM-343
Rescale, Molecular Dynamics Results dialog definition RM-340
box RM-382
Restraint Forces dialog box RM-340
residue CDK-224
restraints, structural CC-83
Residue name and number, Select menu RM-
restraints, theory CC-212
226
Restricted Hartree-Fock (RHF) CC-38, CC-
residue template files RM-619, RM-727–RM-
116, CC-240–CC-244
741
Restricted Hartree-Fock calculation GS-183
residues RM-225–RM-226
Restricted Open-shell Hartree-Fock (ROHF)
amino acids RM-735–RM-737 CC-116
bonded atoms RM-17 Results
conformation RM-144 analyzing with Excel GS-266
files RM-739 results
molecules built from RM-492–RM- averages (CSV) file RM-629
501 from HyperChem RM-611–RM-618
mutating nucleic acids RM-499–RM- stored in Log file RM-616–RM-617
501 Results, copying to Clipboard HM-137
nucleic acids RM-737–RM-738 Results, detailed output HM-210
Results, log file print level HM-189
numbering RM-237
Results, saving HM-118
replacing GS-94–GS-98 rG, nucleotide residue RM-159
Selection level RM-32 RGB Bitmap file format, Setup Image RM-100
template files RM-727–RM-741 RHF CDK-56, CDK-203, CC-38, CC-46, CC-
unusual RM-496, RM-501 116, CC-237, CC-240–CC-244
Residues, Labels dialog box RM-282 RHF half-electron technique CC-48
Residues, on Select menu RM-221, RM-496 RHF See Restricted Hartree-Fock
Resolution, spectrometer HM-183 RHF, Spin pairing, Semi-empirical Options di-
resonance integrals CC-307 alog box RM-307
restart velocities CC-345 rhinovirus, sample PDB file RM-507
Restart, Molecular Dynamics Options dialog ribbons CDK-217
box RM-374 Ribbons, Rendering dialog box RM-261
Restore button HM-144 Ridley, J.E. and Zerner, M.C.
restore button, HyperChem Windows RM-5 and ZINDO/S RM-680
Restrained Value ring structures
Restraint Forces dialog box RM-341 finding and selecting GS-121
restraint CDK-227 rings
Restraint Forces dialog box RM-340–RM-343 making aromatic GS-62, GS-82
named selections RM-241
845
selection GS-111 definition GS-129
rings, atom typing syntax RM-659 saddle points CC-17, CC-33
rings, multiple aromatic RM-131 sample PDB files RM-506
RMS Gradient CC-332 sampling interval CC-82
RMS gradient CC-63 save a structure GS-97
RMS gradient, Termination condition, geome- Save As
try optimization RM-366 on File menu RM-77
RMS gradient, Termination condition, transi- fill PDB records, setting in
tion state search RM-387
chem.ini/Registry RM-782
RNA/DNA construction RM-497–RM-498
ROHF CC-116 stores molecular system in file RM-
Roothaan equations CC-235, CC-261 83
root-mean-square gradient CC-63 Save file HM-153, HM-164
Rotate Save File dialog box GS-59, RM-83–RM-85
dialog box RM-209–RM-210 Save on File menu GS-59
Save, File menu GS-58–GS-60
Edit menu RM-202
Save, on File menu RM-77
rotate CDK-215
saving
rotate example CDK-43
rotating a side chain GS-124–GS-126 color images RM-614
rotating molecules GS-69–GS-80 files in HIN format GS-59–GS-60
Rotating structures HM-89, HM-101, HM-157, molecular system in HIN file RM-19
HM-161 recalling selections, Selection tool
rotation CDK-208 RM-34
rotation speed RM-97, RM-98
results RM-362
rotation, group RM-39
rotation, side chain RM-39 structures GS-67
rotational barriers CC-139 Visual Basic files GS-275
Rotational equivalence HM-83, HM-110, HM- Saving molecules HM-118
173, HM-176 scalar HSV CDK-31
RSPT CC-41, CC-246 Scale factor, Force Field Options dialog box
rU, nucleotide residue RM-159 RM-294
rules, atom typing CC-178 Scale to Fit RM-250–RM-251
Run Script dialog box RM-106 Display menu RM-248
Run steps, Monte Carlo RM-371 Scale to fit HM-157
Run time, Molecular Dynamics Options dialog Scale to Fit on Display menu GS-74
box RM-370 scaling molecules GS-69–GS-80
Running HyperNMR HM-85, HM-142 Scaling structure HM-101
running the calculation GS-136 SCF CC-39, CC-234
running, trajectory CC-346 SCF calculation options HM-112, HM-173,
runtime CDK-149, CDK-151 HM-181
S SCF calculation, direct CC-275
SCF convergence CC-49
saddle point CC-67 SCF Technique CC-45
846
SCF. See Self-Consistent Field 373
Schrödinger equation CC-11, CC-171, CC-227 select RM-232–RM-237
scr file CDK-22, CDK-50 a group of atoms, Selection tool RM-
Screen refresh period, Molecular Dynamics 34
Options dialog box RM-367, RM-373
a polypeptide/polynucleotide back-
script CDK-33
bone, Selection tool RM-35
arguments CDK-30
a rotatable side chain, Selection tool
initialization CDK-53
RM-35
instantiation CDK-54
rings, Selection tool RM-34
recursive CDK-54
script argument CDK-30 side chains, Selection tool RM-34
script command CDK-205 Select All RM-231
script commands CDK-4, CDK-7, CDK-22, atoms to the sp3-sp3 bonds, Selec-
CDK-49, CDK-67 tion tool RM-35
script editor CDK-54 Select menu RM-221
script file CDK-22, CDK-52 structures, Selection tool RM-35
script file path RM-103 select atom
script menu CDK-37
HIN file syntax RM-722
Script menu, enabling menu items RM-107
Script One . . . Script Ten RM-106 molecules by name/number, Selec-
Script Menu RM-105 tion tool RM-34
Script, startup RM-4 Select Backbone RM-245
scripts RM-509–RM-584, RM-602–RM-609 in any molecule, Selection tool RM-
arguments RM-516–RM-517 33
commands RM-516 in residue polymer RM-35, RM-246
cross reference of RM-579 Select menu RM-222
input messages RM-510–RM-511 Select Backbone on Select menu GS-117
Select dialog box RM-233–RM-237
menu RM-105–RM-107
Select menu RM-220–RM-246
menu activators RM-517 Complement Selection GS-106, GS-
online Help RM-115 115, GS-166
syntax RM-511–RM-517 Multiple Selections GS-54
variables RM-510, RM-511–RM-516 Select GS-51
Scroll bar, line width HM-148
scrolling, list of files GS-34 Select Backbone GS-102, GS-117
SDK CDK-10, CDK-159, CDK-173 use RM-34–RM-35
second order optimizer CC-62 Select on Select menu GS-51
Secondary axis RM-21 Select Parameter Set RM-351–RM-352
Align Molecules dialog box RM-217 Select Parameter Set on Setup menu GS-202
second-order perturbation RM-321 Select Sphere RM-227–RM-230
seed, HIN file syntax RM-715 Select menu RM-221
Seed, random, Monte Carlo and Langevin RM- select then operate CDK-59
847
selecting CDK-66 semi-empirical
a file GS-35–GS-37 for quantum mechanical calcula-
atoms GS-51–GS-53 tions RM-296–??, RM-296–
backbone GS-102–GS-103 RM-297
groups of atoms GS-53–GS-55 method RM-361
ring GS-111 mixed mode RM-311
ring structures GS-121 parameter files RM-679–RM-699
side chains GS-111–GS-112 Semi-empirical dialog box RM-298–RM-300
subsets GS-99–GS-112 Semi-empirical method HM-171
Selecting atoms HM-102, HM-157, HM-161 semi-empirical method, selection CC-134, CC-
selecting by name/number, atoms RM-236–?? 153
Selection semi-empirical methods CDK-228
Semi-empirical methods, conventional HM-
HIN file syntax RM-720
226
icon, mouse clicks RM-31 Semi-empirical methods, typed HM-228
Molecular Dynamics Averages dia- Semi-empirical on Setup menu GS-182, GS-
log box RM-377–RM-379 206, GS-215
Restraint Forces dialog box RM-341 Semi-empirical Options (Hückel) dialog box
selection CDK-55, CDK-205, CDK-209, CDK- RM-304–RM-305
218 Semi-empirical parameters HM-186, HM-198
Selection Color RM-96 semi-empirical quantum mechanics CC-32
Selection Color, dialog box RM-283 sensitivity, rotation and translation RM-97,
selection level RM-98
setting GS-51 Sequence, Residues, Labels dialog box RM-
Selection rules HM-249 282
selection scripts CDK-209 serial number RM-115
Selection tool RM-30–RM-31 Serine (Ser), amino acid residue RM-142
server CDK-16, CDK-35, CDK-108
measuring RM-35–RM-36
set CDK-97
Selection, peak HM-127
Set Atom Type RM-130–RM-131
selectrestraint
Build menu RM-119
HIN file syntax RM-720–RM-722
dialog box RM-131
setting flag for RM-721–RM-722
Set Atom Type on Build menu GS-85
Self Consistent Field options HM-173, HM-
Set Bond
181
Self-Consistent Field Angle dialog box RM-219–RM-220
on Setup menu RM-298 Length dialog box RM-218–RM-219
Self-Consistent Field (SCF) CC-39, CC-234, Torsion dialog box RM-220
CC-261 Set Bond Angle, Edit menu RM-202
Self-consistent perturbation theory HM-237 Set Bond Length, Edit menu RM-202
Semi-empirical Set Bond Torsion, Edit menu RM-202
Options dialog box RM-305–RM-307 Set Charge RM-132–RM-133
848
Build menu RM-119 Set Velocity
dialog box RM-133 on Setup menu RM-288
Set Charges on Build menu GS-85, GS-182 Setup menu RM-287–??
Set HSV Molecular Mechanics GS-201, GS-
types of input messages RM-510 205
variables, script messages syntax script messages RM-545–RM-555
RM-511–RM-512 Select Parameter Set GS-202
Set Mass RM-132 Semi-empirical GS-182, GS-206, GS-
Set Velocity dialog RM-344 215
setting up graphics transfer RM-612–?? Setup, calculation HM-105
setting up restraints RM-342 Setup, software HM-77
settings sextic angle bending CC-193
AMBER RM-749–RM-751 Shaded isosurface RM-398
CHARMM RM-755–RM-758 Shaded rendering RM-264, RM-265
display conditions RM-611 Shielding & coupling calculation options HM-
MM+ RM-769–RM-771 157, HM-171
Shielding and coupling calculation options
OPLS RM-773–RM-775
HM-105
Registry or chem.ini default RM- Shielding constant view HM-145
743–RM-785 Shielding Constants, calculating HM-113
Settings, HyperNMR default HM-186, HM- Shielding constants, calculation option HM-
187 106
Settings, WIN.INI HM-78 Shielding constants, plotting HM-138
Setup Image preferences RM-99 Shielding constants, viewing HM-115, HM-
Setup Menu HM-157 137, HM-155
Ab initio Shielding tensor display HM-168
on Setup menu RM-288 Shielding tensor, calculate HM-191
Compile Parameter File Shielding tensor, displaying HM-156
on Setup menu RM-289 Shielding tensors HM-116
Network Shielding, magnetic HM-216
on Setup menu RM-288 Shielding, reference HM-119, HM-158, HM-
Periodic Box 184, HM-192
Shifted cutoffs, MM+ Options dialog box RM-
on Setup menu RM-288
293
Reaction Map
shifted function CC-108
on Setup menu RM-289 shifting function CC-189
Restraints shifting potential CC-30
on Setup menu RM-288 Shortcut
Select Parameter Set clear workspace HM-159
on Setup menu RM-289 coupling constants HM-115, HM-117,
Semi-empirical
HM-160
on Setup menu RM-287
849
file open HM-159 rotating GS-124–GS-126
file save HM-118, HM-160 selecting GS-111–GS-112
get structure HM-94, HM-136, HM-160 side groups syntax, atom typing RM-659
rotation HM-102, HM-160 simulated annealing GS-168–GS-170, CC-81,
CC-360
selection HM-103, HM-160
Simulation temperature, Molecular Dynamics
shielding constants HM-115, HM-116, Options dialog box RM-372
HM-160 Single Point
translate and zoom HM-101, HM-160 calculation RM-362
view spectrum HM-122, HM-123, HM- calculations GS-134, GS-155
160 Compute Menu RM-360–RM-362
view structure HM-160 Compute menu RM-357
Show All RM-258 on Compute menu GS-134
Display menu RM-248 single point calculation CC-16, CC-53, CC-331
Show All on Display menu GS-105 single point calculations CDK-206, CC-125
Show Axes on Display menu RM-21, RM-216 singlet CC-116, CC-229, CC-242
Show Dipole Moment RM-280 singlet ground states CC-39
Display menu RM-249 singlet molecules CC-38
Show Hydrogens RM-274–RM-275 singlet-triplet splittings CC-40
Bonds RM-277–RM-278 singly excited CI CC-40
Display menu RM-249 Singly Excited CI Method
Show Hydrogens on Display menu GS-66 Configuration Interaction dialog
Show Inertial Axes RM-279–RM-280 box RM-309
Display menu RM-249 practical application RM-310
Show Isosurface RM-248, RM-274 singly occupied orbitals
Show Multiple Bonds RM-276–RM-277 in log file RM-632, RM-633
Display menu RM-249 site-specific mutagenesis GS-94–GS-98, GS-
Show Periodic Box RM-275–RM-276 123
Display menu RM-249 skills
Show Perspective RM-512 creating a polypeptide GS-91–GS-98
Show Selection Only RM-258 creating small molecules GS-57
Display menu RM-248 drawing/editing techniques GS-45
Show Selection Only on Display menu GS-117 driving HyperChem from Excel GS-
Show Stereo
253–GS-267, GS-279–??, GS-
setting in chem.ini/Registry RM-782 287–??, GS-299–??
WallEyed Stereo RM-782 driving HyperChem from Visual
side chain rotation RM-39
side chain selection GS-212–GS-213 Basic GS-269
side chains electronic properties of proteins GS-
displaying GS-105, GS-117 209–GS-217
geometry optimization GS-129
850
getting started GS-27 snapshot, dynamics period CC-351
lowest excited electronic state of snapshots GS-171
Sodium, counter ions RM-499
ethylene GS-241–GS-249
soft electrophiles and nucleophiles CC-146
measuring structural properties GS- solid color isosurface RM-398
81 solute temperature CC-77
molecular dynamics in water GS-147 solute-solute interactions CC-65
molecular orbital calculations GS- solute–solute interactions GS-159
179–GS-196 solvating
protonation of water GS-221–GS-226 alanine zwitterion GS-158
translating/rotating/scaling mole- carboxyl group GS-203–GS-204
cules GS-69–GS-80 molecule optimization GS-162–GS-
vibrations and transition states of 163
solvation CDK-207, CC-65
ammonia GS-227–GS-240
Solvent effects HM-185
water–N-methylacetamide interac- solvent effects CC-65, CC-210
tion GS-197 solvent friction and diffusion CC-95
working with macromolecules GS- solvent temperature CC-77
113 solvents, non-aqueous RM-339
working with subsets GS-99 source command CDK-133
Slab, Z Clip dialog box RM-214 Space bar HM-101, HM-157
Slater determinants (microstates) spacebar
in log file RM-634 for Rescale, Molecular Dynamics
Slater exponents for shielding, option HM-107, Results dialog box RM-382
HM-172 for Scale to Fit RM-250
Slater Type Orbitals (STO) CC-45, CC-263 Special Slater exponents for shielding HM-107
Slater-Condon parameters CC-290 Specifying atoms HM-102
slave CDK-13 spectra CDK-231
slice of molecule See clipping slab Spectra, calculation HM-118
Slow three-center integrals, option HM-172 Spectra, envelope view HM-123
Smallest box enclosing solute, Periodic Box Spectra, line view HM-122
Options dialog box RM-337 Spectra, plotting HM-139
smooth shaded isosurface RM-398 Spectra, types HM-81, HM-183
snapshot spectra, UV-visible, saving RM-412
files RM-623 spectra, vibrational, saving RM-386, RM-408
HyperChem files RM-620 Spectra, viewing HM-122, HM-139, HM-148,
HM-156
Molecular Dynamics Playback
Spectral options HM-158
dialog box RM-376 Spectral options, setting up HM-136, HM-182
SNP files RM-623–RM-629 Spectral values HM-129, HM-139
Snapshot dialog box RM-375 Spectral values, displaying HM-156, HM-169
snapshot files CC-357–CC-359 Spectrometer frequency HM-183
851
speed, translation and rotation RM-97, RM-98 star in basis set name CC-271
Spheres options RM-264 Start Log
Spheres rendering GS-40–GS-41, HM-97 on File menu RM-78
Spheres, Rendering dialog box stores chemical calculations RM-90
settings (CPK) in chem.ini/Registry Start log file HM-154, HM-165
RM-781 Start time, Molecular Dynamics Playback dia-
Spheres, space-filling RM-259 log box RM-376
spherical selection GS-108–GS-110 starting HyperChem GS-27, RM-3–RM-4
Spin coupling, nuclear HM-222 Starting HyperNMR HM-85, HM-142
spin couplings CC-40 Starting temperature, Temperature, Compute
Spin density RM-392 menu RM-371
spin density CC-55, CC-125, CC-253 Starting value, 2D contour grid RM-396
spin density, plotting GS-189 Startup script RM-4
spin interactions CC-291 state energies
spin multiplicities in log file RM-633
in log file RM-633 State, electronic HM-181
Spin multiplicity HM-181 state, excited CC-242
Semi-empirical Options (Hückel) state, lowest CC-242
dialog box RM-304 State, Semi-empirical Options dialog box RM-
306
Semi-empirical Options dialog box
static field, classical CC-256, CC-277
RM-305 static linkage CDK-150
spin multiplicity CC-46, CC-116 stationary point
Spin multiplicity, Electronic Spectrum dialog
definition GS-129
box RM-414
stationary points CC-17
spin pairing CC-236
Stationary-state wave functions HM-248
Spin pairing, Semi-empirical Options dialog
statistical mechanical averages, dynamics CC-
box RM-306
345
spin state CC-229, CC-242
Status bar HM-144
Spin wave functions HM-247
Status line HM-87
spins, parallel or anti-parallel CC-288
status line GS-29
spins, unpaired CC-38
status line report RM-363
Spin-spin coupling constants, option HM-106
status line, HyperChem Windows RM-6
splittings, singlet-triplet CC-40
split-valence basis set, table of KLM values atom report RM-224
CC-268 molecule report RM-227
split-valence basis sets CC-268 residue report RM-226
spreadsheet CDK-107, CDK-115 steepest descent CC-60
spreadsheet program, Microsoft Excel RM-606 steepest descent on potential energy surface
SPX/IPX RM-104 RM-364
Square Planar steepest descent optimization CC-126, CC-335
Constrain Geometry dialog box RM- Step count, Molecular Dynamics Playback dia-
135 log box RM-376
852
Step size measuring GS-133, GS-154
Molecular Dynamics Options dia- structural restraints CC-83
log box RM-371 structure
Molecular Dynamics Playback dia- chem.tpl RM-727–RM-741
log box RM-376 HIN file RM-711
step size, molecular dynamics CC-92 TPL file RM-727–RM-735
stereo CDK-216, CDK-217 structure alignment GS-180–GS-181
Stereo, Rendering dialog box RM-260 Structure copy HM-154
stereochemistry CDK-219, RM-482 Structure input HM-75, HM-81, HM-89
displaying stereobonds with wedg- Structure rendering options HM-167
es RM-482–RM-485 Structure rotation HM-161
Structure selection HM-161
See also chirality
Structure translation HM-161
stereochemistry, changing GS-236
structures, saving GS-67
Stewart, J.J.P.
Subset, calculating HM-107, HM-130
and PM3 RM-680 subsets, complementing GS-106
Stick Width, Rendering Options dialog box Sugar Form, polynucleotide strand conforma-
RM-262 tion RM-161
Sticks & Dots, Rendering dialog box RM-259 superposing
Sticks options RM-260
molecules GS-163–GS-168
Sticks, Rendering dialog box RM-259
Support GS-20, GS-21
STO CC-45, CC-263
Switched cutoffs, MM+ Options dialog box
STO-3G exponents, table CC-267
RM-293
STO-NG method CC-265
switching function CC-108, CC-189
Stop Log RM-91, RM-616
switching function, potential CC-29
on File menu RM-78 Symbol, Atoms, Labels dialog box RM-281
Stop log file HM-154 Symbols, displaying atomic HM-96
Stopping HyperNMR HM-104, HM-154 symmetrical systems CC-41
storing results Symmetry equivalence HM-83, HM-110, HM-
in Log file RM-616–RM-617 173, HM-176
Molecular Dynamics Simulation Symmetry, Orbitals dialog box RM-403
RM-617–RM-618 synchronous transit GS-235, CC-69, CC-127,
str parameter files RM-660 CC-341
stretch-bend cross term CC-106 Synchronous transit, transition state search
stretch-bend interactions CC-194, CC-221 RM-387
stretching parameters syntax
in log file RM-638 atom typing RM-656–RM-659
string CDK-30, CDK-51, CDK-97, CDK-146 HIN files RM-712–RM-722, ??–RM-
string arguments, script messages RM-517 723, ??–RM-723, ??–RM-723,
structural optimizations CC-138 ??–RM-723, ??–RM-724, ??–
structural properties
RM-724, ??–RM-724, ??–RM-
comparing GS-136–GS-137
853
724, ??–RM-724, ??–RM-724, template CDK-115
??–RM-725, ??–RM-725, ??– template file CDK-110
template files RM-727–RM-741
RM-725
bonding information RM-733
script messages RM-511
syntax RM-729–RM-735
TPL files RM-729–RM-735
Tensor, display shielding HM-156, HM-168
sys, HIN file syntax RM-714
Tensor, shielding, calculate HM-191
System requirements HM-77
Tensors, shielding HM-116
System, Z Clip dialog box RM-214
TERMINATE, Excel message RM-606
T Termination condition, geometry optimization
Table cells, replace HM-154, HM-167 RM-366
Table data, chart HM-170 termination condition, optimization CC-63
Table, peak information HM-129 tertiary axis RM-21
tags in TPL files RM-732–RM-733 Align Molecules dialog box RM-217
tags, atomic coordinate RM-734 Tether to
Tcl CDK-23, CDK-55, CDK-95 Restraint Forces dialog box RM-342
procedures CDK-98 Tetrahedral
Tcl books CDK-96 Constrain Bond Angle dialog box
Tcl commands CDK-97 RM-138
Tcl file CDK-24, CDK-127, CDK-133
Tcl resources CDK-96
Constrain Geometry dialog box RM-
Tcl script CDK-99, CDK-102, CDK-132, 135
CDK-196 text communication CDK-140
Tcl/Tk CDK-6, CDK-95, CDK-127 text object in VB CDK-122
Tcl/Tk interpreter CDK-127, CDK-149 Text, Help HM-186
Tcl/Tk script CDK-2, CDK-6, CDK-9, CDK- THAPI CDK-128, CDK-129, CDK-130
22, CDK-45, CDK-157 Theory HM-213–HM-252
TclOnly CDK-24, CDK-45, CDK-98 Three-center integrals, include option HM-172
TCP/IP RM-104 three-dimensional group selection RM-230
TEMP, Selection, Molecular Dynamics Aver- three-dimensional rendering RM-264, RM-265
ages dialog box RM-378 Threonine (Thr), amino acid residue RM-143
temperature CDK-225 Time
temperature regulation CC-73 Compute menu RM-370
Temperature step, Molecular Dynamics Op- on status line RM-373
tions dialog box RM-372 time periods, Molecular Dynamics simulation
temperature, constant CC-74, CC-80, CC-90 RM-382–RM-469
temperature, constant dynamics CC-347, CC- time step, trajectory CC-346
349 timeout CDK-131, CDK-148
temperature, dynamics CC-343 TIP3P water model CC-65
Temperature, Molecular Dynamics Options di- TIP3P water molecules RM-336
alog box RM-371 title CDK-207
temperature, reaction simulation CC-362 of window CDK-47
temperature, solvent CC-77
854
Title bar HM-87, HM-143 XY rotation GS-75
title bar GS-28 XY translation GS-70–GS-71
title bar, HyperChem Windows RM-5
Z translation GS-72
Tk CDK-6, CDK-23, CDK-55, CDK-129
Tk dialog box CDK-47, CDK-201 Zoom GS-73
TK window CDK-134 Top level setting, choosing extent of Copy Im-
TNDO HM-225 age RM-612
TNDO parameterization HM-240 Top level window, Setup Image RM-100
TNDO perturbation theory HM-233, HM-236 topic
TNDO/1 HM-171, HM-214, HM-229 DDE CDK-108
TNDO/2 HM-172, HM-214, HM-230 torsion
Tool bar HM-87, HM-144 bond constraint GS-141
tool bar GS-28 torsion angles
Tool Buttons HM-159 measuring GS-87–GS-88
tool command language CDK-6 plotting energy vs. angle GS-263–GS-
Tool Menu HM-157
267
Tool preferences RM-97
torsion angles and multiple aromatic rings RM-
Toolbar
131
clear workspace HM-159 torsion parameter file RM-669–RM-670
coupling constants HM-115, HM-117, torsional angle rotation CC-182
HM-160 torsional angles CC-183
file open HM-159 torsional energy CC-195, CC-198, CC-203,
file save HM-118, HM-160 CC-221
torsional potential CC-25
get structure HM-94, HM-136, HM-160
torsion-angle, atomic coordinate in TPL file
rotation HM-102, HM-160 RM-735
selection HM-103, HM-160 torsions, improper CC-184
shielding constants HM-115, HM-116, Total charge
HM-160 density RM-393
translate and zoom HM-101, HM-160 Semi-empirical Options (Hückel)
view spectrum HM-122, HM-123, HM- dialog box RM-304–RM-305
160 Semi-empirical Options dialog box
view structure HM-160 RM-305
toolbar CDK-47, CDK-207 total charge density, plotting GS-188
Toolkit CDK-9, CDK-95 total density matrix
tools RM-27–RM-50, RM-61–?? in log file RM-632
Help menu RM-115 total electron density CC-54
icons total energy
HyperChem Windows RM-5 in log file RM-632, RM-633
mouse clicks RM-27 Total Energy, on status line RM-373
Total spin density RM-392
popup help RM-27
total spin density CC-55
855
total spin density, plotting GS-189 Translucent surface RM-398
total-energy CDK-206 Transparency Level, isosurface RM-398
TPL. See template files Transparent isosurface RM-398
trajectory phases CC-346 Trigonal
trajectory, classical CC-360 Constrain Bond Angle dialog box
Trans, Constrain Bond Torsion dialog box RM- RM-138
139
Constrain Geometry dialog box RM-
transfer RNA, sample PDB file RM-507
transferring graphics RM-612–?? 135
transforming from chair to boat cyclohexane triple zeta CC-271
GS-137–GS-138 triplet CC-116, CC-229, CC-242
transit, synchronous, transition state search triplet ground states CC-47
RM-387 triplet open-shell ground states CC-39
transition dipole CC-369 Tripos MOL2 FIles
Transition intensities HM-249 save RM-84
Transition State RM-386 Tripos MOL2 Files
Compute menu RM-358 open RM-80
transition state search CC-17, CC-67, CC-127, trypsin inhibitor complex, sample PDB file
CC-340 RM-507
transition state searching GS-234, GS-235 Trypsin, sample PDB file RM-507
transition state setup RM-353 Tryptophan (Trp), amino acid residue RM-143
transition states CC-33, CC-138 tutorial
Transition Structures CC-339 Ab Initio calculations GS-219
Transition, Electronic Spectrum dialog box HyperChem calculations GS-127–
RM-414 GS-128
transitions, selecting in Electronic Spectrum di- Tutorials HM-85–HM-140
alog box RM-414 twist boat cyclohexane GS-141
Translate
optimization GS-143
dialog box RM-210–RM-212 twist boat structure minimization GS-143
Edit menu RM-202 two-dimension selection RM-227–RM-228
translate CDK-216 two-electron integral cutoff CC-117
Translate dialog box GS-71–GS-72 two-electron integrals CC-272
Translate Selection, Translate dialog box RM- format CC-118
211
Raffenetti format CC-118
Translate Viewer, Translate dialog box RM-
txt files, parameters CC-206
211
txt force field parameter files RM-653
Translating a molecule HM-89
Type
translating molecules GS-69–GS-80
Translating structure HM-161 Atoms, Labels dialog box RM-282
Translating structures HM-100, HM-157 Parameter file RM-665
translation CDK-208 type 1 CDK-9, CDK-22, CDK-49
translation speed RM-97, RM-98 type 2 CDK-9, CDK-22, CDK-95
translation, fast RM-98 Type files, atom HM-194
856
Type, atom HM-186 users list GS-21
Typed Neglect of Differential Overlap (TNDO) Using Help, Help menu RM-115
HM-214, HM-225 using HyperChem script messages RM-510–
Typed semi-empirical methods HM-228 RM-517
typerule.bin force field file RM-653 Using Stereo RM-268–RM-269
types, atom CC-176, CC-177 utilities RM-77–RM-78
Types, atom, setting HM-105 UV spectrum, importing RM-92
Types, calculate atom HM-155 UV spectrum, storing RM-93
Types, displaying atomic HM-96 UV visible spectra
typing rules for atoms RM-655 and ZINDO/S RM-300
Typing rules, atom HM-194 computing
typing rules, atom CC-178
practical applications RM-414–
Tyrosine (Tyr), amino acid residue RM-143
RM-415
U saving information in log file
UHF CDK-56, CDK-227, CC-38, CC-46, CC- RM-415
116, CC-237, CC-240–CC-244
UHF, Spin pairing, Semi-empirical Options di-
in log file RM-633
UV-visible spectra CC-40, CC-129
alog box RM-306
ultra violet CDK-231 computing CC-363–CC-364
UMSG CDK-15, CDK-33 theory CC-363–CC-364
United Atom force fields CC-28 UV-visible spectra, characteristic CC-153
United Atoms RM-128–RM-129 UV-visible spectra, saving RM-412
Build menu RM-118 V
united atoms CC-178, CC-197, CC-201, CC- valence atomic orbitals CC-279
202 Valence state ionization energy (VSIE) CC-281
units, force constants CC-191 Valine (Val), amino acid residue RM-143
UNIX CDK-1, CDK-17, CDK-18, CDK-107, Values, display spectral HM-169
CDK-129, CDK-155, CDK-188 Values, spectral HM-129
unloading CDK-124 Values, spectral, displaying HM-156
Unoccupied Orbital Criterion van der Waals CC-182, CC-184, CC-196, CC-
Configuration Interaction dialog 199, CC-201, CC-204, CC-222
box RM-309 van der Waals energy
unpaired spins CC-38 in log file RM-638
Unrestricted Hartree-Fock (UHF) CC-38, CC- van der Waals interactions CC-26
116, CC-240–CC-244 van der Waals scale factor, Force Field Options
Unweighted constant, Semi-empirical Options dialog box RM-295
(Hückel) dialog box RM-304 variable CDK-101
update CDK-45, CDK-47 variables in Tcl CDK-97
Urey-Bradley term CC-106 variables, script messages RM-510–RM-511
user interface CC-161 vector HSV CDK-32, CDK-101
user interface, HyperChem GS-25, GS-27–GS- vector variable CDK-115
35 vel, HIN file syntax RM-718
857
Velocities CDK-154, CDK-204
Molecular Dynamics Snapshots di- adding .exe file to program group
alog box RM-375 GS-276
storage RM-85 controls as graphical objects GS-270
velocities CDK-56, CDK-210, CDK-221 creating a form GS-270–GS-272
velocities, distribution of atom CC-76 creating an executable file GS-275
velocities, random distribution CC-345
customizing an interface GS-272
velocities, rescaling CC-347
velocities, restart CC-345 driving HyperChem GS-269–GS-276
velocity, set atom RM-344 entering code GS-273–GS-275
Verlet algorithm CC-97 saving files GS-275
version number RM-115 Visual Basic controls CDK-120
Vertical grid points RM-395 Visual C++ CDK-3, CDK-149, CDK-159,
vertical ordering CDK-99 CDK-173
vibration, transition state search RM-387, RM- VMSG CDK-15, CDK-34
389, RM-390, RM-391 Volume RM-456
vibrational analysis CDK-207, CDK-217, CC- VSIE CC-281
128, CC-149 VSIE values, table CC-281
and IR spectroscopy CC-365–CC-371 W
vibrational spectra, saving RM-386, RM-408
walleyed stereo RM-268–RM-269
Vibrational Spectrum
setting in chem.ini/Registry RM-782
Compute Menu RM-406–RM-410 Walsh’s rules CC-43
Compute menu RM-358 warning CDK-214
vibrational spectrum, importing RM-92 warning messages RM-359–RM-360
vibrational spectrum, storing RM-93 destination, in chem.ini/Registry
Vibrations
RM-765
Compute Menu RM-385–RM-386 water
Compute menu RM-358 molecular dynamics GS-147–GS-177
vibrations and transition states of ammonia GS-
227–GS-240
molecules
vicinal interactions CC-182, CC-190 creating GS-179–GS-180
View Menu HM-155 water box CC-211
View molecular system HM-144 water model, TIP3P CC-65
View spectrum HM-148 water molecules RM-501
view, HIN file syntax RM-715 water template files RM-619–RM-621
Viewer's Coordinate System RM-19 water–N-methylacetamide interaction GS-197–
Viewer, Apply to, Rotate dialog box RM-211 GS-207
Viewer’s Coordinate System HM-152 wave function CC-37
virtual orbitals CC-43, CC-46 wave function calculation GS-182–GS-183,
visible atoms RM-222 GS-206, GS-214–GS-216
Visual Basic CDK-2, CDK-9, CDK-107, CDK- Wave functions, spin HM-247
119, CDK-139, CDK-149, CDK-150, Wave functions, stationary-state HM-248
858
Wavelength, Electronic Spectrum dialog box RM-614
RM-413, RM-414 Windows Program Manager, Main icon RM-94
Weak coupling approximation HM-183, HM- windows, keyboard alternatives GS-31
250 Windows, Microsoft HM-77
wedges WinMain CDK-156, CDK-165
displaying stereobonds with RM-482 WINSOCK CDK-18, CDK-149
explained RM-484 Wire mesh isosurface RM-397
wish CDK-128, CDK-150
types of RM-482
Wizard CDK-174, CDK-176, CDK-178
Wedges, Rendering dialog box RM-261
WMF. See metafiles
Weighted diffuseness, Semi-empirical Options
WndProc CDK-165
(Hückel) dialog box RM-304
Woodward-Hoffmann rules CC-43
widget CDK-46, CDK-98, CDK-102, CDK-
Word Basic CDK-113
120, CDK-129
Word Macros CDK-110
Width, peak, fine control HM-191
word processor CDK-107
width, rendered sticks RM-262
work, saving GS-58–GS-60
Widths, line HM-156
working in dialog boxes RM-14
wild-card approach, parameters CC-215
worksheet (Excel) GS-264
WIN.INI settings HM-78
Workspace
window
HyperChem Windows RM-5
border, HyperChem Windows RM-6
setting, choosing extent of Copy
changing size of GS-29
parts of HyperChem window GS-28– Image RM-612
GS-29
window, Setup Image RM-100
workspace GS-29
Setup Image RM-100 clearing GS-56
Window applications GS-251, GS-277
Workspace, HyperNMR HM-86, HM-142
Window Color RM-95
World Wide Web CDK-23, CDK-96, CDK-117
window title CDK-47
write CDK-155
window, expanding to full screen GS-45
Write file HM-153, HM-164
Window, HyperNMR HM-86, HM-142
writing HSV CDK-29
window_color CDK-141
window-color CDK-22, CDK-27, CDK-116, X
CDK-122, CDK-141, CDK-179, X Axis
CDK-218 Align Molecules dialog box RM-217
Windows Align Viewer dialog box RM-215
HyperChem RM-4–RM-6 Rotate About, Rotate dialog box
keyboard alternatives RM-9–RM-12 RM-210
Windows API CDK-10, CDK-159 XLM files CDK-117
Windows Applications XY rotation HM-101
graphics from WMF RM-615 right button functions RM-20
using DDE RM-604–RM-605 tool RM-37–RM-38
Windows Clipboard, graphics stored RM-613–
XY rotation tool GS-75
859
XY translation HM-100 zeta, triple and quadruple CC-271
right button functions RM-20 zindo CDK-228
step size setting RM-43 ZINDO/1 CC-123, CC-132, CC-157, CC-249,
CC-252, CC-306–CC-308
tool RM-40–RM-41
XY translation tool GS-70–GS-72 background RM-303
parameter files RM-680
Y
Semi-empirical Method dialog box
Y Axis
RM-299
Align Molecules dialog box RM-217 ZINDO/S CC-123, CC-132, CC-157, CC-249,
Align Viewer dialog box RM-215 CC-252, CC-307–CC-309
Rotate About, Rotate dialog box and UV visible spectra RM-300
RM-210 background RM-303
Z parameter files RM-680, RM-696, RM-
Z Axis 700
Align Molecules dialog box RM-217 Semi-empirical Method dialog box
Align Viewer dialog box RM-216 RM-300
Rotate About, Rotate dialog box Z-Matrix file HM-81, HM-89, HM-153, HM-
RM-210 163, HM-186, HM-200
Z Clip Z-Matrix files
dialog box RM-213–RM-215 input filter RM-81
Edit menu RM-202 open RM-80
Z Clip dialog box GS-76, GS-77 save RM-84
Z clipping tool GS-76–GS-79, RM-47–RM-49 Zoom
Z form, polynucleotide strand conformation dialog box RM-212
RM-160 Edit menu RM-202
Z rotation sensitivity setting RM-46
right button functions RM-20 tool RM-45–RM-46
setting amount RM-40 zoom CDK-208, CDK-216
tool RM-39–RM-40 Zoom Factor, Zoom dialog box RM-212
Z rotation tool GS-76 Zoom in, spectrum HM-126
Z translation RM-43–RM-45 zoom speed RM-97, RM-98
right button functions RM-20 Zoom structure HM-101, HM-161
tool RM-43–RM-45 Zoom tool GS-73–GS-74
Z Translation tool GS-72 Zoom, Electronic Spectrum dialog box RM-413
ZDO CC-284 zwitterion
Zerner, Michael creating GS-93–GS-94
and ZINDO/1 RM-680 zwitterions creation RM-495
zero differential overlap (ZDO) CC-284
zeta, double CC-270
Zeta, polynucleotide torsion angle RM-161
860