Metadata-Version: 2.4
Name: GaussParse
Version: 1.3.5
Summary: GaussParse is a python package to parse Gaussian output files.
Author: Sina Gilassi
Author-email: <sina.gilassi@gmail.com>
License: MIT
Keywords: Python,Gaussian Software,Computational Chemistry,Gaussian Parser,Reaction Energy Profile
Classifier: Development Status :: 1 - Planning
Classifier: Intended Audience :: Education
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: Unix
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas
Requires-Dist: numpy
Requires-Dist: openpyxl
Requires-Dist: xlsxwriter
Requires-Dist: matplotlib
Requires-Dist: jinja2
Requires-Dist: rich
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary


# GaussParse

![header](./statics/header.png)

![Downloads](https://img.shields.io/pypi/dm/GaussParse) ![PyPI](https://img.shields.io/pypi/v/GaussParse) ![License](https://img.shields.io/pypi/l/GaussParse)

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

```bash
  pip install GaussParse
```

## 🚀 Usage Example

### 📥 Import GaussParse

```python
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

```python
# 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 to excel, check the sample file (`1,2LO.txt`).

```python
# file
gaussian_log = "1,2LO.txt"
# save in excel
gp.result_summary_to_excel(gaussian_log)
```

![summary-result](./statics/fig1-1.png)

### 📝 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.

```python
# 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`,

```python
# file path
plt_data = "irc.log"
# save IRC profile
gp.plot_irc_profile(plt_data)

```

![IRC-profile](./statics/trans-TS1.png)

### 📉 Plot Energy Profile

Check `energy.xlsx`, then load data in an excel file.

```python
# file path
plt_data = 'energy.xlsx'
# plot energy profile and save it
gp.plot_energy_profile(plt_data)
```

![energy-profile](./statics/acetone-mechanism-2.png)

### 🌐 NBO Parser

Display Gaussian NBO results in the browser

Check `nbo.log`,

```python 
# file
nbo_file = "nbo.log"
# display
gp.nbo_parser(nbo_file)
```

![nbo-parser](./statics/nbo-2.png)

## 📜 License

[MIT](https://choosealicense.com/licenses/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](https://www.linkedin.com/in/sina-gilassi/)

## 👥 Authors

- [@sinagilassi](https://www.github.com/sinagilassi)
