Re: structure formate convertor

Search:

Re: structure formate convertor

From: angelo vargas <vargas_at_email.domain.hidden>
Date: Wed, 19 Mar 2003 12:35:10 +0100
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)

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