-
Notifications
You must be signed in to change notification settings - Fork 262
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
41 changed files
with
17,109 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
name: Report a Bug | ||
description: FAIR-Chem bug report | ||
labels: bug | ||
body: | ||
- type: input | ||
id: python-version | ||
attributes: | ||
label: Python version | ||
description: Use `python --version` to get Python version | ||
placeholder: ex. Python 3.11.5 | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: fairchem-version | ||
attributes: | ||
label: fairchem-core version | ||
description: Use `pip show fairchem-core | grep Version` to get fairchem-core version | ||
placeholder: ex. 1.2.1 | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: torch-version | ||
attributes: | ||
label: pytorch version | ||
description: Use `pip show torch | grep Version` to get pytorch version | ||
placeholder: ex. 2.4.0 | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: cuda-version | ||
attributes: | ||
label: cuda version | ||
description: Use `python -c 'import torch; cuda=torch.cuda.is_available(); print(cuda,torch.version.cuda if cuda else None);'` to get cuda version | ||
placeholder: ex. 12.1 | ||
validations: | ||
required: true | ||
|
||
- type: input | ||
id: os | ||
attributes: | ||
label: Operating system version | ||
placeholder: ex. Ubuntu 22.04 LTS | ||
validations: | ||
required: false | ||
|
||
- type: textarea | ||
id: code-snippet | ||
attributes: | ||
label: Minimal example | ||
description: Please provide a minimal code snippet to reproduce this bug. | ||
render: Python | ||
validations: | ||
required: false | ||
|
||
- type: textarea | ||
id: current-behavior | ||
attributes: | ||
label: Current behavior | ||
description: What behavior do you see? | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: expected-behavior | ||
attributes: | ||
label: Expected Behavior | ||
description: What did you expect to see? | ||
validations: | ||
required: true | ||
|
||
- type: textarea | ||
id: files | ||
attributes: | ||
label: Relevant files to reproduce this bug | ||
description: Please upload relevant files to help reproduce this bug, or logs if helpful. | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
name: Other | ||
description: A report is not a bug exactly | ||
|
||
body: | ||
- type: textarea | ||
attributes: | ||
label: What would you like to report? | ||
description: A clear and concise description of what you would like to report. | ||
validations: | ||
required: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
## Open Catalyst Experiments 2024 (OCx24): Bridging Experiments and Computational Models | ||
In this work, we seek to directly bridge the gap between computational descriptors and experimental outcomes for heterogeneous catalysis. We consider two important green chemistries: the hydrogen evolution reaction and the electrochemical reduction of carbon dioxide. To do this, we created a curated dataset of experimental results with materials synthesized and tested in a reproducible manner under industrially relevant conditions. We used this data to build models to directly predict experimental outcomes using computational features. For more information, please read the manuscript [paper](http://arxiv.org/abs/2411.11783). | ||
|
||
### Experimental datasets | ||
To support this work, we performed X-ray fluorescence (XRF), X-ray diffraction (XRD), and electrochemical testing. Summaries of this data is all publically available [here](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/applications/ocx/data/experimental_data). | ||
|
||
### Computational datasets | ||
|Splits |Size of uncompressed version (in bytes) | MD5 checksum (download link) | | ||
|--- |--- |--- | | ||
|Computational screening data |1.5G | [9e75b95bb1a2ae691f07cf630eac3378](https://dl.fbaipublicfiles.com/opencatalystproject/data/ocx24/comp_df_241022.csv) | | ||
|
||
|
||
### Citing this work | ||
|
||
If you use this codebase in your work, please consider citing: | ||
|
||
```bibtex | ||
@misc{abed2024opencatalystexperiments2024, | ||
title={Open Catalyst Experiments 2024 (OCx24): Bridging Experiments and Computational Models}, | ||
author={Jehad Abed and Jiheon Kim and Muhammed Shuaibi and Brook Wander and Boris Duijf and Suhas Mahesh and Hyeonseok Lee and Vahe Gharakhanyan and Sjoerd Hoogland and Erdem Irtem and Janice Lan and Niels Schouten and Anagha Usha Vijayakumar and Jason Hattrick-Simpers and John R. Kitchin and Zachary W. Ulissi and Aaike van Vugt and Edward H. Sargent and David Sinton and C. Lawrence Zitnick}, | ||
year={2024}, | ||
eprint={2411.11783}, | ||
archivePrefix={arXiv}, | ||
primaryClass={cond-mat.mtrl-sci}, | ||
url={https://arxiv.org/abs/2411.11783}, | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
[build-system] | ||
requires = ["hatchling", "hatch-vcs", "hatch-fancy-pypi-readme>=24"] | ||
build-backend = "hatchling.build" | ||
|
||
[project] | ||
name = "fairchem-applications-ocx" | ||
dynamic = ["version", "readme"] | ||
description = "Bridging Experiments to Computational Models" | ||
license = {text = "MIT License"} | ||
dependencies = [ | ||
"scipy", | ||
"numpy", | ||
"scikit-learn", | ||
"pandas", | ||
"matminer", | ||
"plotly", | ||
"matplotlib", | ||
"yellowbrick", | ||
"statsmodels", | ||
"seaborn", | ||
] | ||
|
||
[project.urls] | ||
repository = "http://github.com/Fair-Chem/src/fairchem/applications/ocx" | ||
documentation = "https://fair-chem.github.io/" | ||
|
||
[tool.hatch.version] | ||
source = "vcs" | ||
|
||
[tool.hatch.version.raw-options] | ||
root = "../../" | ||
git_describe_command = 'git describe --tags --match fairchem_applications_ocx-*' | ||
|
||
[tool.hatch.build] | ||
directory = "../../dist-applications-ocx" | ||
|
||
[tool.hatch.build.targets.sdist] | ||
only-include = ["src/fairchem/applications/ocx"] | ||
|
||
[tool.hatch.build.targets.wheel] | ||
sources = ["src"] | ||
only-include = ["src/fairchem/applications/ocx"] | ||
|
||
[tool.hatch.metadata.hooks.fancy-pypi-readme] | ||
content-type = "text/markdown" | ||
fragments = [ | ||
{ path = "src/fairchem/applications/ocx/README.md" }, | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
../../src/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
## Open Catalyst Experiments 2024 (OCx24): Bridging Experiments and Computational Models | ||
![summary figure](co2rr_summary_figure.png) | ||
In this work, we seek to directly bridge the gap between computational descriptors and experimental outcomes for heterogeneous catalysis. We consider two important green chemistries: the hydrogen evolution reaction (HER) and the electrochemical reduction of carbon dioxide (CO2RR). To do this, we created a curated dataset of experimental results with materials synthesized and tested in a reproducible manner under industrially relevant conditions. We used this data to build models to directly predict experimental outcomes using computational features. For more information, please read the manuscript [paper](https://arxiv.org/abs/2411.11783). | ||
|
||
### Datasets | ||
All computational and experimental datasets can be accessed [here](data/). | ||
|
||
### Analysis | ||
All code related to the training and inference performed in this work can be found [here](analysis/). | ||
|
||
### Citing this work | ||
|
||
If you use this codebase in your work, please consider citing: | ||
|
||
```bibtex | ||
@misc{abed2024opencatalystexperiments2024, | ||
title={Open Catalyst Experiments 2024 (OCx24): Bridging Experiments and Computational Models}, | ||
author={Jehad Abed and Jiheon Kim and Muhammed Shuaibi and Brook Wander and Boris Duijf and Suhas Mahesh and Hyeonseok Lee and Vahe Gharakhanyan and Sjoerd Hoogland and Erdem Irtem and Janice Lan and Niels Schouten and Anagha Usha Vijayakumar and Jason Hattrick-Simpers and John R. Kitchin and Zachary W. Ulissi and Aaike van Vugt and Edward H. Sargent and David Sinton and C. Lawrence Zitnick}, | ||
year={2024}, | ||
eprint={2411.11783}, | ||
archivePrefix={arXiv}, | ||
primaryClass={cond-mat.mtrl-sci}, | ||
url={https://arxiv.org/abs/2411.11783}, | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
""" | ||
Copyright (c) Meta, Inc. and its affiliates. | ||
This source code is licensed under the MIT license found in the | ||
LICENSE file in the root directory of this source tree. | ||
""" | ||
|
||
from __future__ import annotations | ||
|
||
from importlib.metadata import PackageNotFoundError, version | ||
|
||
try: | ||
__version__ = version("fairchem.applications.ocx") | ||
except PackageNotFoundError: | ||
# package is not installed | ||
__version__ = "" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
## Instructions for use | ||
|
||
The `ml_inference.py` and `ml_train.py` files were used to generate data/figures for the hybrid modeling portions of the manuscript. Each of these files expect command line arguments which specify important details about what will be modeled. Each argument has a help string, so consult the help strings where useful. There is one additional thing worth mentioning. Combining the XRD, electrochemical testing, and computational data is time consuming, so `ml_train.py` can be run in two "modes" to avoid reprocessing the data. The first mode fully processes and combines data, while the second allows a processed data file to be read in, rather than the raw data. Processed data will have fixed input parameters (i.e. you can not change the characteristics of XRD matching -- max Rwp and min q-score). The args have been categorized with comments to make it clear when each one is necessary across these two "modes". | ||
|
||
Pre-processed data has been supplied for CO2R and HER in the [processed data folder](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/applications/ocx/data/processed_data) where 40 is the max Rwp and 70 is the minimum q-score. To process the data yourself, use the XRD (`XRDDataDump-YYMMDD.csv`) and electrochemical testing (`ExptDataDump_YYMMDD_clean.csv`) csvs in the [experimental data folder](https://github.com/FAIR-Chem/fairchem/tree/main/src/fairchem/applications/ocx/data/experimental_data). |
Oops, something went wrong.