Skip to content

Instantly share code, notes, and snippets.

@mariogeiger
Last active February 2, 2023 01:35
Show Gist options
  • Save mariogeiger/5823e9e7be81394492c6a0e00da8c658 to your computer and use it in GitHub Desktop.
Save mariogeiger/5823e9e7be81394492c6a0e00da8c658 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 80,
"metadata": {},
"outputs": [],
"source": [
"from collections import namedtuple\n",
"from io import StringIO\n",
"from typing import Iterator, Tuple\n",
"\n",
"import ase\n",
"import ase.io\n",
"import jax\n",
"import jax.numpy as jnp\n",
"import jraph\n",
"import matplotlib.pyplot as plt\n",
"import matscipy.neighbours\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [],
"source": [
"NodesInfo = namedtuple(\"NodesInfo\", [\"positions\", \"atomic_numbers\"])\n",
"\n",
"\n",
"def ase_atoms_to_jraph_graph(atoms: ase.Atoms, cutoff: float) -> jraph.GraphsTuple:\n",
" receivers, senders = matscipy.neighbours.neighbour_list(\n",
" quantities=\"ij\",\n",
" positions=atoms.positions,\n",
" cutoff=cutoff,\n",
" )\n",
"\n",
" return jraph.GraphsTuple(\n",
" nodes=NodesInfo(atoms.positions, atoms.numbers),\n",
" edges=None,\n",
" globals=None,\n",
" senders=senders,\n",
" receivers=receivers,\n",
" n_node=np.array([len(atoms)]),\n",
" n_edge=np.array([len(senders)]),\n",
" )\n"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [],
"source": [
"def draw_graph(\n",
" positions: jnp.ndarray,\n",
" senders: jnp.ndarray,\n",
" receivers: jnp.ndarray,\n",
" node_color: jnp.ndarray = None,\n",
" edge_color: jnp.ndarray = None,\n",
"):\n",
" positions -= positions.mean(axis=0)\n",
"\n",
" if len(positions) > 1:\n",
" cov = np.cov(positions.T)\n",
" _, v = jnp.linalg.eigh(cov)\n",
" positions = positions @ v\n",
"\n",
" if edge_color is None:\n",
" edge_color = jnp.zeros_like(senders)\n",
" if node_color is None:\n",
" node_color = jnp.zeros_like(positions[:, 0])\n",
"\n",
" edge_color = edge_color.astype(jnp.float32)\n",
"\n",
" plt.scatter(positions[:, 1], positions[:, 2], c=node_color, cmap=\"tab10\", zorder=2, s=100)\n",
" plt.axis(\"equal\")\n",
" for s, r, c in zip(senders, receivers, edge_color):\n",
" c = plt.cm.tab10(c)\n",
" plt.plot(positions[[s, r], 1], positions[[s, r], 2], zorder=1, color=c)\n"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [],
"source": [
"def subgraph(graph: jraph.GraphsTuple, nodes: np.ndarray) -> jraph.GraphsTuple:\n",
" \"\"\"Extract a subgraph from a graph.\n",
"\n",
" Args:\n",
" graph: The graph to extract a subgraph from.\n",
" nodes: The indices of the nodes to extract.\n",
"\n",
" Returns:\n",
" The subgraph.\n",
" \"\"\"\n",
" assert len(graph.n_edge) == 1 and len(graph.n_node) == 1, \"Only single graphs supported.\"\n",
"\n",
" # Find all edges that connect to the nodes.\n",
" edges = np.isin(graph.senders, nodes) & np.isin(graph.receivers, nodes)\n",
"\n",
" new_node_indices = -np.ones(graph.n_node[0], dtype=int)\n",
" new_node_indices[nodes] = np.arange(len(nodes))\n",
"\n",
" return jraph.GraphsTuple(\n",
" nodes=jax.tree_util.tree_map(lambda x: x[nodes], graph.nodes),\n",
" edges=jax.tree_util.tree_map(lambda x: x[edges], graph.edges),\n",
" globals=graph.globals,\n",
" senders=new_node_indices[graph.senders[edges]],\n",
" receivers=new_node_indices[graph.receivers[edges]],\n",
" n_node=np.array([len(nodes)]),\n",
" n_edge=np.array([np.sum(edges)]),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [],
"source": [
"GlobalsInfo = namedtuple(\"GlobalsInfo\", [\"stop\", \"target_position\", \"target_atomic_number\"])\n",
"\n",
"\n",
"def generative_sequence(rng: jnp.ndarray, graph: jraph.GraphsTuple, epsilon: float = 0.01) -> Iterator[jraph.GraphsTuple]:\n",
" \"\"\"Generative sequence for a molecular graph.\n",
"\n",
" Args:\n",
" rng: The random number generator.\n",
" graph: The molecular graph.\n",
" epsilon: Tolerance for the nearest neighbours.\n",
"\n",
" Returns:\n",
" A generator that yields the next subgraph.\n",
" - The globals are:\n",
" - a boolean indicating whether the molecule is complete\n",
" - the target position and atomic number\n",
" - The last node is the focus node.\n",
" \"\"\"\n",
" assert len(graph.n_edge) == 1 and len(graph.n_node) == 1, \"Only single graphs supported.\"\n",
" assert graph.n_node[0] >= 2, \"Graph must have at least two nodes.\"\n",
"\n",
" vectors = graph.nodes.positions[graph.receivers] - graph.nodes.positions[graph.senders]\n",
" dist = np.linalg.norm(vectors, axis=1) # [n_edge]\n",
"\n",
" # pick a random initial node\n",
" rng, k = jax.random.split(rng)\n",
" first_node = jax.random.randint(k, shape=(), minval=0, maxval=graph.n_node[0])\n",
"\n",
" min_dist = dist[graph.senders == first_node].min()\n",
" targets = graph.receivers[(graph.senders == first_node) & (dist < min_dist + epsilon)]\n",
"\n",
" # pick a random target\n",
" rng, k = jax.random.split(rng)\n",
" target = jax.random.choice(k, targets, shape=())\n",
"\n",
" globals = GlobalsInfo(\n",
" stop=jnp.array([False], dtype=bool), # [1]\n",
" target_position=graph.nodes.positions[target][None], # [1, 3]\n",
" target_atomic_number=graph.nodes.atomic_numbers[target][None], # [1]\n",
" )\n",
" yield subgraph(graph, jnp.array([first_node]))._replace(globals=globals)\n",
"\n",
" visited = jnp.array([first_node, target])\n",
"\n",
" for _ in range(graph.n_node[0] - 2):\n",
" mask = jnp.isin(graph.senders, visited) & ~jnp.isin(graph.receivers, visited)\n",
" min_dist = dist[mask].min()\n",
"\n",
" maks = mask & (dist < min_dist + epsilon)\n",
" i = jnp.where(maks)[0]\n",
" \n",
" # pick a random edge\n",
" rng, k = jax.random.split(rng)\n",
" edge = jax.random.choice(k, i, shape=())\n",
"\n",
" focus_node = graph.senders[edge]\n",
" target_node = graph.receivers[edge]\n",
"\n",
" globals = GlobalsInfo(\n",
" stop=jnp.array([False], dtype=bool), # [1]\n",
" target_position=graph.nodes.positions[target_node][None], # [1, 3]\n",
" target_atomic_number=graph.nodes.atomic_numbers[target_node][None], # [1]\n",
" )\n",
" yield subgraph(graph, visited)._replace(globals=globals)\n",
"\n",
" visited = jnp.concatenate([visited, jnp.array([target_node])])\n",
"\n",
" globals = GlobalsInfo(\n",
" stop=jnp.array([True], dtype=bool), # [1]\n",
" target_position=jnp.zeros((1, 3)), # [1, 3]\n",
" target_atomic_number=jnp.array([0], dtype=int), # [1]\n",
" )\n",
" yield graph._replace(globals=globals)"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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AKxCvAAAAKsQLwAAwCrECwAAsArxAgAArEK8AAAAqxAvAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALAK8QIAAKxCvAAAAKsQLwAAwCrECwAAsArxAgAArEK8AAAAqxAvAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALAK8QIAAKxCvAAAAKsQLwAAwCrECwAAsArxAgAArEK8AAAAqxAvAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALAK8QIAAKxCvAAAAKsQLwAAwCrECwAAsArxAgAArEK8AAAAqxAvAADAKo7FS21trWbMmCGv16v09HSVlJTo/PnzHTrWGKM777xTLpdLb7zxhlMjAgAACzkWLzNmzNBHH32kzZs3a9OmTXr77bc1b968Dh27atUquVwup0YDAAAWS3biTg8ePKjy8nK9//77ys/PlyQ988wzmjhxolauXKmcnJxLHrt//349+eST2rNnj/r16+fEeAAAwGKOnHmpqKhQenp6a7hIUnFxsdxut3bt2nXJ4xoaGnTPPfeorKxM2dnZHXqsxsZGBYPBiBsAAOi+HIkXv9+vzMzMiG3Jycnq3bu3/H7/JY978MEHNXr0aE2ePLnDj1VaWiqfz9d6y83N7fTcAAAg8UUVL4sWLZLL5Wr3dujQoU4NsnHjRm3dulWrVq2K6rjFixcrEAi03iorKzv1+AAAwA5RXfPy0EMPafbs2e3uk5eXp+zsbFVXV0dsb2lpUW1t7SVfDtq6dauOHj2q9PT0iO1Tp07VmDFjtH379jaP83g88ng8HX0KAADAclHFS9++fdW3b9/L7ldUVKRz585p7969GjVqlKSv4iQcDquwsLDNYxYtWqRf/vKXEduGDx+up59+WnfddVc0YwIAgG7MkXcbDR06VBMmTNDcuXO1evVqNTc3a/78+br77rtb32l06tQpjRs3Tn/9619VUFCg7OzsNs/KDBgwQNdee60TYwIAAAs59jkvr7zyioYMGaJx48Zp4sSJuu222/T888+3fr25uVmHDx9WQ0ODUyMAAIBuyGWMMfEeoisFg0H5fD4FAgF5vd54jwMAADogmt/f/NtGAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALAK8QIAAKxCvAAAAKsQLwAAwCrECwAAsArxAgAArEK8AAAAqxAvAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALBKcrwHAICOaGwJqeZ8k5pawsro2UPpPVPiPRKAOCFeACS0I9V1+tvOE3ptT6UamkKt2/MHZmhW0UCN/362UpI5iQx8lxAvABJSOGz05ObDKtt2VElul0JhE/H1fZ99rj3HP9e1/9FTfy0pVG7vnnGaFECs8dcVAAnpD28eVNm2o5L0rXCRpAubTnz+hf7z/7yrM4EvYjkegDgiXgAknK2HqvTCjmMd2jcUNvq8oVkPrtvv7FAAEgbxAiDhvLjjuJJcrg7vHwob7fy0Vp9U1Tk4FYBEQbwASCjHa+q140iNQubbLxW1J8nt0t92fubQVAASCfECIKHsrzzXqeNCYaNdx2q7dhgACYl4AZBQ6ptaOn3s+cbOHwvAHsQLgITSy9P5T3BIu4JjAdiDeAGQUH4wIEMdv1T3oiS3S6Ov79Pl8wBIPMQLgISS27unxg7uqyR3dAkTChvNKBzg0FQAEgnxAiDhlNx2bZsfTHcpSW6Xxgzqo7y+vRycCkCiIF4AJJwxg/pqwe3Xd2jfJLdLmWkePfXzkc4OBSBhEC8AEtLC/36D/tf4wXK5pLZeQUr6r22DMntpw//8b+qb5ontgADihkvzASQkl8ul+390vSaPzNHfd5/Q33aeUOCL5q++Jum2QX01e/RA/fCG6K+PAWA3lzFRfoxlggsGg/L5fAoEAvJ6vfEeB0AXCYeNgl82qykUlje1h1J7JMV7JABdKJrf35x5AWAFt9ul9J4p8R4DQALgmhcAAGAV4gUAAFiFeAEAAFYhXgAAgFWIFwAAYBXiBQAAWKXbvVX6wsfWBIPBOE8CAAA66sLv7Y58/Fy3i5e6ujpJUm5ubpwnAQAA0aqrq5PP52t3n273CbvhcFinT59WWlqaXC67PjI8GAwqNzdXlZWV3/lPB2YtLmItLmItLmItIrEeF9m6FsYY1dXVKScnR253+1e1dLszL263W1dffXW8x7giXq/Xqm84J7EWF7EWF7EWF7EWkViPi2xci8udcbmAC3YBAIBViBcAAGAV4iWBeDweLVu2TB6PJ96jxB1rcRFrcRFrcRFrEYn1uOi7sBbd7oJdAADQvXHmBQAAWIV4AQAAViFeAACAVYgXAABgFeIljmprazVjxgx5vV6lp6erpKRE58+fv+xxFRUVuv322/W9731PXq9XP/zhD/XFF1/EYGLndHYtpK8+lfHOO++Uy+XSG2+84eygMRLtetTW1mrBggUaPHiwrrrqKg0YMEAPPPCAAoFADKfuGmVlZRo4cKBSU1NVWFio3bt3t7v/+vXrNWTIEKWmpmr48OF68803YzSp86JZizVr1mjMmDHKyMhQRkaGiouLL7t2ton2e+OCtWvXyuVyacqUKc4OGEPRrsW5c+d0//33q1+/fvJ4PLrhhhvs/rNiEDcTJkwwI0aMMDt37jTvvPOOuf7668306dPbPea9994zXq/XlJaWmg8//NAcOnTIrFu3znz55ZcxmtoZnVmLC5566ilz5513Gklmw4YNzg4aI9Gux4EDB8xPf/pTs3HjRnPkyBGzZcsWM2jQIDN16tQYTn3l1q5da1JSUsyLL75oPvroIzN37lyTnp5uqqqq2tz/3XffNUlJSeaJJ54wH3/8sVmyZInp0aOHOXDgQIwn73rRrsU999xjysrKzAcffGAOHjxoZs+ebXw+nzl58mSMJ3dGtOtxwbFjx0z//v3NmDFjzOTJk2MzrMOiXYvGxkaTn59vJk6caHbs2GGOHTtmtm/fbvbv3x/jybsO8RInH3/8sZFk3n///dZt//znP43L5TKnTp265HGFhYVmyZIlsRgxZjq7FsYY88EHH5j+/fubM2fOdJt4uZL1+LrXXnvNpKSkmObmZifGdERBQYG5//77W/87FAqZnJwcU1pa2ub+P//5z82kSZMithUWFpr77rvP0TljIdq1+KaWlhaTlpZmXn75ZadGjKnOrEdLS4sZPXq0+ctf/mJmzZrVbeIl2rV47rnnTF5enmlqaorViI7jZaM4qaioUHp6uvLz81u3FRcXy+12a9euXW0eU11drV27dikzM1OjR49WVlaWxo4dqx07dsRqbEd0Zi0kqaGhQffcc4/KysqUnZ0di1FjorPr8U2BQEBer1fJyXb8E2ZNTU3au3eviouLW7e53W4VFxeroqKizWMqKioi9pek8ePHX3J/W3RmLb6poaFBzc3N6t27t1Njxkxn1+ORRx5RZmamSkpKYjFmTHRmLTZu3KiioiLdf//9ysrK0o033qg//vGPCoVCsRq7yxEvceL3+5WZmRmxLTk5Wb1795bf72/zmE8//VSStHz5cs2dO1fl5eX6wQ9+oHHjxumTTz5xfGandGYtJOnBBx/U6NGjNXnyZKdHjKnOrsfX1dTU6NFHH9W8efOcGNERNTU1CoVCysrKitielZV1yeft9/uj2t8WnVmLb3r44YeVk5PzrbizUWfWY8eOHXrhhRe0Zs2aWIwYM51Zi08//VSvv/66QqGQ3nzzTf3ud7/Tk08+qcceeywWIzuCeOliixYtksvlavd26NChTt13OByWJN13332aM2eObr75Zj399NMaPHiwXnzxxa58Gl3CybXYuHGjtm7dqlWrVnXt0A5ycj2+LhgMatKkSRo2bJiWL19+5YPDOitWrNDatWu1YcMGpaamxnucmKurq9O9996rNWvWqE+fPvEeJ+7C4bAyMzP1/PPPa9SoUZo2bZp++9vfavXq1fEerdPsOJ9skYceekizZ89ud5+8vDxlZ2eruro6YntLS4tqa2sv+RJIv379JEnDhg2L2D506FCdOHGi80M7xMm12Lp1q44ePar09PSI7VOnTtWYMWO0ffv2K5jcGU6uxwV1dXWaMGGC0tLStGHDBvXo0eNKx46ZPn36KCkpSVVVVRHbq6qqLvm8s7Ozo9rfFp1ZiwtWrlypFStW6K233tJNN93k5JgxE+16HD16VMePH9ddd93Vuu3CX/6Sk5N1+PBhXXfddc4O7ZDOfG/069dPPXr0UFJSUuu2oUOHyu/3q6mpSSkpKY7O7Ih4X3TzXXXhosw9e/a0bvvXv/7V7kWZ4XDY5OTkfOuC3ZEjR5rFixc7Oq+TOrMWZ86cMQcOHIi4STJ/+tOfzKeffhqr0R3RmfUwxphAIGBuvfVWM3bsWFNfXx+LUbtcQUGBmT9/fut/h0Ih079//3Yv2P3xj38csa2oqKjbXLAbzVoYY8zjjz9uvF6vqaioiMWIMRXNenzxxRff+vkwefJkc/vtt5sDBw6YxsbGWI7e5aL93li8eLG55pprTCgUat22atUq069fP8dndQrxEkcTJkwwN998s9m1a5fZsWOHGTRoUMTbYU+ePGkGDx5sdu3a1brt6aefNl6v16xfv9588sknZsmSJSY1NdUcOXIkHk+hy3RmLb5J3eTdRsZEvx6BQMAUFhaa4cOHmyNHjpgzZ8603lpaWuL1NKK2du1a4/F4zEsvvWQ+/vhjM2/ePJOenm78fr8xxph7773XLFq0qHX/d9991yQnJ5uVK1eagwcPmmXLlnWrt0pHsxYrVqwwKSkp5vXXX4/4/19XVxevp9Clol2Pb+pO7zaKdi1OnDhh0tLSzPz5883hw4fNpk2bTGZmpnnsscfi9RSuGPESR//+97/N9OnTTa9evYzX6zVz5syJ+EFz7NgxI8ls27Yt4rjS0lJz9dVXm549e5qioiLzzjvvxHjyrtfZtfi67hQv0a7Htm3bjKQ2b8eOHYvPk+ikZ555xgwYMMCkpKSYgoICs3PnztavjR071syaNSti/9dee83ccMMNJiUlxXz/+983//jHP2I8sXOiWYtrrrmmzf//y5Yti/3gDon2e+PrulO8GBP9Wrz33numsLDQeDwek5eXZ/7whz9Y9Rebb3IZY0xsX6gCAADoPN5tBAAArEK8AAAAqxAvAADAKsQLAACwCvECAACsQrwAAACrEC8AAMAqxAsAALAK8QIAAKxCvAAAAKsQLwAAwCrECwAAsMr/B7r4gOv6GPmxAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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gJ8LNvsJli9frszMTM2dO1fJycmaPXu20tLSVFhYqKioqNPGV1VV6Sc/+YmioqL0zjvvqGvXrvrmm28UERFhdlQAAGADDsMwDDOfIDk5WQMHDtSrr74qSfJ6vYqLi9P999+vadOmnTZ+7ty5ev7557Vr1y61atWq0c/n8XgUHh6usrIyhYWFXXB+AABgvsa8f5v6sVFVVZUKCgqUmpr6wxM6nUpNTVVubm69c95//32lpKTovvvuU3R0tPr06aNnnnlGNTU19Y6vrKyUx+OpswEAgMBlankpKSlRTU2NoqOj6+yPjo6W2+2ud85XX32ld955RzU1NVq9erVmzJihF198Ub/97W/rHZ+VlaXw8HDfFhcX1+SvAwAA+A+/+7aR1+tVVFSU5s2bp6SkJKWnp+uxxx7T3Llz6x0/ffp0lZWV+baioqJmTgwAAJqTqRfsdu7cWUFBQSouLq6zv7i4WDExMfXO6dKli1q1aqWgoCDfvt69e8vtdquqqkohISF1xrtcLrlcrqYPDwAA/JKpZ15CQkKUlJSknJwc3z6v16ucnBylpKTUO+dHP/qRdu/eLa/X69v35ZdfqkuXLqcVFwAA0PKY/rFRZmam5s+fr8WLF2vnzp269957VV5erokTJ0qSxo8fr+nTp/vG33vvvSotLdUDDzygL7/8Uh988IGeeeYZ3XfffWZHBQAANmD6fV7S09N1+PBhzZw5U263W/3791d2drbvIt59+/bJ6fyhQ8XFxenDDz/UQw89pCuuuEJdu3bVAw88oEcffdTsqAAAwAZMv89Lc+M+LwAA2I/f3OcFAACgqVFeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArVBeAACArTRLeZkzZ47i4+MVGhqq5ORk5efnN2jesmXL5HA4NGrUKHMDAgAA2zC9vCxfvlyZmZmaNWuWNm3apH79+iktLU2HDh0667yvv/5a//3f/61rrrnG7IgAAMBGTC8vL730kiZNmqSJEycqMTFRc+fOVZs2bbRw4cIzzqmpqdHYsWP15JNPqnv37mZHBAAANmJqeamqqlJBQYFSU1N/eEKnU6mpqcrNzT3jvN/85jeKiopSRkbGOZ+jsrJSHo+nzgYAAAKXqeWlpKRENTU1io6OrrM/Ojpabre73jmffvqpFixYoPnz5zfoObKyshQeHu7b4uLiLjg3AADwX371baNjx45p3Lhxmj9/vjp37tygOdOnT1dZWZlvKyoqMjklAACwUrCZD965c2cFBQWpuLi4zv7i4mLFxMScNn7Pnj36+uuvNXLkSN8+r9dbGzQ4WIWFherRo0edOS6XSy6Xy4T0AADAH5l65iUkJERJSUnKycnx7fN6vcrJyVFKSspp4xMSErR161Zt2bLFt/385z/Xj3/8Y23ZsoWPhAAAgLlnXiQpMzNTEyZM0IABAzRo0CDNnj1b5eXlmjhxoiRp/Pjx6tq1q7KyshQaGqo+ffrUmR8RESFJp+0HAAAtk+nlJT09XYcPH9bMmTPldrvVv39/ZWdn+y7i3bdvn5xOv7r0BgAA+DGHYRiG1SGaksfjUXh4uMrKyhQWFmZ1HAAA0ACNef/mlAcAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALAVygsAALCVZikvc+bMUXx8vEJDQ5WcnKz8/Pwzjp0/f76uueYadejQQR06dFBqaupZxwMAgJbF9PKyfPlyZWZmatasWdq0aZP69euntLQ0HTp0qN7xn3zyiUaPHq2PP/5Yubm5iouL0w033KADBw6YHRUAANiAwzAMw8wnSE5O1sCBA/Xqq69Kkrxer+Li4nT//fdr2rRp55xfU1OjDh066NVXX9X48ePPOd7j8Sg8PFxlZWUKCwu74PwAAMB8jXn/NvXMS1VVlQoKCpSamvrDEzqdSk1NVW5uboMeo6KiQqdOnVLHjh3r/XllZaU8Hk+dDQAABC5Ty0tJSYlqamoUHR1dZ390dLTcbneDHuPRRx9VbGxsnQL077KyshQe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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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bq46duzo3Z6bm6tBgwbVuJ/D4ZDD4fD+3Lp1a+3fv19t2rSRrRZffud0OpWUlKT9+/c3izU5zam/zamvUvPqL30NXc2pv82pr9KZ+2uMUWFhoRITExv0PHUKNnFxcYqLi2vQE9bknHPOUUJCgtasWeMNMk6nU+vWravTmVV2u12dO3eu8/NHR0c3iz8sj+bU3+bUV6l59Ze+hq7m1N/m1Ffp9P1tyEiNh98WD+/bt0+bNm3Svn37VFZWpk2bNmnTpk06evSot01ycrLeeOMNSZLNZtNtt92mP/7xj1q5cqU2b96syZMnKzExUVdccYW/ygQAACHEb4uH586dq5dfftn78+DBgyVJH3zwgS688EJJ0s6dO1VQUOBt87vf/U7Hjh3TjBkzlJ+fr/PPP18ZGRmKioryV5kAACCE+C3YvPTSS3rppZdO26bqymebzab7779f999/v7/KOoXD4dC8efN81umEsubU3+bUV6l59Ze+hq7m1N/m1Fep6frr9wv0AQAANJWguUAfAABAQxFsAABAyCDYAACAkEGwAQAAISPkg82DDz6oESNGqGXLloqNja3VPsYYzZ07Vx07dlSLFi2UlpamXbt2+bTJy8vTxIkTFR0drdjYWE2bNs3nGj2BUte6vv76a9lstmpvr732mrdddfcvX768KbpUo/ocgwsvvPCUfvz617/2abNv3z5dcsklatmypTp06KA777xTLpfLn12plbr2Ny8vT7fccot69eqlFi1a6Oyzz9att97qc4kFKXiO7aJFi9S1a1dFRUUpNTVVWVlZp23/2muvKTk5WVFRUerfv79WrVrlc39tXseBUpe+LlmyRCNHjlTbtm3Vtm1bpaWlndJ+6tSppxzDsWPH+rsbtVKXvr700kun9KPq5T6C+bhKdetvde9HNptNl1xyibdNsB7bDz/8UJdddpkSExNls9n05ptvnnGftWvXasiQIXI4HOrRo0e1Z07X9X2gWibEzZ071zz22GNm1qxZJiYmplb7LFiwwMTExJg333zTfPHFF+ZnP/uZOeecc8zx48e9bcaOHWsGDhxoPvvsM/PRRx+ZHj16mGuvvdZPvai9utblcrnMd99953O77777TOvWrU1hYaG3nSTz4osv+rSr/PsIhPocg1GjRpnp06f79KOgoMB7v8vlMv369TNpaWlm48aNZtWqVaZ9+/YmPT3d3905o7r2d/PmzebKK680K1euNLt37zZr1qwxPXv2NFdddZVPu2A4tsuXLzeRkZHmhRdeMFu3bjXTp083sbGxJjc3t9r2n3zyiQkLCzMPP/yw2bZtm7n77rtNRESE2bx5s7dNbV7HgVDXvl533XVm0aJFZuPGjWb79u1m6tSpJiYmxnz77bfeNlOmTDFjx471OYZ5eXlN1aUa1bWvL774oomOjvbpR05Ojk+bYD2uxtS9v0eOHPHp65YtW0xYWJh58cUXvW2C9diuWrXK/OEPfzD/+te/jCTzxhtvnLb9//73P9OyZUsza9Yss23bNvPUU0+ZsLAwk5GR4W1T199fTUI+2Hi8+OKLtQo2brfbJCQkmEceecS7LT8/3zgcDvOPf/zDGGPMtm3bjCTz+eefe9u88847xmazmQMHDjR67bXVWHUNGjTI/PKXv/TZVps/3KZU376OGjXK/Pa3v63x/lWrVhm73e7zZvqXv/zFREdHm+Li4kapvT4a69i++uqrJjIy0pSWlnq3BcOxHTZsmLn55pu9P5eVlZnExEQzf/78attfc8015pJLLvHZlpqaam688UZjTO1ex4FS175W5XK5TJs2bczLL7/s3TZlyhRz+eWXN3apDVbXvp7pfTqYj6sxDT+2jz/+uGnTpo05evSod1uwHtvKavMe8rvf/c707dvXZ9v48ePNmDFjvD839PfnEfJTUXW1d+9e5eTkKC0tzbstJiZGqampyszMlCRlZmYqNjZWKSkp3jZpaWmy2+1at25dk9fs0Rh1ZWdna9OmTZo2bdop9918881q3769hg0bphdeeKHBXy3fEA3p69KlS9W+fXv169dP6enpKioq8nnc/v37Kz4+3rttzJgxcjqd2rp1a+N3pJYa62+uoKBA0dHRCg/3vTZnII9tSUmJsrOzfV5zdrtdaWlp3tdcVZmZmT7tpfLj5Glfm9dxINSnr1UVFRWptLRU7dq189m+du1adejQQb169dJNN92kI0eONGrtdVXfvh49elRdunRRUlKSLr/8cp/XXbAeV6lxju3zzz+vCRMmqFWrVj7bg+3Y1seZXrON8fvz8NuVh60qJydHknw+2Dw/e+7LyclRhw4dfO4PDw9Xu3btvG0CoTHqev7559W7d2+NGDHCZ/v999+vn/zkJ2rZsqXeffdd/eY3v9HRo0d16623Nlr9dVHfvl533XXq0qWLEhMT9eWXX+quu+7Szp079a9//cv7uNUde899gdIYx/bw4cN64IEHNGPGDJ/tgT62hw8fVllZWbW/9x07dlS7T03HqfJr1LOtpjaBUJ++VnXXXXcpMTHR5wNg7NixuvLKK3XOOedoz549+v3vf6+LL75YmZmZCgsLa9Q+1FZ9+tqrVy+98MILGjBggAoKCrRw4UKNGDFCW7duVefOnYP2uEoNP7ZZWVnasmWLnn/+eZ/twXhs66Om16zT6dTx48f1ww8/NPi14WHJYDNnzhw99NBDp22zfft2JScnN1FF/lXb/jbU8ePHtWzZMt1zzz2n3Fd52+DBg3Xs2DE98sgjjf7h5+++Vv5Q79+/vzp27KjRo0drz5496t69e70ft76a6tg6nU5dcskl6tOnj+69916f+5rq2KLhFixYoOXLl2vt2rU+i2onTJjg/Xf//v01YMAAde/eXWvXrtXo0aMDUWq9DB8+XMOHD/f+PGLECPXu3VvPPvusHnjggQBW5n/PP/+8+vfvr2HDhvlsD5Vj25QsGWxmz56tqVOnnrZNt27d6vXYCQkJkqTc3Fx17NjRuz03N1eDBg3ytjl06JDPfi6XS3l5ed79G1Nt+9vQul5//XUVFRVp8uTJZ2ybmpqqBx54QMXFxY36vR9N1VeP1NRUSdLu3bvVvXt3JSQknLIKPzc3V5Ise2wLCws1duxYtWnTRm+88YYiIiJO295fx7Ym7du3V1hYmPf37JGbm1tj3xISEk7bvjav40CoT189Fi5cqAULFui9997TgAEDTtu2W7duat++vXbv3h2wD7+G9NUjIiJCgwcP1u7duyUF73GVGtbfY8eOafny5bX6nsRgOLb1UdNrNjo6Wi1atFBYWFiD/1686rQix8Lqunh44cKF3m0FBQXVLh5ev369t81//vOfoFk8XN+6Ro0adcoZMzX54x//aNq2bVvvWhuqsY7Bxx9/bCSZL774whhzcvFw5VX4zz77rImOjjYnTpxovA7UUX37W1BQYH70ox+ZUaNGmWPHjtXquQJxbIcNG2Zmzpzp/bmsrMx06tTptIuHL730Up9tw4cPP2Xx8Olex4FS174aY8xDDz1koqOjTWZmZq2eY//+/cZms5m33nqrwfU2RH36WpnL5TK9evUyt99+uzEmuI+rMfXv74svvmgcDoc5fPjwGZ8jWI5tZarl4uF+/fr5bLv22mtPWTzckL8Xbz11am1B33zzjdm4caP3FOaNGzeajRs3+pzK3KtXL/Ovf/3L+/OCBQtMbGyseeutt8yXX35pLr/88mpP9x48eLBZt26d+fjjj03Pnj2D5nTv09X17bffml69epl169b57Ldr1y5js9nMO++8c8pjrly50ixZssRs3rzZ7Nq1yzzzzDOmZcuWZu7cuX7vz+nUta+7d+82999/v1m/fr3Zu3eveeutt0y3bt3MBRdc4N3Hc7r3RRddZDZt2mQyMjJMXFxc0JzuXZf+FhQUmNTUVNO/f3+ze/dun9NFXS6XMSZ4ju3y5cuNw+EwL730ktm2bZuZMWOGiY2N9Z6dNmnSJDNnzhxv+08++cSEh4ebhQsXmu3bt5t58+ZVe7r3mV7HgVDXvi5YsMBERkaa119/3ecYet7DCgsLzR133GEyMzPN3r17zXvvvWeGDBlievbsGdAwbkzd+3rfffeZ//znP2bPnj0mOzvbTJgwwURFRZmtW7d62wTrcTWm7v31OP/888348eNP2R7Mx7awsND7eSrJPPbYY2bjxo3mm2++McYYM2fOHDNp0iRve8/p3nfeeafZvn27WbRoUbWne5/u91dbIR9spkyZYiSdcvvggw+8bVRxHQ8Pt9tt7rnnHhMfH28cDocZPXq02blzp8/jHjlyxFx77bWmdevWJjo62txwww0+YSlQzlTX3r17T+m/Mcakp6ebpKQkU1ZWdspjvvPOO2bQoEGmdevWplWrVmbgwIFm8eLF1bZtSnXt6759+8wFF1xg2rVrZxwOh+nRo4e58847fa5jY4wxX3/9tbn44otNixYtTPv27c3s2bN9To8OlLr294MPPqj2b1+S2bt3rzEmuI7tU089Zc4++2wTGRlphg0bZj777DPvfaNGjTJTpkzxaf/qq6+ac88910RGRpq+ffuaf//73z731+Z1HCh16WuXLl2qPYbz5s0zxhhTVFRkLrroIhMXF2ciIiJMly5dzPTp0+v8YeAvdenrbbfd5m0bHx9vxo0bZzZs2ODzeMF8XI2p+9/xjh07jCTz7rvvnvJYwXxsa3p/8fRvypQpZtSoUafsM2jQIBMZGWm6devm87nrcbrfX23ZjAngObsAAACNiOvYAACAkEGwAQAAIYNgAwAAQgbBBgAAhAyCDQAACBkEGwAAEDIINgAAIGQQbAAAQMgg2AAAgJBBsAEAACGDYAMAAEIGwQYAAISM/w+1YapN2QW38QAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ammonia = ase.io.read(\n",
" StringIO(\n",
" \"\"\"4\n",
"Azane\n",
" N -0.0353 -0.0440 0.0285\n",
" H 0.2658 0.6496 0.6822\n",
" H 0.7774 -0.4532 -0.3850\n",
" H -0.5522 0.4148 -0.6935\n",
"\"\"\"\n",
" ),\n",
" format=\"xyz\",\n",
")\n",
"ammonia = ase_atoms_to_jraph_graph(ammonia, cutoff=1.5)\n",
"\n",
"\n",
"for graph in generative_sequence(jax.random.PRNGKey(1), ammonia):\n",
" plt.figure()\n",
" draw_graph(\n",
" jnp.concatenate([graph.nodes.positions, graph.globals.target_position]),\n",
" graph.senders,\n",
" graph.receivers,\n",
" node_color=jnp.concatenate([graph.nodes.atomic_numbers, jnp.array([0])]),\n",
" )\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "f26faf9d33dc8b83cd077f62f5d9010e5bc51611e479f12b96223e2da63ba699"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment