Anas Natsheh wrote:
> Hello,I have many molecular structures done in Cartesian format and I
> need to convert them to Z-matrix Adf format. do any body now a program
> to do that than babel software which does not has adf z-matrix
> format. Best regards,Anas Natsheh
hallo Anas
I have written an AWK script to convert a Gaussian Matrix to ADF format
Matrix
you can create gaussian format from cartesian with molden
This is the script
#!/bin/awk -f
###############################################
# August 2002
# script that transforms gaussian format zmatrix generated by molden
#to mopac format for ADF zmatrix input
#############################################
# usage:
# g2adf < file.zmt > file.adf
#################################################
#Angelo Vargas
#Laboratorium fur Technische Chemie
#ETH Honggerberg
#Zurich
#vargas_at_tech.chem.ethz.ch
############################################
BEGIN {
i=0;
}
{
if (NF == 1) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12.5f %12.5f\n",i
,$1, $2,$4,$6,$3,$5,$7);
next;}
}
{
if (NF == 3 && $3~/[0-9]+\.[0-9]+/) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12f %12f\n",i ,$1,
$2,$4,$6,$3,$5,$7);
next;}
else if (NF == 3 && $3~/[a-z]+[0-9]+/) {i++;
printf ("%-4d %4s %5d %5d %5d %12s %12f %12f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
}
{
if (NF == 5 && $3~/[0-9]+\.[0-9]+/ && $5~/[0-9]+\.[0-9]+/ )
{i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12.5f %12.5f\n",i
,$1, $2,$4,$6,$3,$5,$7);
next;}
else if (NF == 5 && $3~/[a-z]+[0-9]+/ && $5~/[0-9]+\.[0-9]+/ )
{i++;
printf ("%-4d %4s %5d %5d %5d %12s %12.5f %12f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 5 && $3~/[a-z]+[0-9]+/ && $5~/[a-z]+[0-9]+/ )
{i++;
printf ("%-4d %4s %5d %5d %5d %12s %12s %12f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 5 && $3~/[0-9]+\.[0-9]+/ && $5~/[a-z]+[0-9]+/ )
{i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12s %12f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
}
{
if (NF == 7 && $3~/[0-9]+\.[0-9]+/ && $5~/[0-9]+\.[0-9]+/ &&
$7~/[0-9]+\.[0-9]+/) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12.5f %12.5f\n",i
,$1, $2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[a-z]+[0-9]+/ && $5~/[0-9]+\.[0-9]+/ &&
$7~/[0-9]+\.[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12s %12.5f %12.5f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[a-z]+[0-9]+/ && $5~/[a-z]+[0-9]+/ &&
$7~/[0-9]+\.[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12s %12s %12.5f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[a-z]+[0-9]+/ && $5~/[a-z]+[0-9]+/ &&
$7~/[a-z]+[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12s %12s %12s\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[0-9]+\.[0-9]+/ && $5~/[a-z]+[0-9]+/ &&
$7~/[a-z]+[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12s %12s\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[0-9]+\.[0-9]+/ && $5~/[0-9]+\.[0-9]+/ &&
$7~/[a-z]+[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12.5f %12s\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[a-z]+[0-9]+/ && $5~/[0-9]+\.[0-9]+/ &&
$7~/[a-z]+[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12s %12.5f %12s\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
else if (NF == 7 && $3~/[0-9]+\.[0-9]+/ && $5~/[a-z]+[0-9]+/ &&
$7~/[0-9]+\.[0-9]+/ ) {i++;
printf ("%-4d %4s %5d %5d %5d %12.5f %12s %12.5f\n",i ,$1,
$2,$4,$6,$3,$5,$7)
next;}
}
{if (NF==0) print }
{if (NF==2) printf ("%-12s %12.5f\n",$1 ,$2)}
-- _______________________________________________________________________ Angelo Vargas Laboratory of Technical Chemistry Department of Chemical Engineering and Industrial Chemistry Swiss Federal Institute of Technology (ETHZ) ETH Hönggerberg, Telefon: 0041/1/633 42 32, Room HCl E 129 Zürich - Switzerland Fax: 0041/1/632 11 63 E-mail: vargas_at_tech.chem.ethz.ch http://mercury.ethz.ch/members/vargas/ ________________________________________________________________________Received on 2003-03-19 12:31:40
This archive was generated by hypermail 2.2.0 : 2006-11-02 07:00:02 CET