CCL Home Page
Up Directory CCL readme
These files are perl programs which extract coordinates and vibrational modes
from the output file of the appropriate program. Depending on the location
of the perl compiler executable you might need to change the first line.
Also remember to set execution bits using chmod.

The usage is:

G90modes.perl myfile.OUT   (or corresponding for DGAUSS, DMOL, ACES2)

where myfile.OUT is an output file from a Gaussian 90 program. As a result,
the 3N-6 files will be created with the coordinates and modes in the XYZ format
(1st line: no. of atoms, 2nd line: title, here a value of frequency, 
3rd and next:    At-Symbol X, Y, Z, X-mode, Y-mode, Z-mode).
The files have the root myfile and extension nux, i.e.,  myfile.nu1,
myfile.nu2, myfile.nu3... 

The files can be then read into XMol program for viewing the normal modes.
(choose vectors from the menu). To get info about xmol read
files /pub/chemistry/92/06/03 and /pub/chemistry/92/06/12.

Jan Labanowski

--------- announcement------
Dear Netters,

For some time now I am a "perl" enthusiast (I hope it will pass...)
Perl is a programming language for text processing. It is really a nice tool
to convert file formats, etc. It is a programming language which people
who know C and UNIX can learn in a day. The Perl is described in a man
page on UNIX system (provided that you have it installed). However, man page
is not the best way to learn perl; buy a book instead:
  Larry Wall and Randal L. Schwartz --  "Programin perl", available from
  O'Reilly and Associates, 707-829-0515, e-mail:  or
  uunet!ora!nuts (yes, they have e-mail address --- they are UNIX nuts).
The perl is a public domain software. It is made for UNIX, though probably
some ports for VAX exist. It can be taken from anonymous ftp: in /pub/perl/4.0/kits@33  (33 is a patch level,
the larger the better). You get all the kits, uncompress them and do:
  sh perl.kitxx
to extract files. Installation is very easy on popular UNIX machines.

To prove that perl is usefull, I have set up a directory 
in our archives on where I placed thre perl programs in:
Namely: DGAUSSmodes.perl, DMOLmodes.perl, G90modes.perl (you guess what they
do --- extract vibrational modes from corresponding OUTPUT files).
These programs will extract coordinates and vibrational modes in an XYZ format
suitable for viewing with an xmol program (for xmol availability see posts:
92/06/03, 92/06/12) --- a nice molecular viewer for X-windows.
There is also a readme file in /pub/chemistry/perl/vibmodes which tells you
how to use these programs. If you are using OSCPOST e-mail interface,
request files: ./perl/vibmodes/DGAUSSmodes.perl, ./perl/vibmodes/DMOLmodes.perl
./perl/vibmodes/G90modes.perl, ./perl/vibmodes/readme by sending message:
  send the_file from chemistry
If you have ftp, you know what to do.

If anybody has similar perl programs, please contribute them to the archives,
so we do not repeat this boring work of choping and reformating output files.

Jan Labanowski
Ohio Supercomputer Center
From  Wed Sep 30 20:53:50 1992
Received: from RANI.CHEM.YALE.EDU  for jkl
        by (5.65c+KVa/920330.1102) id AA12438; Thu, 1 Oct 1992 \
04:53:51 GMT
Received: by; Thu, 1 Oct 92 04:53:51 GMT
From: Dongchul Lim 
Message-Id: <>
Subject: Re: perl scripts for modes extraction
To: (Computational Chemistry)
Date: Thu, 1 Oct 92 0:53:50 EDT
In-Reply-To: <>; from "" at Sep 3\
0, 92 5:56 pm
X-Mailer: ELM [version 2.3 PL11] writes:
> Dear Netters,
> There is also a readme file in /pub/chemistry/perl/vibmodes which tells you
> how to use these programs. If you are using OSCPOST e-mail interface,
> request files: ./perl/vibmodes/DGAUSSmodes.perl, ./perl/vibmodes/\
> ./perl/vibmodes/G90modes.perl, ./perl/vibmodes/readme by sending message:
[... a lot of stuff deleted ...]

> #!/usr/local/bin/perl
> # Script to extract nomrmal modes from the G90 output file.
> # The OUT file may be the result of single calculations with
> # link line (like example 6.15 in G90 manual) or a result of
> # a separate restart with FREQ keyword from checkpoint file.
> # The first task is to find out if OUT contains two runs
> # (geometry optimization followed by frequences) or just one.
> # Then if 2 runs, skip the portion of file up to and including
> # first @ (it ends the result summary portion for geometry optimization).
> # Then search for "Z-Matrix orientation:" string, skip
> # 4 lines and collect cartesian coordinates in the array
> # until you reach line of "--------------". Count the atoms.
> # Then search for the "Frequencies ---" string, which
> # starts first portion of the table of frequences and
> # normal modes. It looks like:
[... a lot of stuff deleted ...]

> Jan Labanowski
> Ohio Supercomputer Center

        The above comments were taken from 'G90modes.perl' which can be
found in 'perl' directory on I didn't try this perl
script (we haven't installed perl on our system yet.), but it seems that
the script extracts the cartesian coordinates in zmatrix orientation
rather than standard orientation.
Quoting from Gaussian 90 manual (page 172),

        When evaluation of the second derivatives is complete, link 716
        analyzes the vibrational modes. Its output includes:
        * the dipole moment and the polarizability and hyperpolarizability
          tensors, in the STANDARD ORIENTATION and atomic units.
        * the vibrational frequencies and the associated normal modes.
          these are also in the STANDARD rather than Z-matrix orientation.
(beat me if I'm wrong)
Remedy is simple. Just replace the line containing
        last if /Z-Matrix orientation:/
        last if /Standard orientation:/

Then this perl script will be a very useful chemistry tool, for extracting
coordinates, frequencies, normal modes etc. for further application.


Department of Chemistry
Yale University

From  Thu Oct  1 06:21:47 1992
Received: from  for
        by (5.65c+KVa/920330.1102) id AA18682; Thu, 1 Oct 1992 \
14:21:49 GMT
Received: by (5.65c+KVa/901029.12)
        id AA00891; Thu, 1 Oct 1992 10:21:47 -0400
Date: Thu, 1 Oct 1992 10:21:47 -0400
Message-Id: <>
Subject: Re: perl scripts for modes extraction
In-Reply-To: Mail from ''
      dated: Thu, 1 Oct 92 0:53:50 EDT


Thank you for your comments on perl modes extraction from G90. I wanted to note
here that "Standard orientation" appears in the G90 output file only if you use
symmetry. If you do not use symmetry, the "Standard orientation" never appears
in the output file and Z-matrix orientation is "Standard orientation".

I will modify the scripts to check if symmetry is used, and if so, the search
will be after "Standard orientation" rather than "Z-matrix orientation".

The script simply reflects my preference not to use symmetry even if it is
there (apparently).

Ohio Supercomputer Center

Modified: Mon Nov 16 17:00:00 1992 GMT
Page accessed 8918 times since Sat Apr 17 21:23:00 1999 GMT