I am looking for a way to convert XYZ coordinates into z-matrix for Gaussian input files. I need to specify certain coordinates in the matrix, therefore, the automatic built-in function from gaussview isn't of much help. Do you know of a program that can help me? Thanks in advance for your help!
Try Open Babel, the windows GUI has a lot of features that may be of help depending on what are those specifics you need in your Z-matrix.
Avogadro, nice, clean and very user friendly. Just draw the molecule, then navigate to menu Extensions → Gaussian. Here you can format and select z-matrix for Gaussian input.
- You can hand pick the atoms that define bond lengths, angles and dihedrals
- You can save as: GamessUS, GamessUK, Gaussian z-mat, mopac, xyz
If you want to convert back to xyz with obabel (for example after replacing a variable in the zmat with a range of values), use mopac (mopin in obabel).
Molden takes a bit to get used to, but this task can be done quite well there.
Gaussian provides all you need to do this with the newzmat program. It literally does all this, no need for 3rd party software.
I found it works best to put the Cartesian coordinates in a file by themselves and save it as
xyz, then in the command line just run (Note the atom types need to be in front of the coordinates so
C XXXX YYYYY ZZZZZ would be one line in the file if your first atom was carbon)
newzmat -ixyz name_of_xyz_file
It will output
name_of_xyz_file.com in z-matrix format.