Welcome to the official repository of Substitutional Alloying Using Crystal Graph Neural Networks. This repository contains the code used in the paper authored by Dario Massa, Daniel Cieslinski, Amirhossein Naghdi, and Stefanos Papanikolaou.
This project was developed using Python 3.7.13. To ensure that you have the correct Python version, it is recommended to create a virtual environment.
conda create -n suballoy-env python=3.7.13
conda activate suballoy-env
pip install -r requirements.txt
The periodic table plots require an additional dependency, a webdriver. You can install the geckodriver using Conda as follows:
conda install -c conda-forge firefox geckodriver
Note: The geckodriver requires Firefox to be installed on your system. Make sure it's installed before proceeding.
Please note that due to the data redistribution policies of The Materials Project, we are not able to redistribute the Materials Project dataset in its original form. However, in the res/
directory, you can find pickled data that will allow you to recreate all the plots included in the paper.
If you wish to reproduce plots using the latest data available on The Materials Project, please follow these steps:
-
Obtain your Materials Project API key by following the instructions here.
-
Paste your API key into a file named
mat_proj_api_key.txt
inside the.secrets/
directory. -
Run the following command to download the data:
python mat_proj.py
If you wish to reproduce our results exactly, please filter the downloaded dataframe (res/mp_df.pickle
) with the IDs that we used to create our plots. You can find the list of IDs we used in our dataset at res/mp_id_list.csv
.
After downloading the data, run the following command to process the data necessary for the plots. This command will recreate all files included in the res/
directory.
python produce_plot_data.py
To regenerate all the plots featured in the paper, run the following command:
python make_plots.py
This will create plots and save them in a designated directory.
This project is licensed under the MIT License. See LICENSE
file for more details.
If you use the code or data from this repository in your research, please cite our paper:
https://doi.org/10.48550/arXiv.2306.10766
For further inquiries or if you need assistance, please don't hesitate to open an issue or contact the authors. Enjoy exploring substitutional alloying with crystal graph neural networks!