Dolata Research Group, Department of Chemistry, University of Arizona, Tucson, AZ 85721, babel@mercury.aichem.arizona.edu
This software is provided on an "as is" basis, and without warranty of any kind, including but not limited to any implied warranty of merchantability or fitness for a particular purpose.
In no event shall the authors or the University of Arizona be liable for any direct, indirect, incidental, special, or consequential damages arising from use or distribution of this software. The University of Arizona also shall not be liable for any claim against any user of this program by any third party.
PLEASE REGISTER
We don't want any money for Babel (unless of course you insist), but we would like to know who has a copy so that we can notify people about updates and bug fixes.
You can register by sending e-mail to babel@mercury.aichem.arizona.edu and letting us know the following: who you are, where you are, what platform you're running Babel on, which file conversions you commonly use.
We are very open to suggestions. If there's anything you like or don't like about the program please let us know. Also if there are file formats you would like to see supported let us know.
Thanks for downloading this copy of babel. With this program we hope to implement a general framework for converting between file formats used for molecular modeling.
The menu interface can be accessed by typing:
babel -m
The command line input has the following format:
babel [-v] -iitype infile [keywords] -oout_type outfile [keywords2]
All arguments surrounded by [] are optional. The -v flag is optional and is used to produce verbose output. The -i flag is used to set the input type. The following input type codes are currently supported.
alc -- Alchemy file
prep -- AMBER PREP file
bs -- Ball and Stick file
bgf -- MSI BGF file
car -- Biosym .CAR file
boog -- Boogie file
caccrt -- Cacao Cartesian file
cadpac -- Cambridge CADPAC file
charmm -- CHARMm file
c3d1 -- Chem3D Cartesian 1 file
c3d2 -- Chem3D Cartesian 2 file
cssr -- CSD CSSR file
fdat -- CSD FDAT file
gstat -- CSD GSTAT file
dock -- Dock Database file
dpdb -- Dock PDB file
feat -- Feature file
fract -- Free Form Fractional file
gamout -- GAMESS Output file
gzmat -- Gaussian Z-Matrix file
gauout -- Gaussian 92 Output file
g94 -- Gaussian 94 Output file
gr96A -- GROMOS96 (A) file
gr96N -- GROMOS96 (nm) file
hin -- Hyperchem HIN file
sdf -- MDL Isis SDF file
m3d -- M3D file
macmol -- Mac Molecule file
macmod -- Macromodel file
micro -- Micro World file
mm2in -- MM2 Input file
mm2out -- MM2 Output file
mm3 -- MM3 file
mmads -- MMADS file
mdl -- MDL MOLfile file
molen -- MOLIN file
mopcrt -- Mopac Cartesian file
mopint -- Mopac Internal file
mopout -- Mopac Output file
pcmod -- PC Model file
pdb -- PDB file
psin -- PS-GVB Input file
psout -- PS-GVB Output file
msf -- Quanta MSF file
schakal -- Schakal file
shelx -- ShelX file
smiles -- SMILES file
spar -- Spartan file
semi -- Spartan Semi-Empirical file
spmm -- Spartan Mol. Mechanics file
mol -- Sybyl Mol file
mol2 -- Sybyl Mol2 file
wiz -- Conjure file
unixyz -- UniChem XYZ file
xyz -- XYZ file
xed -- XED file
The -o flag is used to set the output file type. The following output type codes are currently supported.
diag -- DIAGNOTICS file
t -- Alchemy file
bs -- Ball and Stick file
bmin -- Batchmin Command file
caccrt -- Cacao Cartesian file
cacint -- Cacao Internal file
cache -- CAChe MolStruct file
c3d1 -- Chem3D Cartesian 1 file
c3d2 -- Chem3D Cartesian 2 file
d -- ChemDraw Conn. Table file
con -- Conjure file
contmp -- Conjure Template file
cssr -- CSD CSSR file
feat -- Feature file
fhz -- Fenske-Hall ZMatrix file
gamin -- Gamess Input file
gcart -- Gaussian Cartesian file
g -- Gaussian Z-matrix file
gotmp -- Gaussian Z-matrix tmplt file
hin -- Hyperchem HIN file
icon -- Icon 8 file
i -- IDATM file
macmol -- Mac Molecule file
k -- Macromodel file
micro -- Micro World file
mi -- MM2 Input file
mo -- MM2 Ouput file
mm3 -- MM3 file
mmads -- MMADS file
mdl -- MDL Molfile file
ac -- Mopac Cartesian file
ai -- Mopac Internal file
pc -- PC Model file
p -- PDB file
report -- Report file
spar -- Spartan file
mol -- Sybyl Mol file
mol2 -- Sybyl Mol2 file
maccs -- MDL Maccs file file
xed -- XED file
unixyz -- UniChem XYZ file
x -- XYZ file
To convert an MM2 output file named mm2.grf to a MOPAC internal coordinate input file named mopac.dat the user would enter:
babel -imo mm2.grf -oai mopac.dat
To perform the above conversion with the keywords PM3 GEO-OK T=30000 in the file mopac.dat the user would enter:
babel -imo mm2.grf -oai mopac.dat "PM3 GEO-OK T=30000"
Note the use of the double quotes around the keywords.
The Cartesian to internal algorithm goes kind of like this :
put atom 1 at the origin
for i = 2 to num_atoms
{
find the closest atom with atom number < i
call that atom NA(i)
}
If atoms are not numbered properly you end up with very long bonds.
Having these "bonds" in your Z-matrix tends to create all sorts of
problems during geometry optimization.I've added a new flag, "-renum" to Babel 1.1. If this flag is used, Babel will attempt to renumber the structure so that the Z-matrix is contiguous.
Renumbering in Babel 1.1 is accomplished using the -renum flag. There are two ways to this. If you use -renum by itself, Babel will use atom 1 in the input structure as atom 1 in the Z-matrix. If you use -renum X where X is an integer, Babel will use atom X as atom 1 in the Z-matrix.
Examples:
babel -ixyz myfile.xyz -renum -omopint myfile.dat "AM1 MMOK T=30000"
will create a MOPAC input file with atom 1 from myfile.xyz as atom 1 in myfile.dat.
babel -ixyz myfile.xyz -renum 9 -omopint myfile.dat "AM1 MMOK T=30000"
will create a MOPAC input file with atom 9 from myfile.xyz as atom 1 in myfile.dat.
There is currently one limitiation to the -renum flag. The file must be contiguous. The method won't currently work for bimolecular complexes or anything like that. I'll try and fix this up in the near future.
If you run into any problems with this, please don't hesitate to contact me.
When converting a multi structure file it is necessary to supply a keyword after the input file name. This keyword specifies the number of files to extract from the iput file. The keyword can be either a number or the word all. Hopefully the examples below will make this a little more clear.
To extract all the structures from a multi-structure Macromodel file called mols.out and write the structures as pdb files the user would type:
babel -imacmod mols.out all -op mols.pdb
To extract the structures into a series of single structure files use the -split keyword.
babel -imacmod mols.out all -op mols.pdb -split
To extract only the first five structures from a multi-structure Macromodel file and write the structures as mopac internal coordinate file the user would type
babel -imacmod mols.out "1-5" -oai mols.int
To add hydrogens to a CSD fractional coordinate file called input.cssr and output the file as a MOPAC internal coordinate input file named output.add the user would type:
babel -icf input.cssr -h -oai output.add
To delete hydrogens from a Macromodel file named benzene.dat and output the file as an XYZ file name benzene.new the user would type
babel -imacmod benzene.dat -d -oxyz benzene.new
Babel is capable of reading the NCI database using the -imaccs (not the -imaccs2) flag. Here are a couple of examples of how to convert NCI 3D.
If you want to convert the entire database to one huge Sybyl mol2 file, you would type the following:
If you want to convert the entire database to one huge Sybyl mol2 file and
add hydrogens, you would do the following:
babel -h -imaccs nci3d.mol -omol2 CON nci3d.mol2
Let's say you're slightly less ambitious and you only want to look at the
first 500 structures. Then you would do this:
babel -h -imaccs nci3d.mol "1-500" -omol2 CON > nci3d.mol2
If you wanted to look at the next 500 structures you would do this:
babel -h -imaccs nci3d.mol "501-1000" -omol2 CON > nci3d.mol2
To read the first 100 structures and output them to individual MacroModel
files named nci0001.dat, nci0002.dat, nci0003.dat, etc., you would type:
babel -h -imaccs nci3d.mol "1-100" -omacmod nci.dat
To read a MacMolecule file named foo.bar where X is substituted for Cl
and Y is substituted for Cobalt and write an MM2 output type file named
bar.baz the user would type:
babel -imacmol "X/Cl Y/Co" foo.bar -omo bar.baz
babel -ixyz test.xyz -od test.cdx x
The default view is down the z axis. Babel will also write MDL Molfile
type files which can be read by ChemDraw, ChemIntosh, ChemWindow, and
Chem3D.
To read a GAMESS output file named exam01.log and convert it to an XYZ
file named exam01.xyz the user would type:
babel -igamout exam01.log -ox exam01.xyz
Babel does not calculate the point group for you. You'll have to pull
out your copy of Cotton and insert that manually. You'll also have to
specify your own $SYSTEM, $BASIS, $SCF, $GUESS, etc. cards.
The type of input file is controlled by specifying a keyword on the
Babel command line. The keywords are
To read an xyz file named coords.xyz and convert it to a GAMESS input
file in Cartesian coordinates named coords.in the user would type:
babel -ixyz coords.xzy -ogamin coords.in cart
To do the same conversion by have the GAMESS input in Gaussian Z-matrix
style the user would type
babel -ixyz coords.xzy -ogamin coords.in zmt
If no keyword is specified the input file will be in Cartesian Coordinates.
babel -igauout file.out all -oxyz file.xyz
To extract all the steps from a Gaussian output file into a series of
files called file0001.xyz, file0002.xyz, etc. You would do this:
babel -igauout file.out all -oxyz file.xyz
To extract only the last step from a Gaussian output file you would do
this:
babel -igauout file.out last -oxyz file.xyz
I made a few concessions with this file format. First, I just translated the
Quanta atom types to element types and let Babel assign hybridizations. Quanta
has alot of strange atom types (i.e. Carbon with 2 Flourines attached) which
don't translate easily to the hybidizized types we use. Second, I found that
the bonding information found in the Quanta files was not alway reliable so I
had Babel assign connectivities.
There is a file called quanta.lis which should be kept in the directory
pointed to by BABEL_DIR. This file contains the numeric quanta type and
corresponding element type. If anything is missing or incorrect you can just
edit this file and fix it.
PDB files - When reading PDB files Babel assigns bonds by examining
interatomic distances and assigning a bond where the interatomic distance
is less than the sum of the atoms covalent radii. There is code in read_pdb.c
to read connections specified in CONECT records, but this code is commented
out. We did this because a number of files available from Brookhaven have
CONECT records specified for only a few of the bonds in the molecule. We
realize that we could determine connectivity in the PDB file by looking
at atom ids and residue types, but we have put this in yet. This feature
will probably be added soon. If you would like to use the explicit CONECT
records in a PDB file see Appendix A. When writing PDB files all residue
types are assigned as UNK.
Have fun,
Pat Walters,
Chief Cook and Bottle-Washer
joplin.biosci.arizona.edu:/pub/Babel
Or from the mirror site ftp.fu-berlin.de:
ftp.fu-berlin.de:/science/chemistry/babel
MacMolecule Files
Since MacMolecule only uses single letter it is often necessary to use
different names (i.e. X for Cl). The user can specify substituted atom
names on the command line.ChemDraw Files
The user can supply a keyword to indicate the viewing axis for the
ChemDraw projection. To convert an XYZ file
named test.xyz to a ChemDraw file named test.cdx with the view down the
y axis the user would type:GAMESS FILES
GAMESS Output Files
The output files are the .log files created by redirecting screen output.
Babel first looks for a set of geometry optimized coordinates. If the
output file does not contain geometry optimized coordinates Babel will
use the input coordinates. If Babel uses the input coordinates it will
convert from Bohr to Angstroms.GAMESS Input Files
Babel is capable of creating three types of GAMESS input files
COORD=CART Cartesian Coordinates
COORD=ZMAT Gaussian Style Z-matrix
COORD=ZMTPC MOPAC Style Z-matrix
cart - Cartesian
zmt - Gaussian style Z-matrix
zmtmpc - MOPAC style Z-matrix
Gaussian Files
NOTE : The output file format for Gaussian94 in different from
that used by previous versions of Gaussain. Use the -g94 flag
to read Gaussian94 output files.
Babel 1.6 features a number of improvements aimed at the Gaussian
user.
Quanta Files
Quanta files are binary and different systems use different binary
representations (big endian vs. little endian). So, if you are going to use
Babel on a Quanta file you should run Babel on the same type of machine which
created the Quanta file.Other Stuff
Current Limitations
Macromodel - bond orders are not always correctly assigned for conjugated
pi systems.Reporting Bugs
Noone is perfect, and we're sure that there are still a few glitches in this
program. If you happen to find such a glitch please send a mail message to
babel@mercury.aichem.arizona.edu
describing the nature of the problem.
If possible please include the input file so we can use it to determine the
cause of the problem.Credit Where Credit is Due
Bable began it's life a program called convert written by Ajay Shah.
Babel in its current form was written by Pat Walters with some help
from Matt Stahl.Coming Attractions
We consider Babel to be a constantly evolving program. Hopefully
modules to handle new file formats will be contributed and the program
will become useful to an even wider range of chemists. We currently have
a number of additions to Babel underway at the
U of A. Among these are:
1. A real users manual,
2. A developers guide which will assist programmers in creating new
modules (Actually I have finished a draft of the Babel Developers Guide.
If you'd like a copy send me some mail -
pat@mercury.aichem.arizona.edu).Please Write
We would really appreciate any and all input from babel users. Please
send comments, praise, flames, and job offers :-) to
babel@mercury.aichem.arizona.edu
Source
Babel is available by anonymous FTP from:
General part and formatting of README:
Burkhard Kirste,
Wolfgang Dreißig, 1994/04/20, 1996/06/29, 1999/02/15