Skip to main content

GaussParse is a python package to parse Gaussian output files.

Project description

GaussParse

header

Downloads PyPI License

GaussParse is a versatile Python package designed for parsing output files generated by Gaussian software, a widely used computational chemistry tool. This package enables users to efficiently extract essential information and perform various analytical tasks directly from Gaussian output files. Whether you need to visualize energy profiles, analyze IRC (Intrinsic Reaction Coordinate) curves, retrieve summary results, or extract molecular orientations, GaussParse provides a streamlined interface to accomplish these tasks with ease.

✨ Key Features

  • 📈 Energy Profile Plotting: Visualize and analyze energy profiles directly from Gaussian output files.

  • 📉 IRC Curve Plotting: Generate plots of IRC curves to study reaction pathways.

  • 📊 Summary Results Extraction: Extract and summarize key computational results from Gaussian calculations.

  • 🧬 Molecular Orientation Analysis: Retrieve detailed information about molecular orientations and configurations.

  • 📝 Publication-Ready Data: Extract molecular orientation data into a Word file formatted for publication as supplementary information.

GaussParse simplifies the process of post-processing Gaussian output, making it an invaluable tool for computational chemists and researchers working in molecular dynamics, quantum chemistry, and related fields.

🛠️ Installation

Install this project

  pip install GaussParse

📓 Interactive Notebooks with Binder

Try GaussParse directly in your browser without any installation using Binder. Click on any of the following links to launch interactive Jupyter notebooks:

Binder allows you to:

  • Experiment with GaussParse functionality in a live environment

  • Run example notebooks with sample data

  • Learn how to use the package through interactive examples

🚀 Usage Example

📥 Import GaussParse

import GaussParse as gp

📂 Collect txt & log Files

Use template.xlsx to collect all files (.txt & .log) in one folder. Sheet1 contains all Gaussian result files (.log), for instance, g09_exp.log. Sheet2 also contains all Gaussian result file (.txt), for instance, g09_exp.txt

# excel file

xls_file = r'template.xlsx'



# collect log

gp.collect_files_from(xls_file, sheet_name="Sheet1")

# collect txt

gp.collect_files_from(xls_file, sheet_name="Sheet2")

📊 Convert Result Summary to Excel

Convert Gaussian result summary (GaussView 6.0.16) to excel, check the sample file (1,2LO.txt).

# file

gaussian_log = "1,2LO.txt"

# save in excel

gp.result_summary_to_excel(gaussian_log)

summary-result

🔄 Convert Result Summary to Pandas DataFrame

Convert Gaussian result summary (GaussView 6.0.16) to dataframe, check the sample file (1,2LO.txt).

# file

gaussian_log = "1,2LO.txt"

# save in excel

gp.result_summary_to_dataframe(gaussian_log)

📝 Convert Input Orientation to Text Format

Input orientation including center number, atomic number, atomic symbol, and coordinates (X,Y,Z) are all extracted and saved in a text file.

# folder

gaussian_log = r"...\\folder-1"

# save in txt

gp.input_orientation_to_txt(gaussian_log)



# log file

gaussian_log = r"acetone.log"

# save in txt

gp.txt_orientation_to_xyz(gaussian_log)

📈 Plot IRC Profile

Check irc.log,

# file path

plt_data = "irc.log"

# save IRC profile

gp.plot_irc_profile(plt_data)

IRC-profile

📉 Plot Energy Profile

Check energy.xlsx, then load data in an excel file.

# file path

plt_data = 'energy.xlsx'

# plot energy profile and save it

gp.plot_energy_profile(plt_data)

energy-profile

🌐 NBO Parser

Display Gaussian NBO results in the browser

Check nbo.log,

# file

nbo_file = "nbo.log"

# display

gp.nbo_parser(nbo_file)

nbo-parser

For a quick analysis without installing the package, you can use our online web application:

https://gaussnbo.up.railway.app/

This web interface allows you to:

  • Upload your Gaussian NBO log files

  • Analyze NBO data directly in your browser

  • Visualize results without any local installation

📜 License

MIT

📚 Citation

If you use this Python package in your research, please cite it as follows:

Sina Gilassi, (2024). GaussParse: A Python package for parsing Gaussian software output. GitHub repository. https://github.com/sinagilassi/GaussParse

❓ FAQ

For any question, contact me on LinkedIn

👥 Authors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gaussparse-1.3.7.tar.gz (49.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gaussparse-1.3.7-py3-none-any.whl (60.4 kB view details)

Uploaded Python 3

File details

Details for the file gaussparse-1.3.7.tar.gz.

File metadata

  • Download URL: gaussparse-1.3.7.tar.gz
  • Upload date:
  • Size: 49.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for gaussparse-1.3.7.tar.gz
Algorithm Hash digest
SHA256 662e5079141f1440a249c023b29c507b409f896a1e8a6455f45316295731c205
MD5 f6b98f76a9b3713fb7f858995b40ad92
BLAKE2b-256 045e8720ba7c903ee813dc3d21b5d6a5e9402acd65e59739abf60005456ec92e

See more details on using hashes here.

File details

Details for the file gaussparse-1.3.7-py3-none-any.whl.

File metadata

  • Download URL: gaussparse-1.3.7-py3-none-any.whl
  • Upload date:
  • Size: 60.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for gaussparse-1.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 74f93cc754ea73c05b98d65aefb657200dfd379271addd3612e8f1bec922bdab
MD5 89ce0340bd943a075c060b4a88510f52
BLAKE2b-256 f4a6e79ef25689b76b9e120d91e04131430e51b75f9950afccf5925e1afee2be

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page