Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skyeav/orcafunctionalhub
OrcaFunctionalHub facilitates molecular modeling and computational chemistry tasks using the Orca quantum chemistry package. The script automates the conversion of SMILES representations of molecules into 3D coordinates, performs geometry optimization, and executes time-dependent density functional theory (TDDFT) calculations.
https://github.com/skyeav/orcafunctionalhub
computational-chemistry docker julia orca-quantum-chemistry quantum-chemistry
Last synced: about 1 month ago
JSON representation
OrcaFunctionalHub facilitates molecular modeling and computational chemistry tasks using the Orca quantum chemistry package. The script automates the conversion of SMILES representations of molecules into 3D coordinates, performs geometry optimization, and executes time-dependent density functional theory (TDDFT) calculations.
- Host: GitHub
- URL: https://github.com/skyeav/orcafunctionalhub
- Owner: SkyeAv
- License: mit
- Created: 2024-10-23T01:31:03.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-22T21:57:51.000Z (about 1 month ago)
- Last Synced: 2024-11-22T22:35:28.043Z (about 1 month ago)
- Topics: computational-chemistry, docker, julia, orca-quantum-chemistry, quantum-chemistry
- Language: Julia
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# OrcaFunctionalHub
## Overview
**OrcaFunctionalHub** is a Julia script designed to facilitate molecular modeling and computational chemistry tasks using the Orca quantum chemistry package. The script automates the conversion of SMILES representations of molecules into 3D coordinates, performs geometry optimization, and executes time-dependent density functional theory (TDDFT) calculations.
## Features
- **3D Coordinate Generation**: Converts SMILES formulas into 3D coordinates using RDKit.
- **Query Generation**: Creates and writes Orca input files for different computational tasks.
- **Output Parsing**: Parses output files from Orca to extract relevant information such as optimized coordinates and spectra data.
- **Data Visualization**: Generates and saves absorbance spectra graphs based on TDDFT calculations.
- **Configurable Input**: Uses YAML configuration files to specify molecular properties and calculation parameters.## Requirements
- **Julia**: The script is written in Julia and requires a Julia environment.
- **Packages**: The following Julia packages are needed:
- `FilePathsBase`
- `LaTeXStrings`
- `DataFrames`
- `PyCall`
- `Plots`
- `YAML`
- `CSV`
- **RDKit**: The RDKit library must be installed and accessible through Python.## Installation
1. **Install Julia**: Download and install Julia from [the official website](https://julialang.org/downloads/).
2. **Install Required Packages**: Use the Julia package manager to install the required packages:
```julia
using Pkg
Pkg.add("FilePathsBase")
Pkg.add("LaTeXStrings")
Pkg.add("DataFrames")
Pkg.add("PyCall")
Pkg.add("Plots")
Pkg.add("YAML")
Pkg.add("CSV")
```
3. **The RDKit library must be installed and accessible through Python** You can install RDKit using conda:
```bash
conda install -c conda-forge rdkit
```
Confirm that RDKit is installed correctly by opening a Python session and importing the library:
```python
import rdkit
print(rdkit.__version__)
```
## Usage### Create a YAML Configuration File
Specify the molecules and calculation parameters in a YAML file. An example is provided below:
```yaml
# Skye Goetz (CalPoly) 10/22/2024Molecules :
# [[ list of molecules and attributes ]]
# smiles formulas REQUIRE explicit hydrogens- SmilesFormula : "[CH3][CH3]"
MolecularCharge : 0
MolecularMultiplicity : 1TightOpt :
# [[ TightOpt Query Parameters ]]Functional : PBE0
BasisSet : Def2-SVPD
SolventModel : SMD
SolventToUse : ethanolScanAngle :
# [[ Scan Angle Query Parameters ]]Functional : PBE0
BasisSet : Def2-SVPD
SolventModel : SMD
SolventToUse : ethanolScanType : D
Angles :
# [[ List Of Angles For Geometry Scan ]]- 0
- 1
- 4
- 6Advanced :
ScanRange :
# [[ In Degrees ]]
- 0
- 90NumberOfScans : 10
TDDFT :
# [[ TDDFT Query Parameters ]]Functional : CAM-B3LYP
BasisSet : Def2-TZVPD
SolventModel : CPCM
SolventToUse : ethanolAdvanced :
Nroots : 10
Maxdim : 100AdvancedSettings :
# [[ Configures OrcaFunctionalHub ]]
NumberOfGeometryScansPerTDDFTCalculation : 1
```## Run the Script
Execute the Julia script with the path to your YAML file:
```bash
julia OrcaFunctionalHub.jl path/to/config.yaml
```## Output
The script generates several output files, including:
- Orca input files for each calculation.
- XYZ files containing molecular coordinates.
- Output files containing results from Orca.
- Graphs of absorbance spectra saved as PNG files.### Author
Skye Goetz (CalPoly)
Date: 10/22/2024### License
This project is open-source. Please feel free to modify and distribute the code under the same terms as it is provided.