diff --git a/README.md b/README.md
index 084ef94..24b95a8 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!
-
+
+
+### 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-dimensional 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",
"[](https://colab.research.google.com/github/Materials-Consortia/optimade-tutorial-exercises/blob/main/notebooks/exercise8-optimade-python-tools.ipynb)\n",
"[](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": {