CSPML is a unique methodology for the crystal structure prediction (CSP) that relies on a machine learning algorithm (binary classification neural network model). CSPML predicts a stable structure for any given query composition, by automatically selecting from a crystal structure database a set of template crystals with nearly identical stable structures to which atomic substitution is to be applied. Pre-trained models are used to select the template crystals. The 33,153 stable compounds (all candidate crystals; obtained from the Materials Project database) and the pre-trained models are embedded in CSPML.
For more details, please see our paper: Crystal structure prediction with machine learning-based element substitution (Accepted 3 May 2022).
- pandas version = 1.3.3
- numpy version = 1.19.2 # tensorflow is compatible with numpy=<1.19.2 (01/14/2022).
- tensorflow version = 2.6.0
- pymatgen version = 2020.1.28
- xenonpy version = 0.4.2 (see this page for installation)
- torch version = 1.10.0 # peer dependency for xenonpy.
- matminer version = 0.6.2 (optional; for calculating the structure fingerprint with local structure order parameters)
-
First install the dependencies listed above.
-
Clone the
CSPML
github repository:
git clone https://github.com/Minoru938/CSPML.git
Note: Due to the size of this repository (about 500MB), this operation can take tens of minutes.
-
cd
intoCSPML
directory. -
Run
jupyter notebook
and opentutorial.ipynb
to demonstrateCSPML
.
- Python 3.8.8
- macOS Big Sur version 11.6
The latest version of CSPML has been added to this repository as the file "CSPML_latest_codes." This file contains the CSPML training codes, which addressed bias in training data with an updated TensorFlow environment. Please refer to read_me.txt in this file for details on usage. This file corresponds to the result of the paper "Shotgun crystal structure prediction using machine-learned formation energies". See the "Details of the CSPML model" section in the paper's supplementary information for details. If you want to use CSPML for actual crystal structure prediction or as a comparison method, I recommend using this version of CSPML.
-
[Materials Project]: A. Jain, S. P. Ong, G. Hautier, W. Chen, W. D. Richards, S. Dacek, S. Cholia, D. Gunter, D. Skinner, G. Ceder, et al., Commentary: The materials project: A materials genome approach to accelerating materi- als innovation, APL materials 1 (1) (2013) 011002.
-
[XenonPy]: C. Liu, E. Fujita, Y. Katsura, Y. Inada, A. Ishikawa, R. Tamura, K. Kimura, R. Yoshida, Machine learning to predict quasicrystals from chemical compositions, Advanced Materials 33 (36) (2021) 2170284.
-
[Local structure order parameters]: N. E. Zimmermann, A. Jain, Local structure order parameters and site fingerprints for quantification of coordination environment and crystal structure similarity, RSC Advances 10 (10) (2020) 6063–6081.