Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 25 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
b8d7530
Setting up GitHub Classroom Feedback
github-classroom[bot] Mar 27, 2024
d41b29e
add online IDE url
github-classroom[bot] Mar 27, 2024
e080456
Delete .devcontainer directory
DieterPlessers Mar 27, 2024
9e01bdb
Delete .github directory
DieterPlessers Mar 27, 2024
9d842e2
Delete setup.cfg
DieterPlessers Mar 27, 2024
4a50c11
Delete pyproject.toml
DieterPlessers Mar 27, 2024
36d0b7c
Delete hello_test.py
DieterPlessers Mar 27, 2024
e137c34
Delete hello.py
DieterPlessers Mar 27, 2024
5eb7152
Delete .gitignore
DieterPlessers Mar 27, 2024
e6a53f8
Delete .vscode directory
DieterPlessers Mar 27, 2024
87909c7
Delete src directory
DieterPlessers Mar 27, 2024
54eeca7
Update requirements.txt
DieterPlessers Mar 27, 2024
7f696fd
Update requirements.txt
DieterPlessers Mar 27, 2024
875b76a
Update requirements.txt
DieterPlessers Mar 27, 2024
8fab455
GitHub Classroom Autograding Workflow
github-classroom[bot] Mar 27, 2024
67b2c51
Update GitHub Classroom Autograding Workflow
github-classroom[bot] Mar 27, 2024
d5a9690
Delete .github/workflows directory
DieterPlessers Mar 27, 2024
90b29f2
Create LICENSE
DieterPlessers Mar 28, 2024
4bb4f59
Add files via upload
DieterPlessers Mar 28, 2024
3115395
Add files via upload
DieterPlessers Mar 28, 2024
5f6c8a1
Update README.md
DieterPlessers Mar 28, 2024
ddfc3b6
Add files via upload
DieterPlessers Mar 28, 2024
839fe59
Update README.md
DieterPlessers Mar 28, 2024
6c6875d
Update README.md
DieterPlessers Mar 28, 2024
8f100ed
GitHub Classroom Autograding Workflow
github-classroom[bot] Mar 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions .devcontainer/Dockerfile

This file was deleted.

45 changes: 0 additions & 45 deletions .devcontainer/devcontainer.json

This file was deleted.

5 changes: 0 additions & 5 deletions .devcontainer/welcome.txt

This file was deleted.

Empty file removed .github/.keep
Empty file.
5 changes: 4 additions & 1 deletion .github/workflows/classroom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,11 @@ jobs:
uses: actions/checkout@v4
- name: Hello world test
id: hello-world-test
uses: education/autograding-python-grader@v1
uses: education/autograding-command-grader@v1
with:
test-name: Hello world test
setup-command: sudo -H pip3 install pytest
command: pytest
timeout: 5
max-score: 5
- name: Autograding Reporter
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/docker-image.yml

This file was deleted.

5 changes: 0 additions & 5 deletions .gitignore

This file was deleted.

16 changes: 0 additions & 16 deletions .vscode/launch.json

This file was deleted.

10 changes: 0 additions & 10 deletions .vscode/settings.json

This file was deleted.

22 changes: 22 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
MIT License

Copyright (c) 2024 Dieter Plessers
Copyright (c) 2024 AC BO Hackathon

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
56 changes: 41 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,41 @@
# Autograding Example: Python
This example project is written in Python, and tested with pytest.

## The assignment
The tests are failing right now because the method isn't outputting the correct string. Fixing this up will make the tests green.

## Setup command

See `postCreateCommand` from [`devcontainer.json`](.devcontainer/devcontainer.json).

## Run command
`pytest`

## Notes
- pip's install path is not included in the PATH var by default, so without installing via `sudo -H`, pytest would be unaccessible.
# Bayesian Optimisation for Zeolite Synthesis <img src="images/BO_Zeolite.png" alt="Zeolite" width="100"/>

## Overview
<img src="images/Poster_BO_Zeolite.png" alt="Summarizing poster" width="800"/>

## Scope
This repository was initiated as an entry for the [Bayesian Optimization Hackathon for Chemistry and Materials](https://ac-bo-hackathon.github.io/), held on March 27-28, 2024, and sponsored by the Acceleration Consortium and Merck KGaA. Here, we propose Bayesian optimization within the field of zeolite synthesis. This concept is also explained in a [short video](https://www.youtube.com/watch?v=4lFEUixwkE8).

Despite their significant industrial applications as catalysts, ion exchangers and adsorbents, the synthesis of zeolites predominantly relies on heuristics, experience and a sprinkle of magic. Employing Bayesian optimization has the potential to swiftly navigate the extensive parameter space in zeolite synthesis research and reduce associated costs.

## [Introductory text](./zeolite_synthesis_bo_introduction.md) on zeolites, zeolite synthesis and Bayesian optimization
In [zeolite_synthesis_bo_introduction.md](./zeolite_synthesis_bo_introduction.md) we provide an overview of the following topics:
1. **Zeolites:** definition, properties and relevance in industry
2. **Zeolite Synthesis:** typical procedures, ingredients and equipments
3. **Zeolite Synthesis Optimization:** the limited literature on active learning for zeolite synthesis is discussed, and considerations regarding BO:
3.1 Parameter space of a zeolite synthesis
3.2 Constraints of a zeolite synthesis
3.3 Objectives that might be pursued in zeolite synthesis
3.4 Zeolite synthesis datasets that are available in literature
4. **Discussion:** various aspects of BO in zeolite synthesis are discussed, and how they can be tackled
5. **References**

While numerous references are provided for further exploration, this document is self-contained and aims to be easily understood. We hope it inspires the reader to consider active learning approaches in their zeolite synthesis endeavors.
This introductory text is also provided as [pdf](./zeolite_synthesis_bo_introduction.pdf).

## [Notebook](./demo_zeolite_synthesis_bo.ipynb) tutorial on Bayesian optimization for zeolite synthesis (with [Ax](https://ax.dev/)) <a target="_blank" href="https://colab.research.google.com/github/DieterPlessers/test_md/blob/main/demo_zeolite_synthesis_bo.ipynb"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/></a>
Within the [demo_zeolite_synthesis_bo.ipynb](./demo_zeolite_synthesis_bo.ipynb) notebook, we illustrate the concepts of the introductory text with code, leveraging real-world literature data acquired through grid search in [Table S4](https://pubs.acs.org/doi/suppl/10.1021/acs.chemmater.9b03738/suppl_file/cm9b03738_si_001.pdf#page=10) and [Table S3](https://pubs.acs.org/doi/suppl/10.1021/jacs.1c07590/suppl_file/ja1c07590_si_001.pdf#page=9) in the Supporting Information of respectively [*Chem. Mater.* **2020**, *32*, 273–285](https://pubs.acs.org/doi/abs/10.1021/acs.chemmater.9b03738) and [*J. Am. Chem. Soc.* **2021**, *143*, 16243–16255](https://pubs.acs.org/doi/10.1021/jacs.1c07590).

This notebook is divided into two sections:
1. The first section uses Bayesian optimization to **optimize an analytical dummy function** using zeolite synthesis parameters, showing a significant improvement compared to grid search.
2. The second section uses Bayesian optimization to **propose a new experiment** based on existing literature data.

A common overarching objective in zeolite synthesis is to achieve a **high yield** of the desired zeolite product. In the papers under consideration, a more specialized goal involves **maximizing the presence of proximal Al pairs** within synthesized CHA zeolites, which is required for stabilizing Fe<sup>2+</sup> sites (so-called divalent cation capacity, DCC). Upon activation, these sites can selectively oxidize methane to **methanol**. Accordingly, we will provide examples with synthesis yield, DCC and methanol yield as optimization objectives for the Bayesian optimization process.

The various examples touch upon different aspects of Bayesian optimization, including **continuous variables, categorical variables, mixed variable types, parameter constraints, as well as single and multiple objectives**.






Loading