Package: gaussianutility
Gaussian UtilityThe Gaussian Utility is a Python package that provides useful utilities for working with Gaussian 09/16 software.Gaussian is a computer program used by chemists, chemical engineers, biochemists, physicists, and other scientists for performing quantum chemistry calculations.The Gaussian Utility package offers several functionalities to enhance the usage of Gaussian software.
Especially, this package can address ONIOM-type Gaussian input/output files, which is not widely available in ASE.Most of the scripts that work on a Gaussian output file are written based Density Functional Theory calculations.
Hence, the compatibility with different types of calculations, e.g., coupled cluster, Hartree-Fock, semi-empirical, and Møller–Plesset perturbation methodes has not been confirmed yet.The package includes the following scripts:Convert input structure file type:com2vasp: Converts Gaussian input files (.com) to VASP input files (.vasp).com2xyz: Converts Gaussian input files (.com) to XYZ coordinate files (.xyz).vasp2com: Converts VASP input files (.vasp) to Gaussian input files (.com).Extract structure from output file:out2com: Generate Gaussian input files (.com) from Gaussian output files (.out).out2xyz: Generate XYZ coordinate files (.xyz) from Gaussian output files (.out).Spectrum utilities:spectrum: Produces Normal-IR, Raman, or UV-Vis spectra from Gaussian output files (.out).Other utilities:gibbsTemp: Calculates the Gibbs free energies at given temperatures from a Gaussian output file with frequency calculation.printE: Prints the energy from a Gaussian output file.freezeLayer: Freezes a specific ONIOM layer of atoms in a Gaussian input file with ONIOM formulation.sortInput: Sorts the atoms in a Gaussian input file based on their atomic numbers, x, y, or z coordiate, or ONIOM layer.InstallationGaussian Utility is a pip installable package:pip install gaussianutilityAlternatively, it can be installed from GitHub following these steps:Clone the GitHub repository:git clone https://github.com/Sungil-Hong/gaussianutility.gitNavigate to the cloned repository:cd gaussianutilityInstall the package usingsetuptools:pip install .DependenciesThe Gaussian Utility package has the following dependencies:numpy>=1.17.2pandas>=1.1.0periodictable>=1.6.1aseargparse>=1.1matplotlib>=3.5.3mendeleev>=0.12.0These dependencies will be automatically installed when you install the package usingsetuptools.UsageThe Gaussian Utility package provides command-line utilities that can be accessed by running the corresponding command.
Here are some examples of how to use the utilities:Convert a Gaussian input file to a VASP input file:com2vasp input.comConvert a Gaussian input file to an XYZ coordinate file:com2xyz input.comConvert a VASP input file to a Gaussian input file:vasp2com output.vaspExtract optimized geometry to a Gaussian input file from a Gaussian output file:out2com output.outExtract optimized geometry to an XYZ coordinate file:out2xyz output.outProduce a spectrum from a Gaussian output file:spectrum type file_name1 [ratio1 [file_name2 ratio2 ...]]Freeze a specific ONIOM layer of atoms in a Gaussian input file:freezeLayer [-i [layer index]] file_nameCalculate the Gibbs free energy at a given temperature:gibbsTemp file_name temp1 [temp2 [step_number]]Print the energy of a Gaussian output file:printE file_nameSort the atoms in a Gaussian input file based on their atomic numbers:sortInput [-s [sort index]] [-o [order index]] file_nameAuthorsThe Gaussian Utility package was developed by Sungil Hong. For any inquiries or issues, you can contact Sungil Hong via email atsuh33@pitt.edu.LicenseThe Gaussian Utility package is distributed under the MIT License. Please refer to theLICENSEfile for more information.Additional InformationFor more information about the Gaussian Utility package, you can visit theGitHub repository. The repository contains the source code, documentation, and examples of usage for the package.