Skip to content

Commit

Permalink
Merge branch 'main' into eqv2_dens
Browse files Browse the repository at this point in the history
  • Loading branch information
lbluque authored Nov 25, 2024
2 parents bfbf41a + 38a4bb3 commit 7cd3535
Show file tree
Hide file tree
Showing 41 changed files with 17,109 additions and 24 deletions.
80 changes: 80 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
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
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/misc.yaml
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
1 change: 1 addition & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ parts:
- file: core/datasets/oc20dense
- file: core/datasets/oc20neb
- file: core/datasets/omat24
- file: core/datasets/ocx24
- file: core/model_checkpoints
- caption: Making your own datasets
chapters:
Expand Down
27 changes: 27 additions & 0 deletions docs/core/datasets/ocx24.md
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},
}
```
48 changes: 48 additions & 0 deletions packages/fairchem-applications-ocx/pyproject.toml
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" },
]
1 change: 1 addition & 0 deletions packages/fairchem-applications-ocx/src
3 changes: 0 additions & 3 deletions packages/fairchem-data-om/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,6 @@ git_describe_command = 'git describe --tags --match fairchem_data_om-*'
[tool.hatch.build]
directory = "../../dist-data-om"

[tool.hatch.build]
directory = "../../dist"

[tool.hatch.build.targets.sdist]
only-include = ["src/fairchem/data/om"]

Expand Down
25 changes: 25 additions & 0 deletions src/fairchem/applications/ocx/README.md
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},
}
```
16 changes: 16 additions & 0 deletions src/fairchem/applications/ocx/__init__.py
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__ = ""
5 changes: 5 additions & 0 deletions src/fairchem/applications/ocx/analysis/README.md
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).
Loading

0 comments on commit 7cd3535

Please sign in to comment.