To perform Gaussian approximation of the original Lennard-Jones (LJ) potential curves, run:
python gauss_approx_lj.py
To perform Gaussian approximation of the soft LJ curves, run:
python gauss_approx_soft_lj.py
The optimized Gaussian parameters for each element will be saved in:
gauss_params/lj
for the origianl LJ potentialgauss_params/soft_lj
for the soft LJ potential
To compute the GI descriptors, run the following command:
python gi.py --system --name OPAGIX --sigmas 0.1 0.2 0.3 --mcsh-orde 2 --mof-pool mean --mol-pool com
Required Arguments
--system
: specifies the system typemof
: for metal-organic frameworksmol
: for molecules
--name
: name of the compound- If
--system
ismof
, it will readmof/{name}.cif
- If
--system
ismol
, it will readmol/{name}.xyz
- If
--sigmas
: space-separated list ofsigma
values used to generate the GI descriptors--mcsh-order
: Maximum MCSH order to include in the descriptor--mof-pool
: pooling strategy for MOFsmin
: use the minimum value across the structuremean
: use the mean value across the structure
--mol-pool
:mean
: use the mean value across all atomscom
: compute a single descriptor vector at the center-of-mass
The resulting GI descriptors will be saved in the descriptors/
directory with the filename {system}.csv
.
- NumPy
- SciPy
- Atomic Simulation Environment (ASE)
- PyTorch
- Skorch
- AMPTorch
If you use the GI descriptor scheme in a scientific publication, please cite the following paper:
S. Choi, D. S. Sholl, and A. J. Medford, Gaussian Approximation of Dispersion Potentials for Efficient Featurization and Machine-Learning Predictions of Metal-Organic Frameworks, J. Chem. Phys. 2022, 156, 214108. DOI: https://doi.org/10.1063/5.0091405
- This works was supported by the Department of Energy, Office of Science, Basic Energy Sciences, under Award #DE-SC0020306.
- The codes in
gi.py
is adapted from AMPtorch/CEMT. For installation and instruction of the AMPtorch package, please refer to its official GitHub repo.