useful python tools that I use to streamline my work.
Project description
Project Description
ben-science-tools (bst) is meant to contain tools that Ben uses to streamline some of his porcesses while working on computaional chemistry. The project currently has two main modules process_data which is used for log file or computaional chemistry output file processing and analysis, and input_file_maker which is used to generate file inputs for computational chemistry
Documentation
process_data
Functions
statp
takes a file patern and returns the number of stationary points in each file that fits that pattern.
Parameters
----------
file_patern (str) : a string that matches a certain string
Returns
-------
a string that gives nomber of occurences and line numbers of stationary points
rxn_coord_list_format
rxn_coord_list_format takes a list of energies or enthalpies and returns a new list where each value is duplicated. This formatted list can be used to create a step-like reaction coordinate plot.
Parameters
----------
reaction_list (list[float]) : a list of floating point numbers representing energies or enthalpies
Returns
-------
a list of floating point numbers with each value duplicated for better plotting of reaction coordinates
Classes
out_file_scraper
This is a parent file scraper class meant to be altered or used for scraping log files for computations.
Attributes
----------
path : str
a path to an output file
file_list : list
a list of strings where each item is the corrsponding line in the file.
Methods
-------
`read_in_file()`
Reads in a file and retruns a list where each line is an item in the list
Parameters
----------
file_name : str
a path to an output file
Returns
-------
None
assignes self.file_list a list of all the lines in a file where each item in the list is an item.
`set_flag_function()`
Create the flag_functions dictionary mapping flag strings to the subparsing functions
Parameters
----------
flag : str
this is the flag you plan to add to the flag_functions dictionary
function_string : str
this is the method you plan to call if the flag is found
Returns
-------
None
Adds to the self.flag_functions dictionary
g16_scraper
This is a child class of out_file_scraper. To be a general scraper for Gaussian 16 output files
Attributes
----------
input_line : str
this is the input line used in the original gjf file
checkpoint_line : str
The "%chk=" in the original gjf file
nproc_line : str
The "%nproc=" in the original gjf file
memory_line : str
The "%mem=" line in the original gjf file
charge : int
Represents the charge of the system in the original gjf file
mult : int
represents the multiplicity of the system in the original gjf file
start_geometry: list[str]
the starting geometry of the sytem in the original gjf file
Methods
-------
`get_input_lines()`
Extracts the input information of the gaussian file
Parameters
----------
self
index : int
The index of the line this parsing function's flag is found in the file_list
Returns
-------
None
assigns respective values to:
checkpoint_line : str
nproc_line : str
memory_line : str
input_line : str
charge : int
multiplicity : int
start_geometry : list[str]
`recreate_gjf()`
Recreates the most basic starting gjf file (does not inclued anything after the starting geometry)
Parameters
----------
self
Returns
-------
str
a formatted string of a gjf file from the start of the run
g16_optfreq
Child of the g16_scraper. Meant to serve as a file scraper for Gaussian16 frequency calculations
Attributes
----------
zero_point_correction : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
thermal_correction_to_energy : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
thermal_correction_to_enthalpy : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
thermal_correction_to_gibbs_free_energy : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
sum_of_electronic_and_zero_point_energies : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
sum_of_electronic_and_thermal_enthalpies : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
sum_of_electronic_and_thermal_energies : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
sum_of_electronic_and_thermal_free_energies : float
unit: hartrees/particle
gives the gaussian calculated floating point number.
zero_point_energy :float
unit: hartrees/particle
gives the zero point energy of the system
vibrational_thermal_contributions : dict {str : tuple(str,float)}
keys:
"Thermal_Energy"
unit : kcal/mol
returns a list of tuples with the the name : str of the of the contribution at index 0 and the value : float at index 0
"CV" (specific Heat)
unit : cal/(mol * kelvin)
returns a list of tuples with the the name : str of the of the contribution at index 0 and the value : float at index 0
"S" (Entropy)
unit : cal/(mol * kelvin)
returns a list of tuples with the the name : str of the of the contribution at index 0 and the value : float at index 0
Methods
-------
`get_thermochemistry_properties()`
Assigns the thermochemistry properties
Parameters
----------
index : int
The index of the starting line for the thermochemistry section in an opt freq gaussian job
Returns
-------
None
Assigns values to the following attributes:
zero_point_correction : float
thermal_correction_to_energy : float
thermal_correction_to_enthalpy : float
thermal_correction_to_gibbs_free_energy : float
sum_of_electronic_and_zero_point_energies : float
sum_of_electronic_and_thermal_energies : float
sum_of_electronic_and_thermal_enthalpies : float
sum_of_electronic_and_thermal_free_energies : float
zero_point_energy : float
vibrational_thermal_contributions
input_file_maker
Functions
Classes
xyz_atom
an atom with x, y, and z coordinates
Attributes
----------
x_val : float
x postion
y_val : float
y postion
z_val : float
z postion
atom_type : str
the atomic coded for an atom i.e. C for carbon
Methods
-------
`as_string()`
returns a formatted string of atom type and xyz data
Parameters
----------
None
Returns
-------
A formatted string of atom type and xyz data
xyz_molecule
a list of xyz_atoms
Attributes
----------
atom_list : list[xyz_atom]
Methods
-------
`as_string()`
returns a formatted string of atom type and xyz data
Parameters
----------
None
Returns
-------
A formatted string of atom type and xyz data for each atom in the molecule on a new line
"""
`add_atom()`
adds an atom to the atom list
Parameters
----------
new_atom (xyz_atom)
Returns
-------
None
g16_input
A formatting object for g16_inputs
Attributes
----------
checkpoint : str
The name of the checkpoint file
file_name : str
The name of the associated input file
geometry : xyz_molecule
The systems geometry information
mem : int
The memory usage of the calculation in GB. default is 1
nproc : int
the number of processors used in the cacluation the default is 36
input_line : str
The input line of the input file
extra : str
Any information that may come after the geometry section
title_card : str
The Title card of the input file
charge : charge
The charge of the system
spin_mult : int
The spin multiplicity of the system
colors
colors contains color pallets. in the form of a dictionary where keys are the name of the color and values are hex representations.
mines_primary
"dark_blue":"#21314d", "blaster_blue" : "#09396C", "light_blue" : "#879EC3" , "colorado_red" : "#CC4628", "pale_blue" : "#CFDCE9"
mines_neutral
"white" : "#FFFFFF", "light_gray" : "#AEB3B8", "silver" : "#81848A", "dark_gray" : "#75757D"
mines_accecnt
"earth_blue" : "#0272DE", "muted_blue" : "#57A2BD", "energy_yellow" : "#F0F600", "golden_tech" : "#F1B91A", "environment_green" : "#80C342", "red_flannel" : "#B42024"
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ben_sci_tools-0.2.3.tar.gz
.
File metadata
- Download URL: ben_sci_tools-0.2.3.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e5fd5df0665cb79f5824345cf26d9ffdf7d84b7d131fdcbb8e9f122264631ea |
|
MD5 | 866442b41b3d297c04316c8f662c0ca6 |
|
BLAKE2b-256 | 03bc38e7a0d7df10370159a135bae8d2c69181927d25a94b682cb3d694c05aa6 |
File details
Details for the file ben_sci_tools-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: ben_sci_tools-0.2.3-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.20
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a9b24b4e408127fcf226cbdbcfbc8027d1704db71c989877c1f1b7bc3b878b9 |
|
MD5 | 9f6d254fb9a7fb540669c48e569a0b1c |
|
BLAKE2b-256 | 22564093d2c90b134c56dba5ae5cb2d7966a835d54e33cd3a13819ef06ad48ea |