Babel version 1.1 Copyright (C) 1992,1993,1994 by Pat Walters and Matt Stahl Dolata Research Group Department of Chemistry University of Arizona Tucson, AZ 85721 babel@mercury.aichem.arizona.edu
Babel is avialiable via anonymous ftp from joplin.biosci.arizona.edu in pub/Babel (ftp).
Babel is capable of assigning hybridization, bond order, and connectivity when these elements are not present in the input file.
Babel has the ability to add and delete hydrogens from any file format.
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.
Alchemy AMBER PREP Ball and Stick Biosym .CAR Boogie Cacao Cartesian Cambridge CADPAC CHARMm Chem3D Cartesian 1 Chem3D Cartesian 2 CSD CSSR CSD FDAT CSD GSTAT Feature Free Form Fractional GAMESS Output Gaussian Z-Matrix Gaussian Output Hyperchem HIN MDL Isis Mac Molecule Macromodel Micro World MM2 Input MM2 Ouput MM3 MMADS MDL MOLfile MOLIN Mopac Cartesian Mopac Internal Mopac Output PC Model PDB Quanta ShelX Spartan Spartan Semi-Empirical Spartan Mol. Mechanics Sybyl Mol Sybyl Mol2 Conjure Maccs 2d Maccs 3d UniChem XYZ XYZ XED
Alchemy Ball and Stick Batchmin Command Cacao Cartesian Cacao Internal CAChe MolStruct Chem3D Cartesian 1 Chem3D Cartesian 2 ChemDraw Conn. Table Conjure Conjure Template CSD CSSR Feature Fenske-Hall ZMatrix Gamess Input Gaussian Cartesian Gaussian Z-matrix Gaussian Z-matrix tmplt Hyperchem HIN Icon 8 IDATM Mac Molecule Macromodel Micro World MM2 Input MM2 Ouput MM3 MMADS MDL Molfile Mopac Cartesian Mopac Internal PC Model PDB Report Spartan Sybyl Mol Sybyl Mol2 MDL Maccs file XED UniChem XYZ XYZ
The menu interface can be accessed by typing:
babel -m
The command line input has the following format:
babel [-v] -i
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:
The -o flag is used to set the output file type. The following output type codes are currently supported:
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.
will create a MOPAC input file with atom 1 from myfile.xyz as atom 1 in myfile.dat.
babel -ix myfile.xyz -renum 9 -oai 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.
babel -ik mols.out all -op mols.pdb
The output files would be written as mols1.pdb, mols2.pdb, etc.
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 -ik mols.out "1-5" -oai mols.int
The output files would be written as mols1.int, mols2.int, etc.
It is sometimes necessary to convert a multi-structure Macromodel file into a multi-structure file of another type. This can be a handy way of viewing Macromodel movies with the Xmol program. Babel accomplishes this by sending the output to the console using the output file name CON (note the use of uppercase letters). Once again this is better explained by an example. To convert all the structures in a multi-structure Macromodel file called mols.out to a multi-structure XYZ file called mols.xyz the user would type:
babel -ik mols.out all -ox CON > mols.xyz
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 -ik benzene.dat -d -ox benzene.new
Babel is capable of reading the NCI database using the -imaccs3 (not the -imaccs2 ) flag. Here are a couple of examples of how to convert NCI 3D.
babel -imaccs3 nci3d.mol all -omol2 CON > nci3d.mol2
If you want to convert the entire database to one huge Sybyl mol2 file and add hydrogens, you would do the following:
babel -h -imaccs3 nci3d.mol all -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 -imaccs3 nci3d.mol "1-500" -omol2 CON > nci3d.mol2
If you wanted to look at the next 500 structures you would do this:
babel -h -imaccs3 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 -imaccs3 nci3d.mol "1-100" -ok nci.dat
To read a MacMolecule file named foo.bar where X is substituted for Cl and Y is substitued 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 -ix 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
The type of input file is controlled by specifying a keyword on the Babel command line. The keywords are
babel -ix 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 -ix coords.xzy -ogamin coords.in zmt
If no keyword is specified the input file will be in Cartesian Coordinates.
babel -igauout file.out all -ox CON > 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 -ox file.xyz
To extract only the last step from a Gaussian output file you would do this:
babel -igauout file.out last -ox 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 a lot of strange atom types (i.e. Carbon with 2 Fluorines attached) which don't translate easily to the hybridized types we use. Second, I found that the bonding information found in the Quanta files was not always 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 examining interatomic distances and assigning a bond where the interatomic distance is less than the sum of the atoms convalent 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