ichor
is a Python package used to simplify data management from computational chemistry programs and aid with machine learning force field development. If you would like to request missing features or run into a bug, don't hesitate to create an issue.
Here is a list of things that the package is intended to do:
- provide interfaces to any computational chemistry software to allow for easy switching between similar software and results comparison.
- implement flexible data structures to allow for data management of hundreds of thousands of calculations from multiple programs.
- integrate common database formats for efficient data storage, sharing, and post-processing
- provide interfaces to workload managers on compute clusters to automate job submission
- collate tools for machine learning dataset and model analysis, as well as molecular dynamics simulation benchmarking
Realistically, the file management portion of ichor
(as well as the workload manager integration) is very general, so it can be used for any type of data that might not even be computational chemistry related. However, the focus of the source code itself is on computational chemistry and machine learning force field development.
The namespace package ichor
is divided into three parts, ichor.core
, ichor.hpc
, and ichor.cli
.
The ichor.core
package contains classes and functions which make it easy to handle a very large number of files, perform many calculations with the outputs contained in the file, as well as aid with machine learning force field development.
The ichor.hpc
package is used to submit jobs on compute clusters (SGE/SLURM).
The ichor.cli
package provides a simple to use command line interface (CLI), providing an easy access to access the most commonly used tools from ichor.
You will need to have an ichor_config.yaml
file in your home directory for configuration settings relating to HPC clusters, refer to the documentation for examples. An example ichor_config.yaml
is provided in the repository.
The published paper for ichor
can be found here.
Documentation of all three packages, including examples, can be found here.
Contributions are very welcome! More information on how to correctly contribute can be found in the CONTRIBUTING.md file.