From 49ac1089ad126d4cdc46cbb357b51a855bd885b0 Mon Sep 17 00:00:00 2001 From: Matthew Evans Date: Fri, 5 May 2023 14:53:14 +0100 Subject: [PATCH 1/2] Add skeleton of project suggestions --- README.md | 115 +++++++++++++++++++++----- notebooks/exercises.ipynb | 169 +++++++++++++++++++++++++++++++++----- 2 files changed, 244 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 084ef94..d072619 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ page](https://optimade.org/#get-involved). ### Contributors - [Matthew Evans](https://ml-evs.science), *UCLouvain* (repository and - general exercises) + general exercises, `optimade-python-tools` exercise and projects) - [Matthew Horton](https://github.com/mkhorton), *LBNL* (`pymatgen` exercise) - [Evgeny Blokhin](https://tilde.pro), *Tilde Materials Informatics* @@ -120,9 +120,15 @@ above tools! -
+
+ +## Exercises + +
-## Exercise 1 +
+ +### Exercise 1
@@ -249,9 +255,9 @@ exchanging materials data" (2021)
-
+
-## Exercise 2 +### Exercise 2
@@ -288,9 +294,9 @@ ternary phases.
-
+
-## Exercise 3 (pymatgen) +### Exercise 3 (pymatgen)
@@ -310,9 +316,9 @@ Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.
-
+
-## Exercise 4 +### Exercise 4
@@ -351,9 +357,9 @@ stable structure.
-
+
-## Exercise 5 +### Exercise 5
@@ -377,9 +383,9 @@ Some potential prompts:
-
+
-## Exercise 6 (AFLOW) +### Exercise 6 (AFLOW)
@@ -405,9 +411,9 @@ prefix to the keyword: `_aflow_aflow_prototype_label_relax`.
-
+
-## Exercise 7 (OQMD) +### Exercise 7 (OQMD)
@@ -429,9 +435,13 @@ Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.
-
+
+ +### Exercise 8 (optimade-python-tools) + +
-## Exercise 8 (optimade-python-tools) +
This example explores the use of optimade-python-tools for querying and serving OPTIMADE data. The notebook is available at @@ -444,11 +454,78 @@ Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.
+
+ +## Projects + +
+
-# Appendix +These projects were introduced as part of the 2023 annual workshop and +give some suggestions about short/medium-length projects that make use +of OPTIMADE. + +
+ +
+ +### Project Idea 1: Creating an OPTIMADE API for an existing dataset + +
+ +
+ +Take an atomistic/materials dataset you work with or are publishing and +create an OPTIMADE API for the data. + +- Would this dataset be useful to the broader community? +- What value does being able to filter on the data in a uniform way + bring? +- Can you use any of the OPTIMADE client tools to explore your data in a + new way? + +
+ +
+ +### Project Idea 2: Creating new tools for exploring OPTIMADE API data + +
+ +
+ +### Project Idea 3: Inorganic powder XRD screening with OPTIMADE structures + +
+ +
+ +### Project Idea 4: Construct a phase diagram using OPTIMADE data + +
+ +
+ +### Project Idea 5: Data mining of OPTIMADE APIs against structural descriptors + +
+ +
+ +### Project Idea 6: Comparing low-dimensioanl representations of compositional spaces of different OPTIMADE APIs + +
+ +
+ +## Appendix + +
+ +
-## Example Python code +### Example Python code You may find the following Python code snippets useful in the above exercises. This document can be opened as a Jupyter notebook using the diff --git a/notebooks/exercises.ipynb b/notebooks/exercises.ipynb index f1acf0e..5bb7459 100644 --- a/notebooks/exercises.ipynb +++ b/notebooks/exercises.ipynb @@ -30,7 +30,7 @@ "\n", "### Contributors\n", "\n", - "- [Matthew Evans](https://ml-evs.science), *UCLouvain* (repository and general exercises)\n", + "- [Matthew Evans](https://ml-evs.science), *UCLouvain* (repository and general exercises, `optimade-python-tools` exercise and projects)\n", "- [Matthew Horton](https://github.com/mkhorton), *LBNL* (`pymatgen` exercise)\n", "- [Evgeny Blokhin](https://tilde.pro), *Tilde Materials Informatics* (typos and bug fixes)\n", "- [Cormac Toher](https://github.com/ctoher), *Duke University* (AFLOW exercise)\n", @@ -72,9 +72,21 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "tags": [] + }, + "source": [ + "## Exercises" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 1" + "### Exercise 1" ] }, { @@ -170,9 +182,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 2" + "### Exercise 2" ] }, { @@ -193,9 +208,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 3 (pymatgen)" + "### Exercise 3 (pymatgen)" ] }, { @@ -210,9 +228,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 4" + "### Exercise 4" ] }, { @@ -234,9 +255,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 5" + "### Exercise 5" ] }, { @@ -255,9 +279,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 6 (AFLOW)" + "### Exercise 6 (AFLOW)" ] }, { @@ -277,9 +304,12 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, "source": [ - "## Exercise 7 (OQMD)" + "### Exercise 7 (OQMD)" ] }, { @@ -295,23 +325,120 @@ }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, + "source": [ + "### Exercise 8 (optimade-python-tools)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, "source": [ - "## Exercise 8 (optimade-python-tools)\n", - "\n", "This example explores the use of optimade-python-tools for querying and serving OPTIMADE data. The notebook is available at `./notebooks/exercise8-optimade-python-tools` and can be accessed online with Colab or Biner (buttons below).\n", "\n", "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Materials-Consortia/optimade-tutorial-exercises/blob/main/notebooks/exercise8-optimade-python-tools.ipynb)\n", "[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/Materials-Consortia/optimade-tutorial-exercises/HEAD?filepath=notebooks/exercise8-optimade-python-tools.ipynb)" ] }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Projects" + ] + }, { "cell_type": "markdown", "metadata": {}, "source": [ - "# Appendix\n", + "These projects were introduced as part of the 2023 annual workshop and give some suggestions about short/medium-length projects that make use of OPTIMADE." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, + "source": [ + "### Project Idea 1: Creating an OPTIMADE API for an existing dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "Take an atomistic/materials dataset you work with or are publishing and create an OPTIMADE API for the data. \n", "\n", - "## Example Python code\n", + "- Would this dataset be useful to the broader community?\n", + "- What value does being able to filter on the data in a uniform way bring? \n", + "- Can you use any of the OPTIMADE client tools to explore your data in a new way?" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, + "source": [ + "### Project Idea 2: Creating new tools for exploring OPTIMADE API data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Project Idea 3: Inorganic powder XRD screening with OPTIMADE structures" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Project Idea 4: Construct a phase diagram using OPTIMADE data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Project Idea 5: Data mining of OPTIMADE APIs against structural descriptors" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Project Idea 6: Comparing low-dimensioanl representations of compositional spaces of different OPTIMADE APIs" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "## Appendix" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "jp-MarkdownHeadingCollapsed": true, + "tags": [] + }, + "source": [ + "### Example Python code\n", "\n", "You may find the following Python code snippets useful in the above exercises. This document can be opened as a Jupyter notebook using the Colab or Binder buttons above, or by downloading the notebook from the GitHub repository." ] @@ -434,7 +561,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.10.10" }, "vscode": { "interpreter": { From 4a86ece4a2c7c3eba89510b4e5e50438a72156cc Mon Sep 17 00:00:00 2001 From: Matthew Evans <7916000+ml-evs@users.noreply.github.com> Date: Thu, 8 Jun 2023 15:06:47 +0100 Subject: [PATCH 2/2] Update README.md Co-authored-by: Johan Bergsma <29785380+JPBergsma@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d072619..24b95a8 100644 --- a/README.md +++ b/README.md @@ -513,7 +513,7 @@ create an OPTIMADE API for the data.
-### Project Idea 6: Comparing low-dimensioanl representations of compositional spaces of different OPTIMADE APIs +### Project Idea 6: Comparing low-dimensional representations of compositional spaces of different OPTIMADE APIs