{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example 3: Build a Combinatorial Library\n", "\n", "This notebook briefly introduces the `molli combine` workflow which allows to substitute attachment points on the molecules in a combinatorial fashion.\n", "\n", "## Hardware Specification for Rerun\n", "\n", "Desktop workstation with 2x (AMD EPYC 7702 64-Core) with total of 128 physical and 256 logical cores, 1024 GB DDR4 with Ubuntu 22.04 LTS operating system." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import molli as ml\n", "ml.visual.configure()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Overview.\n", "\n", "We start with the file `phosphorus_core.mol2`, in which we define the three attached pseudoatoms labeled `AP1`, `AP2` and `AP3`. These are the \"attachment points\": the pseudoatoms that define the direction of the substitution. These atoms need to be replaced with the groups found in another file: `substituents.cdxml`.\n", "We will be generating two libraries: achiral and chiral phosphines." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Atom(element=P, isotope=None, label='P', formal_charge=0, formal_spin=0)\n", "Atom(element=Unknown, isotope=None, label='AP1', formal_charge=0, formal_spin=0)\n", "Atom(element=Unknown, isotope=None, label='AP2', formal_charge=0, formal_spin=0)\n", "Atom(element=Unknown, isotope=None, label='AP3', formal_charge=0, formal_spin=0)\n" ] }, { "data": { "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", "text/html": [ "
\n", "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", " jupyter labextension install jupyterlab_3dmol

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/3dmoljs_load.v0": "", "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Molecule(name='P', formula='P1 Unknown3')" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mol = ml.load(\"phosphorus_core.mol2\")\n", "for a in mol.atoms:\n", " print(a)\n", "mol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Import prerequisite molecules as molli collections" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Matched 1 files for importing.\n", "Importing molecules: 100%|██████████████████████| 1/1 [00:00<00:00, 2411.91it/s]\n" ] } ], "source": [ "!molli compile phosphorus_core.mol2 -o P.mlib --overwrite" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Parsing substituents.cdxml: 100%|██████████████| 21/21 [00:00<00:00, 497.99it/s]\n" ] } ], "source": [ "!molli parse substituents.cdxml -o substituents.mlib --hadd --overwrite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Achiral phosphine ligands\n", "\n", "The objective here is to create a library of phosphines in which the P atom is *not stereogenic*, which means that at least two substituents need to be identical.\n", "We are going to achieve this by using molli's command line interface.\n", "\n", "### Create a disubstituted phosphine library with `--mode same`\n", "This ensures that two substituents will be identical" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "usage: molli combine [-h] -s \n", " [-m {same,permutns,combns,combns_repl}]\n", " [-a ATTACHMENT_POINTS] [-n 1] [-b 1] -o \n", " [-sep SEPARATOR] [--hadd]\n", " [--obopt [ff maxiter tol disp ...]] [--overwrite]\n", " cores\n", "\n", "Combines two lists of molecules together\n", "\n", "positional arguments:\n", " cores Base library file to combine wth substituents\n", "\n", "options:\n", " -h, --help show this help message and exit\n", " -s , --substituents \n", " Substituents to add at each attachment of a core file\n", " -m {same,permutns,combns,combns_repl}, --mode {same,permutns,combns,combns_repl}\n", " Method for combining substituents\n", " -a ATTACHMENT_POINTS, --attachment_points ATTACHMENT_POINTS\n", " Label used to find attachment points\n", " -n 1, --nprocs 1 Number of processes to be used in parallel\n", " -b 1, --batchsize 1 Number of molecules to be processed at a time on a\n", " single core\n", " -o , --output \n", " File to be written to\n", " -sep SEPARATOR, --separator SEPARATOR\n", " Name separator\n", " --hadd Add implicit hydrogen atoms wherever possible.\n", " --obopt [ff maxiter tol disp ...]\n", " Perform openbabel optimization on the fly. This\n", " accepts up to 4 arguments. Arg 1: the forcefield\n", " (uff/mmff94/gaff/ghemical). Arg 2: is the max number\n", " of steps (default=500). Arg 3: energy convergence\n", " criterion (default=1e-4) Arg 4: geometry displacement\n", " (default=False) but values ~0.01-0.1 can help escape\n", " planarity.\n", " --overwrite Overwrite the target files if they exist (default is\n", " false)\n" ] } ], "source": [ "!molli combine --help" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Will create a library of size 21\n", "100%|█████████████████████████████████████████████| 1/1 [00:00<00:00, 18.76it/s]\n" ] } ], "source": [ "!molli combine P.mlib -s substituents.mlib -a AP1 -a AP2 -m same -o R2P.mlib --hadd --overwrite" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can attach the last remaining substituent to finish the achiral phosphine library." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Will create a library of size 441\n", "100%|███████████████████████████████████████████| 63/63 [02:50<00:00, 2.70s/it]\n" ] } ], "source": [ "!molli combine R2P.mlib -a AP3 -s substituents.mlib --hadd --obopt UFF 1000 1e-4 0.02 --overwrite -n1 -b8 -o R3P_achiral.mlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to make the calculation faster, some of molli workflows (eventually, all of them) implement parallelization. See the acceleration for yourself!" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Will create a library of size 441\n", "100%|███████████████████████████████████████████| 63/63 [00:25<00:00, 2.49it/s]\n" ] } ], "source": [ "!molli combine R2P.mlib -a AP3 -s substituents.mlib --hadd --obopt UFF 1000 1e-4 0.02 --overwrite -n8 -b8 -o R3P_achiral.mlib " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Chiral phosphine ligands\n", "\n", "The objective here is to create a library of phosphines in which the P atom *is stereogenic*, which means that all substituents need to be different.\n", "We are going to achieve this by using molli's command line interface. \n", "\n", "The magic here is in the use of `-m combns` parameter of the `molli combine` workflow. This means that for each \n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Will create a library of size 1330\n", "100%|█████████████████████████████████████████| 167/167 [08:35<00:00, 3.09s/it]\n" ] } ], "source": [ "!molli combine P.mlib -s substituents.mlib -a AP1 -a AP2 -a AP3 -m combns -o R3P_chiral.mlib --hadd --obopt UFF 1000 1e-4 0.02 --overwrite -n1 -b8" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Jupyter also allows for special commands, so the command `%mlib_view` allows for direct visualization of molecules in a `MoleculeLibrary` without needing to run a full command to open it. The syntax is as follows:\n", "\n", "`%mlib_view `" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "application/3dmoljs_load.v0": "
\n

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n jupyter labextension install jupyterlab_3dmol

\n
\n", "text/html": [ "
\n", "

You appear to be running in JupyterLab (or JavaScript failed to load for some other reason). You need to install the 3dmol extension:
\n", " jupyter labextension install jupyterlab_3dmol

\n", "
\n", "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/3dmoljs_load.v0": "", "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/3dmoljs_load.v0": "", "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%mlib_view R3P_chiral.mlib P_15_17_14 " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 0 P_16_6_9 \n", " 1 P_9_13_12 \n", " 2 P_9_5_14 \n", " 3 P_3_20_12 \n", " 4 P_16_5_7 \n", " 5 P_4_2_10 \n", " 6 P_21_10_12 \n", " 7 P_3_17_20 \n", " 8 P_17_8_18 \n", " 9 P_4_17_9 \n", " 10 P_1_18_19 \n", " 11 P_16_13_18 \n", " 12 P_11_1_13 \n", " 13 P_3_17_13 \n", " 14 P_16_20_18 \n", " 15 P_3_17_5 \n", " 16 P_6_17_18 \n", " 17 P_4_17_12 \n", " 18 P_3_2_14 \n", " 19 P_21_20_18 \n", " 20 P_15_21_9 \n", " 21 P_8_5_19 \n", " 22 P_3_6_12 \n", " 23 P_15_20_5 \n", " 24 P_3_4_19 \n", " 25 P_16_15_18 \n", " 26 P_3_21_19 \n", " 27 P_21_1_8 \n", " 28 P_21_18_2 \n", " 29 P_6_13_18 \n", " 30 P_8_13_2 \n", " 31 P_3_19_10 \n", " 32 P_21_2_10 \n", " 33 P_21_5_12 \n", " 34 P_3_9_2 \n", " 35 P_5_18_19 \n", " 36 P_3_15_6 \n", " 37 P_21_5_13 \n", " 38 P_17_8_7 \n", " 39 P_11_20_14 \n", " 40 P_16_18_19 \n", " 41 P_19_10_7 \n", " 42 P_11_13_2 \n", " 43 P_13_2_12 \n", " 44 P_11_5_2 \n", " 45 P_4_11_20 \n", " 46 P_16_5_14 \n", " 47 P_21_20_9 \n", " 48 P_6_5_12 \n", " 49 P_4_9_2 \n", " 50 P_16_21_19 \n", " 51 P_4_18_7 \n", " 52 P_21_4_14 \n", " 53 P_11_5_14 \n", " 54 P_3_18_2 \n", " 55 P_1_2_19 \n", " 56 P_3_6_18 \n", " 57 P_4_5_12 \n", " 58 P_4_20_14 \n", " 59 P_6_2_7 \n", " 60 P_11_17_18 \n", " 61 P_11_17_19 \n", " 62 P_21_4_20 \n", " 63 P_1_6_19 \n", " 64 P_21_11_8 \n", " 65 P_5_2_14 \n", " 66 P_20_9_18 \n", " 67 P_21_11_6 \n", " 68 P_6_13_2 \n", " 69 P_16_1_19 \n", " 70 P_3_5_19 \n", " 71 P_4_11_5 \n", " 72 P_16_11_12 \n", " 73 P_15_20_9 \n", " 74 P_16_21_17 \n", " 75 P_15_9_18 \n", " 76 P_11_1_17 \n", " 77 P_21_4_7 \n", " 78 P_17_20_9 \n", " 79 P_15_11_18 \n", " 80 P_16_1_9 \n", " 81 P_18_2_10 \n", " 82 P_11_5_7 \n", " 83 P_8_18_14 \n", " 84 P_21_4_11 \n", " 85 P_16_21_7 \n", " 86 P_3_6_5 \n", " 87 P_13_19_12 \n", " 88 P_13_12_7 \n", " 89 P_17_2_7 \n", " 90 P_20_5_2 \n", " 91 P_6_10_12 \n", " 92 P_11_17_13 \n", " 93 P_11_17_2 \n", " 94 P_4_20_5 \n", " 95 P_4_8_5 \n", " 96 P_11_17_9 \n", " 97 P_11_17_7 \n", " 98 P_4_9_5 \n", " 99 P_11_2_19 \n", " 100 P_21_12_7 \n", " 101 P_11_17_12 \n", " 102 P_17_14_7 \n", " 103 P_1_6_5 \n", " 104 P_21_8_20 \n", " 105 P_3_17_12 \n", " 106 P_3_17_7 \n", " 107 P_20_10_7 \n", " 108 P_21_6_2 \n", " 109 P_11_17_10 \n", " 110 P_15_17_8 \n", " 111 P_15_4_7 \n", " 112 P_1_6_9 \n", " 113 P_1_13_12 \n", " 114 P_16_8_12 \n", " 115 P_11_8_19 \n", " 116 P_20_9_5 \n", " 117 P_3_13_10 \n", " 118 P_18_2_19 \n", " 119 P_20_18_14 \n", " 120 P_6_8_5 \n", " 121 P_21_6_14 \n", " 122 P_6_2_19 \n", " 123 P_11_13_14 \n", " 124 P_9_5_7 \n", " 125 P_1_17_19 \n", " 126 P_3_1_18 \n", " 127 P_17_13_18 \n", " 128 P_16_1_7 \n", " 129 P_3_15_21 \n", " 130 P_4_8_10 \n", " 131 P_21_13_2 \n", " 132 P_15_5_13 \n", " 133 P_1_2_7 \n", " 134 P_20_14_7 \n", " 135 P_15_2_14 \n", " 136 P_18_14_7 \n", " 137 P_21_9_7 \n", " 138 P_4_14_7 \n", " 139 P_20_19_10 \n", " 140 P_11_8_18 \n", " 141 P_6_8_18 \n", " 142 P_6_13_7 \n", " 143 P_21_9_18 \n", " 144 P_3_16_12 \n", " 145 P_3_21_20 \n", " 146 P_17_9_7 \n", " 147 P_16_17_14 \n", " 148 P_11_18_19 \n", " 149 P_17_8_20 \n", " 150 P_11_13_12 \n", " 151 P_3_5_14 \n", " 152 P_4_1_20 \n", " 153 P_15_8_14 \n", " 154 P_9_13_10 \n", " 155 P_4_1_10 \n", " 156 P_16_13_19 \n", " 157 P_1_18_2 \n", " 158 P_6_8_19 \n", " 159 P_3_6_10 \n", " 160 P_20_13_19 \n", " 161 P_3_15_14 \n", " 162 P_13_10_7 \n", " 163 P_15_18_14 \n", " 164 P_16_4_9 \n", " 165 P_21_6_17 \n", " 166 P_6_2_14 \n", " 167 P_3_15_7 \n", " 168 P_1_8_19 \n", " 169 P_1_8_2 \n", " 170 P_4_9_12 \n", " 171 P_11_6_9 \n", " 172 P_17_19_14 \n", " 173 P_8_18_7 \n", " 174 P_15_19_7 \n", " 175 P_21_4_19 \n", " 176 P_17_9_13 \n", " 177 P_4_10_7 \n", " 178 P_4_5_13 \n", " 179 P_21_2_7 \n", " 180 P_11_5_18 \n", " 181 P_4_20_9 \n", " 182 P_3_11_20 \n", " 183 P_4_20_19 \n", " 184 P_16_20_5 \n", " 185 P_17_20_12 \n", " 186 P_16_5_12 \n", " 187 P_9_2_19 \n", " 188 P_4_1_19 \n", " 189 P_21_8_19 \n", " 190 P_15_5_19 \n", " 191 P_8_18_19 \n", " 192 P_21_6_8 \n", " 193 P_16_4_11 \n", " 194 P_17_2_12 \n", " 195 P_15_4_13 \n", " 196 P_5_13_12 \n", " 197 P_1_6_7 \n", " 198 P_15_4_8 \n", " 199 P_5_14_7 \n", " 200 P_21_19_14 \n", " 201 P_21_6_7 \n", " 202 P_4_11_7 \n", " 203 P_16_11_8 \n", " 204 P_21_5_2 \n", " 205 P_9_5_10 \n", " 206 P_21_13_14 \n", " 207 P_17_5_2 \n", " 208 P_20_9_2 \n", " 209 P_6_5_14 \n", " 210 P_3_21_2 \n", " 211 P_11_5_19 \n", " 212 P_16_2_19 \n", " 213 P_3_15_17 \n", " 214 P_16_21_8 \n", " 215 P_9_13_7 \n", " 216 P_3_5_2 \n", " 217 P_5_2_19 \n", " 218 P_4_8_20 \n", " 219 P_17_5_13 \n", " 220 P_16_11_10 \n", " 221 P_1_17_20 \n", " 222 P_3_15_2 \n", " 223 P_4_6_9 \n", " 224 P_21_11_1 \n", " 225 P_5_18_7 \n", " 226 P_8_10_7 \n", " 227 P_1_5_12 \n", " 228 P_15_11_2 \n", " 229 P_6_14_12 \n", " 230 P_16_18_7 \n", " 231 P_4_6_2 \n", " 232 P_15_18_10 \n", " 233 P_3_16_4 \n", " 234 P_17_10_14 \n", " 235 P_20_18_7 \n", " 236 P_21_6_20 \n", " 237 P_8_5_12 \n", " 238 P_16_4_12 \n", " 239 P_11_6_19 \n", " 240 P_16_2_7 \n", " 241 P_4_9_18 \n", " 242 P_4_11_1 \n", " 243 P_17_8_9 \n", " 244 P_3_1_9 \n", " 245 P_11_6_7 \n", " 246 P_11_1_12 \n", " 247 P_1_19_7 \n", " 248 P_15_4_20 \n", " 249 P_4_6_13 \n", " 250 P_16_8_14 \n", " 251 P_21_6_9 \n", " 252 P_3_21_14 \n", " 253 P_4_13_12 \n", " 254 P_20_2_10 \n", " 255 P_15_6_7 \n", " 256 P_1_17_5 \n", " 257 P_15_11_9 \n", " 258 P_16_8_2 \n", " 259 P_17_20_13 \n", " 260 P_15_19_12 \n", " 261 P_17_20_5 \n", " 262 P_16_6_2 \n", " 263 P_18_2_7 \n", " 264 P_21_17_14 \n", " 265 P_8_9_7 \n", " 266 P_21_6_19 \n", " 267 P_1_20_12 \n", " 268 P_6_17_2 \n", " 269 P_3_21_17 \n", " 270 P_9_18_12 \n", " 271 P_15_11_13 \n", " 272 P_16_11_18 \n", " 273 P_16_17_7 \n", " 274 P_6_13_12 \n", " 275 P_3_17_2 \n", " 276 P_1_17_9 \n", " 277 P_6_9_19 \n", " 278 P_16_5_19 \n", " 279 P_21_1_10 \n", " 280 P_4_17_10 \n", " 281 P_3_19_14 \n", " 282 P_11_8_9 \n", " 283 P_8_9_10 \n", " 284 P_21_11_14 \n", " 285 P_4_2_14 \n", " 286 P_16_20_9 \n", " 287 P_8_2_10 \n", " 288 P_20_13_12 \n", " 289 P_20_18_12 \n", " 290 P_3_4_14 \n", " 291 P_6_8_12 \n", " 292 P_3_21_6 \n", " 293 P_21_1_13 \n", " 294 P_16_11_19 \n", " 295 P_15_17_19 \n", " 296 P_6_8_7 \n", " 297 P_5_19_7 \n", " 298 P_21_17_19 \n", " 299 P_16_6_5 \n", " 300 P_4_8_2 \n", " 301 P_6_18_19 \n", " 302 P_16_6_19 \n", " 303 P_11_18_12 \n", " 304 P_21_1_5 \n", " 305 P_4_19_7 \n", " 306 P_18_19_7 \n", " 307 P_16_17_19 \n", " 308 P_1_8_9 \n", " 309 P_15_14_12 \n", " 310 P_8_2_12 \n", " 311 P_1_2_10 \n", " 312 P_1_9_5 \n", " 313 P_3_8_20 \n", " 314 P_18_12_7 \n", " 315 P_8_9_18 \n", " 316 P_16_14_12 \n", " 317 P_11_18_7 \n", " 318 P_1_20_19 \n", " 319 P_16_13_7 \n", " 320 P_4_5_14 \n", " 321 P_16_15_6 \n", " 322 P_11_2_14 \n", " 323 P_16_4_10 \n", " 324 P_21_4_6 \n", " 325 P_1_13_18 \n", " 326 P_9_5_18 \n", " 327 P_21_9_12 \n", " 328 P_17_9_5 \n", " 329 P_15_1_14 \n", " 330 P_3_9_18 \n", " 331 P_6_17_13 \n", " 332 P_20_5_19 \n", " 333 P_16_4_17 \n", " 334 P_3_15_5 \n", " 335 P_11_18_2 \n", " 336 P_17_9_18 \n", " 337 P_11_6_14 \n", " 338 P_6_20_7 \n", " 339 P_16_13_12 \n", " 340 P_3_16_20 \n", " 341 P_14_12_7 \n", " 342 P_15_18_2 \n", " 343 P_1_20_9 \n", " 344 P_15_1_7 \n", " 345 P_3_13_12 \n", " 346 P_15_1_5 \n", " 347 P_15_8_20 \n", " 348 P_21_6_13 \n", " 349 P_8_9_12 \n", " 350 P_16_6_8 \n", " 351 P_21_6_10 \n", " 352 P_3_17_14 \n", " 353 P_6_20_10 \n", " 354 P_16_20_10 \n", " 355 P_21_1_20 \n", " 356 P_21_13_12 \n", " 357 P_3_8_13 \n", " 358 P_9_10_14 \n", " 359 P_16_11_20 \n", " 360 P_16_11_1 \n", " 361 P_16_9_5 \n", " 362 P_16_12_7 \n", " 363 P_3_15_10 \n", " 364 P_8_5_7 \n", " 365 P_3_8_7 \n", " 366 P_4_8_14 \n", " 367 P_21_5_14 \n", " 368 P_4_8_7 \n", " 369 P_8_20_19 \n", " 370 P_20_9_13 \n", " 371 P_11_19_7 \n", " 372 P_3_4_8 \n", " 373 P_8_13_12 \n", " 374 P_15_12_7 \n", " 375 P_3_9_7 \n", " 376 P_3_4_9 \n", " 377 P_4_13_7 \n", " 378 P_17_18_12 \n", " 379 P_16_21_5 \n", " 380 P_21_17_9 \n", " 381 P_1_2_12 \n", " 382 P_15_11_14 \n", " 383 P_1_18_12 \n", " 384 P_11_2_12 \n", " 385 P_1_8_18 \n", " 386 P_15_21_17 \n", " 387 P_15_5_10 \n", " 388 P_1_12_7 \n", " 389 P_11_6_13 \n", " 390 P_15_1_17 \n", " 391 P_9_13_14 \n", " 392 P_4_1_2 \n", " 393 P_4_8_18 \n", " 394 P_3_16_14 \n", " 395 P_17_13_10 \n", " 396 P_11_6_10 \n", " 397 P_21_2_12 \n", " 398 P_5_2_12 \n", " 399 P_8_9_14 \n", " 400 P_4_6_14 \n", " 401 P_3_5_13 \n", " 402 P_15_1_13 \n", " 403 P_8_19_14 \n", " 404 P_15_13_19 \n", " 405 P_21_9_2 \n", " 406 P_17_8_5 \n", " 407 P_11_19_10 \n", " 408 P_5_13_7 \n", " 409 P_16_21_1 \n", " 410 P_16_21_10 \n", " 411 P_16_1_5 \n", " 412 P_15_14_7 \n", " 413 P_5_19_10 \n", " 414 P_3_4_7 \n", " 415 P_21_20_19 \n", " 416 P_1_20_18 \n", " 417 P_3_21_7 \n", " 418 P_15_20_13 \n", " 419 P_9_19_14 \n", " 420 P_3_17_19 \n", " 421 P_1_14_12 \n", " 422 P_16_1_13 \n", " 423 P_21_17_8 \n", " 424 P_11_9_5 \n", " 425 P_18_10_14 \n", " 426 P_20_10_14 \n", " 427 P_15_11_19 \n", " 428 P_13_18_12 \n", " 429 P_8_19_10 \n", " 430 P_13_2_7 \n", " 431 P_4_1_13 \n", " 432 P_15_18_12 \n", " 433 P_1_13_19 \n", " 434 P_16_2_12 \n", " 435 P_11_14_7 \n", " 436 P_3_17_8 \n", " 437 P_11_17_20 \n", " 438 P_16_1_2 \n", " 439 P_5_13_2 \n", " 440 P_11_1_5 \n", " 441 P_3_20_9 \n", " 442 P_15_19_14 \n", " 443 P_21_4_13 \n", " 444 P_15_21_8 \n", " 445 P_4_11_19 \n", " 446 P_4_1_7 \n", " 447 P_13_19_7 \n", " 448 P_4_6_20 \n", " 449 P_4_11_18 \n", " 450 P_16_21_4 \n", " 451 P_15_8_18 \n", " 452 P_11_9_7 \n", " 453 P_21_13_7 \n", " 454 P_17_9_14 \n", " 455 P_4_13_10 \n", " 456 P_21_18_10 \n", " 457 P_16_20_2 \n", " 458 P_21_13_10 \n", " 459 P_16_11_7 \n", " 460 P_9_12_7 \n", " 461 P_9_10_7 \n", " 462 P_4_9_10 \n", " 463 P_15_6_13 \n", " 464 P_3_17_10 \n", " 465 P_3_13_19 \n", " 466 P_4_6_7 \n", " 467 P_20_18_10 \n", " 468 P_15_4_14 \n", " 469 P_4_20_7 \n", " 470 P_6_20_9 \n", " 471 P_16_9_2 \n", " 472 P_21_11_7 \n", " 473 P_20_5_7 \n", " 474 P_6_13_10 \n", " 475 P_4_13_18 \n", " 476 P_21_8_14 \n", " 477 P_3_16_11 \n", " 478 P_11_12_7 \n", " 479 P_3_18_7 \n", " 480 P_16_17_10 \n", " 481 P_15_21_12 \n", " 482 P_17_9_12 \n", " 483 P_16_11_17 \n", " 484 P_9_19_7 \n", " 485 P_5_2_7 \n", " 486 P_3_4_18 \n", " 487 P_8_13_14 \n", " 488 P_3_21_4 \n", " 489 P_15_6_20 \n", " 490 P_3_10_12 \n", " 491 P_16_1_12 \n", " 492 P_21_8_18 \n", " 493 P_17_2_19 \n", " 494 P_11_6_5 \n", " 495 P_15_5_18 \n", " 496 P_3_1_2 \n", " 497 P_8_13_10 \n", " 498 P_1_6_13 \n", " 499 P_4_1_12 \n", " 500 P_3_1_8 \n", " 501 P_21_9_13 \n", " 502 P_4_20_2 \n", " 503 P_15_11_17 \n", " 504 P_16_9_14 \n", " 505 P_15_5_14 \n", " 506 P_3_9_12 \n", " 507 P_21_11_18 \n", " 508 P_6_20_2 \n", " 509 P_15_1_12 \n", " 510 P_4_6_18 \n", " 511 P_15_1_6 \n", " 512 P_4_11_8 \n", " 513 P_16_1_20 \n", " 514 P_16_6_18 \n", " 515 P_17_10_12 \n", " 516 P_21_2_14 \n", " 517 P_18_19_10 \n", " 518 P_4_1_5 \n", " 519 P_5_10_7 \n", " 520 P_16_18_10 \n", " 521 P_3_5_10 \n", " 522 P_16_15_13 \n", " 523 P_6_20_12 \n", " 524 P_9_13_2 \n", " 525 P_1_17_10 \n", " 526 P_6_20_13 \n", " 527 P_2_10_14 \n", " 528 P_16_4_1 \n", " 529 P_9_13_18 \n", " 530 P_20_9_10 \n", " 531 P_16_15_9 \n", " 532 P_3_1_14 \n", " 533 P_16_11_9 \n", " 534 P_3_1_5 \n", " 535 P_4_20_10 \n", " 536 P_1_2_14 \n", " 537 P_15_1_19 \n", " 538 P_15_6_9 \n", " 539 P_9_18_19 \n", " 540 P_16_4_8 \n", " 541 P_16_19_14 \n", " 542 P_3_12_7 \n", " 543 P_15_17_18 \n", " 544 P_16_15_17 \n", " 545 P_13_18_10 \n", " 546 P_3_11_7 \n", " 547 P_9_18_14 \n", " 548 P_16_8_7 \n", " 549 P_16_11_14 \n", " 550 P_20_5_10 \n", " 551 P_3_15_12 \n", " 552 P_1_13_7 \n", " 553 P_17_9_10 \n", " 554 P_17_10_7 \n", " 555 P_3_8_9 \n", " 556 P_15_6_14 \n", " 557 P_4_18_2 \n", " 558 P_3_19_7 \n", " 559 P_15_18_7 \n", " 560 P_20_18_2 \n", " 561 P_3_1_13 \n", " 562 P_15_4_12 \n", " 563 P_16_6_13 \n", " 564 P_16_9_12 \n", " 565 P_1_20_7 \n", " 566 P_15_21_1 \n", " 567 P_11_13_10 \n", " 568 P_16_4_7 \n", " 569 P_3_1_20 \n", " 570 P_1_17_13 \n", " 571 P_1_6_18 \n", " 572 P_4_11_10 \n", " 573 P_20_13_18 \n", " 574 P_17_18_19 \n", " 575 P_3_9_14 \n", " 576 P_15_13_10 \n", " 577 P_16_6_20 \n", " 578 P_21_19_12 \n", " 579 P_16_4_20 \n", " 580 P_11_13_18 \n", " 581 P_16_19_10 \n", " 582 P_17_5_14 \n", " 583 P_15_13_14 \n", " 584 P_15_11_7 \n", " 585 P_16_20_12 \n", " 586 P_1_8_12 \n", " 587 P_1_17_18 \n", " 588 P_3_5_12 \n", " 589 P_3_21_9 \n", " 590 P_21_4_18 \n", " 591 P_20_13_7 \n", " 592 P_17_13_14 \n", " 593 P_3_13_2 \n", " 594 P_11_10_12 \n", " 595 P_3_8_2 \n", " 596 P_20_19_14 \n", " 597 P_3_11_19 \n", " 598 P_15_11_8 \n", " 599 P_16_8_20 \n", " 600 P_3_11_10 \n", " 601 P_1_9_7 \n", " 602 P_16_4_13 \n", " 603 P_3_15_1 \n", " 604 P_15_8_9 \n", " 605 P_3_6_2 \n", " 606 P_15_21_4 \n", " 607 P_3_11_9 \n", " 608 P_15_17_2 \n", " 609 P_9_2_7 \n", " 610 P_4_5_10 \n", " 611 P_8_9_13 \n", " 612 P_11_8_12 \n", " 613 P_3_18_12 \n", " 614 P_4_20_18 \n", " 615 P_1_9_10 \n", " 616 P_4_20_13 \n", " 617 P_16_5_10 \n", " 618 P_6_5_10 \n", " 619 P_16_21_2 \n", " 620 P_3_6_17 \n", " 621 P_4_19_10 \n", " 622 P_17_18_2 \n", " 623 P_13_18_14 \n", " 624 P_15_9_7 \n", " 625 P_1_8_5 \n", " 626 P_8_13_18 \n", " 627 P_1_6_2 \n", " 628 P_21_13_19 \n", " 629 P_1_9_12 \n", " 630 P_20_2_12 \n", " 631 P_3_8_14 \n", " 632 P_16_17_20 \n", " 633 P_6_18_12 \n", " 634 P_16_11_2 \n", " 635 P_3_20_5 \n", " 636 P_15_21_13 \n", " 637 P_21_17_7 \n", " 638 P_18_14_12 \n", " 639 P_3_6_14 \n", " 640 P_21_11_2 \n", " 641 P_11_20_12 \n", " 642 P_21_20_14 \n", " 643 P_4_6_19 \n", " 644 P_6_18_2 \n", " 645 P_15_6_18 \n", " 646 P_16_20_13 \n", " 647 P_4_6_10 \n", " 648 P_20_9_12 \n", " 649 P_11_19_14 \n", " 650 P_3_20_7 \n", " 651 P_3_10_7 \n", " 652 P_21_17_20 \n", " 653 P_3_8_10 \n", " 654 P_21_5_19 \n", " 655 P_15_9_13 \n", " 656 P_11_9_10 \n", " 657 P_1_8_14 \n", " 658 P_16_17_13 \n", " 659 P_3_1_12 \n", " 660 P_4_11_14 \n", " 661 P_1_20_14 \n", " 662 P_3_10_14 \n", " 663 P_4_18_19 \n", " 664 P_15_5_7 \n", " 665 P_15_6_10 \n", " 666 P_16_6_7 \n", " 667 P_15_11_10 \n", " 668 P_13_14_7 \n", " 669 P_18_19_12 \n", " 670 P_3_21_1 \n", " 671 P_20_13_14 \n", " 672 P_15_9_10 \n", " 673 P_1_19_12 \n", " 674 P_11_8_14 \n", " 675 P_15_10_14 \n", " 676 P_15_11_12 \n", " 677 P_17_9_2 \n", " 678 P_2_19_14 \n", " 679 P_4_14_12 \n", " 680 P_16_6_10 \n", " 681 P_6_17_8 \n", " 682 P_3_8_19 \n", " 683 P_16_1_17 \n", " 684 P_11_20_13 \n", " 685 P_15_9_2 \n", " 686 P_20_9_7 \n", " 687 P_3_4_20 \n", " 688 P_17_8_10 \n", " 689 P_10_12_7 \n", " 690 P_16_15_19 \n", " 691 P_1_8_13 \n", " 692 P_3_21_18 \n", " 693 P_9_5_12 \n", " 694 P_21_20_7 \n", " 695 P_3_15_4 \n", " 696 P_16_17_5 \n", " 697 P_3_9_5 \n", " 698 P_6_19_7 \n", " 699 P_16_21_18 \n", " 700 P_5_10_12 \n", " 701 P_21_9_19 \n", " 702 P_21_18_14 \n", " 703 P_15_19_10 \n", " 704 P_15_4_2 \n", " 705 P_3_16_6 \n", " 706 P_15_1_2 \n", " 707 P_9_13_19 \n", " 708 P_1_10_14 \n", " 709 P_1_13_14 \n", " 710 P_11_1_18 \n", " 711 P_3_11_17 \n", " 712 P_21_13_18 \n", " 713 P_3_16_19 \n", " 714 P_16_15_21 \n", " 715 P_17_8_13 \n", " 716 P_6_20_18 \n", " 717 P_1_8_10 \n", " 718 P_16_20_14 \n", " 719 P_6_17_20 \n", " 720 P_19_10_14 \n", " 721 P_4_17_14 \n", " 722 P_3_4_5 \n", " 723 P_6_9_2 \n", " 724 P_4_17_13 \n", " 725 P_9_14_7 \n", " 726 P_21_8_9 \n", " 727 P_3_15_9 \n", " 728 P_21_10_14 \n", " 729 P_9_5_2 \n", " 730 P_16_8_18 \n", " 731 P_16_11_5 \n", " 732 P_15_1_18 \n", " 733 P_1_19_14 \n", " 734 P_21_1_18 \n", " 735 P_8_18_12 \n", " 736 P_15_20_19 \n", " 737 P_16_18_14 \n", " 738 P_15_8_12 \n", " 739 P_11_2_7 \n", " 740 P_8_5_14 \n", " 741 P_16_8_19 \n", " 742 P_3_6_7 \n", " 743 P_15_2_10 \n", " 744 P_4_5_19 \n", " 745 P_3_15_8 \n", " 746 P_11_18_10 \n", " 747 P_16_19_12 \n", " 748 P_16_1_8 \n", " 749 P_3_1_19 \n", " 750 P_16_9_10 \n", " 751 P_17_20_2 \n", " 752 P_3_11_14 \n", " 753 P_4_12_7 \n", " 754 P_3_18_14 \n", " 755 P_16_9_19 \n", " 756 P_4_11_9 \n", " 757 P_16_15_14 \n", " 758 P_15_13_7 \n", " 759 P_20_13_2 \n", " 760 P_3_20_10 \n", " 761 P_21_11_10 \n", " 762 P_4_17_7 \n", " 763 P_15_4_5 \n", " 764 P_21_5_10 \n", " 765 P_17_18_14 \n", " 766 P_9_19_10 \n", " 767 P_15_4_9 \n", " 768 P_8_18_2 \n", " 769 P_4_10_14 \n", " 770 P_16_9_13 \n", " 771 P_21_8_2 \n", " 772 P_15_21_14 \n", " 773 P_6_8_13 \n", " 774 P_21_6_12 \n", " 775 P_4_6_17 \n", " 776 P_4_13_14 \n", " 777 P_20_5_14 \n", " 778 P_11_1_20 \n", " 779 P_3_16_5 \n", " 780 P_4_9_13 \n", " 781 P_2_14_12 \n", " 782 P_15_6_2 \n", " 783 P_16_8_10 \n", " 784 P_15_9_5 \n", " 785 P_1_17_7 \n", " 786 P_17_8_19 \n", " 787 P_1_20_5 \n", " 788 P_3_20_2 \n", " 789 P_9_2_12 \n", " 790 P_16_17_9 \n", " 791 P_5_19_12 \n", " 792 P_5_12_7 \n", " 793 P_9_2_14 \n", " 794 P_3_1_17 \n", " 795 P_16_11_6 \n", " 796 P_6_8_14 \n", " 797 P_3_13_14 \n", " 798 P_16_4_19 \n", " 799 P_1_13_10 \n", " 800 P_13_18_2 \n", " 801 P_13_18_7 \n", " 802 P_15_5_12 \n", " 803 P_11_8_7 \n", " 804 P_21_8_12 \n", " 805 P_15_17_10 \n", " 806 P_6_9_12 \n", " 807 P_18_2_12 \n", " 808 P_8_10_12 \n", " 809 P_4_1_14 \n", " 810 P_8_5_2 \n", " 811 P_19_12_7 \n", " 812 P_11_9_12 \n", " 813 P_1_17_14 \n", " 814 P_6_2_12 \n", " 815 P_8_13_19 \n", " 816 P_15_10_7 \n", " 817 P_4_18_10 \n", " 818 P_16_15_10 \n", " 819 P_21_8_10 \n", " 820 P_6_17_12 \n", " 821 P_17_20_7 \n", " 822 P_13_19_14 \n", " 823 P_17_2_10 \n", " 824 P_4_17_19 \n", " 825 P_3_18_10 \n", " 826 P_11_18_14 \n", " 827 P_17_19_10 \n", " 828 P_6_19_12 \n", " 829 P_16_20_19 \n", " 830 P_16_9_7 \n", " 831 P_8_18_10 \n", " 832 P_15_17_12 \n", " 833 P_15_6_8 \n", " 834 P_21_20_10 \n", " 835 P_21_4_17 \n", " 836 P_21_20_12 \n", " 837 P_17_5_7 \n", " 838 P_1_20_13 \n", " 839 P_4_9_14 \n", " 840 P_8_20_10 \n", " 841 P_15_17_7 \n", " 842 P_15_21_5 \n", " 843 P_11_17_5 \n", " 844 P_4_17_18 \n", " 845 P_15_17_9 \n", " 846 P_21_11_13 \n", " 847 P_8_13_7 \n", " 848 P_3_13_7 \n", " 849 P_4_8_12 \n", " 850 P_21_4_10 \n", " 851 P_17_20_14 \n", " 852 P_9_19_12 \n", " 853 P_8_20_2 \n", " 854 P_16_15_1 \n", " 855 P_15_9_14 \n", " 856 P_16_13_14 \n", " 857 P_21_9_5 \n", " 858 P_1_5_19 \n", " 859 P_11_1_14 \n", " 860 P_3_1_10 \n", " 861 P_1_19_10 \n", " 862 P_11_8_10 \n", " 863 P_6_9_14 \n", " 864 P_16_18_2 \n", " 865 P_15_6_5 \n", " 866 P_21_17_12 \n", " 867 P_11_2_10 \n", " 868 P_15_8_19 \n", " 869 P_20_5_12 \n", " 870 P_16_13_10 \n", " 871 P_21_17_10 \n", " 872 P_4_19_14 \n", " 873 P_4_11_6 \n", " 874 P_5_2_10 \n", " 875 P_1_6_8 \n", " 876 P_11_1_7 \n", " 877 P_3_21_11 \n", " 878 P_15_2_12 \n", " 879 P_20_13_10 \n", " 880 P_21_4_9 \n", " 881 P_21_11_19 \n", " 882 P_4_13_2 \n", " 883 P_3_8_12 \n", " 884 P_3_16_18 \n", " 885 P_3_16_2 \n", " 886 P_3_6_20 \n", " 887 P_1_6_10 \n", " 888 P_15_21_7 \n", " 889 P_3_21_13 \n", " 890 P_15_11_6 \n", " 891 P_16_11_13 \n", " 892 P_4_10_12 \n", " 893 P_21_11_17 \n", " 894 P_3_4_13 \n", " 895 P_21_1_14 \n", " 896 P_8_9_19 \n", " 897 P_18_2_14 \n", " 898 P_21_4_5 \n", " 899 P_3_9_13 \n", " 900 P_16_17_8 \n", " 901 P_16_21_13 \n", " 902 P_6_18_7 \n", " 903 P_17_5_12 \n", " 904 P_8_20_18 \n", " 905 P_15_20_12 \n", " 906 P_8_5_10 \n", " 907 P_11_5_10 \n", " 908 P_1_9_14 \n", " 909 P_13_2_10 \n", " 910 P_3_17_9 \n", " 911 P_15_11_5 \n", " 912 P_11_19_12 \n", " 913 P_16_1_18 \n", " 914 P_11_20_18 \n", " 915 P_6_17_9 \n", " 916 P_11_6_20 \n", " 917 P_4_11_2 \n", " 918 P_21_20_5 \n", " 919 P_15_6_17 \n", " 920 P_20_5_13 \n", " 921 P_3_21_10 \n", " 922 P_3_6_8 \n", " 923 P_3_11_18 \n", " 924 P_8_20_9 \n", " 925 P_8_19_12 \n", " 926 P_21_1_6 \n", " 927 P_4_17_20 \n", " 928 P_5_18_2 \n", " 929 P_16_15_2 \n", " 930 P_17_9_19 \n", " 931 P_8_14_12 \n", " 932 P_4_5_18 \n", " 933 P_13_14_12 \n", " 934 P_3_21_12 \n", " 935 P_21_8_5 \n", " 936 P_3_5_18 \n", " 937 P_11_8_2 \n", " 938 P_5_10_14 \n", " 939 P_21_5_18 \n", " 940 P_11_9_2 \n", " 941 P_11_6_12 \n", " 942 P_3_16_8 \n", " 943 P_3_20_19 \n", " 944 P_6_18_14 \n", " 945 P_16_10_14 \n", " 946 P_17_13_2 \n", " 947 P_11_5_13 \n", " 948 P_1_5_10 \n", " 949 P_6_20_14 \n", " 950 P_11_20_5 \n", " 951 P_21_10_7 \n", " 952 P_6_9_18 \n", " 953 P_4_19_12 \n", " 954 P_16_21_11 \n", " 955 P_20_2_19 \n", " 956 P_15_21_20 \n", " 957 P_20_9_19 \n", " 958 P_20_12_7 \n", " 959 P_4_5_2 \n", " 960 P_1_20_2 \n", " 961 P_17_5_10 \n", " 962 P_15_20_14 \n", " 963 P_4_8_19 \n", " 964 P_6_20_5 \n", " 965 P_11_20_19 \n", " 966 P_4_1_9 \n", " 967 P_1_8_7 \n", " 968 P_6_14_7 \n", " 969 P_20_14_12 \n", " 970 P_21_14_12 \n", " 971 P_15_4_1 \n", " 972 P_15_20_7 \n", " 973 P_3_2_7 \n", " 974 P_8_20_5 \n", " 975 P_8_20_12 \n", " 976 P_1_18_10 \n", " 977 P_20_5_18 \n", " 978 P_16_21_12 \n", " 979 P_11_20_9 \n", " 980 P_1_18_14 \n", " 981 P_15_13_12 \n", " 982 P_4_1_17 \n", " 983 P_21_11_20 \n", " 984 P_13_10_12 \n", " 985 P_3_18_19 \n", " 986 P_1_10_12 \n", " 987 P_16_6_12 \n", " 988 P_3_2_19 \n", " 989 P_9_5_13 \n", " 990 P_17_20_18 \n", " 991 P_4_17_5 \n", " 992 P_3_4_2 \n", " 993 P_11_14_12 \n", " 994 P_4_18_12 \n", " 995 P_4_6_8 \n", " 996 P_20_10_12 \n", " 997 P_11_8_20 \n", " 998 P_1_5_14 \n", " 999 P_5_13_10 \n", " 1000 P_11_1_8 \n", " 1001 P_21_6_5 \n", " 1002 P_11_13_19 \n", " 1003 P_5_18_12 \n", " 1004 P_16_5_13 \n", " 1005 P_6_9_5 \n", " 1006 P_8_19_7 \n", " 1007 P_21_2_19 \n", " 1008 P_21_1_19 \n", " 1009 P_21_11_5 \n", " 1010 P_11_8_5 \n", " 1011 P_3_6_13 \n", " 1012 P_21_19_7 \n", " 1013 P_3_4_17 \n", " 1014 P_3_1_6 \n", " 1015 P_21_1_7 \n", " 1016 P_3_9_19 \n", " 1017 P_17_19_7 \n", " 1018 P_1_6_20 \n", " 1019 P_2_10_7 \n", " 1020 P_3_16_7 \n", " 1021 P_11_13_7 \n", " 1022 P_3_4_11 \n", " 1023 P_5_13_18 \n", " 1024 P_16_2_10 \n", " 1025 P_15_11_20 \n", " 1026 P_21_17_18 \n", " 1027 P_4_8_13 \n", " 1028 P_11_6_2 \n", " 1029 P_3_14_7 \n", " 1030 P_6_18_10 \n", " 1031 P_3_9_10 \n", " 1032 P_11_1_10 \n", " 1033 P_15_13_18 \n", " 1034 P_3_11_2 \n", " 1035 P_11_8_13 \n", " 1036 P_1_6_14 \n", " 1037 P_16_5_2 \n", " 1038 P_16_8_9 \n", " 1039 P_16_10_7 \n", " 1040 P_15_21_2 \n", " 1041 P_1_9_13 \n", " 1042 P_4_13_19 \n", " 1043 P_11_9_13 \n", " 1044 P_1_17_12 \n", " 1045 P_2_19_7 \n", " 1046 P_16_1_6 \n", " 1047 P_21_8_7 \n", " 1048 P_5_13_14 \n", " 1049 P_21_9_10 \n", " 1050 P_11_6_8 \n", " 1051 P_4_20_12 \n", " 1052 P_15_21_11 \n", " 1053 P_6_17_5 \n", " 1054 P_3_20_13 \n", " 1055 P_3_20_18 \n", " 1056 P_3_8_5 \n", " 1057 P_8_9_2 \n", " 1058 P_9_10_12 \n", " 1059 P_4_6_12 \n", " 1060 P_15_20_2 \n", " 1061 P_6_9_10 \n", " 1062 P_6_9_13 \n", " 1063 P_3_2_12 \n", " 1064 P_19_14_7 \n", " 1065 P_16_21_20 \n", " 1066 P_11_17_8 \n", " 1067 P_11_9_14 \n", " 1068 P_4_5_7 \n", " 1069 P_1_5_2 \n", " 1070 P_16_15_4 \n", " 1071 P_16_4_14 \n", " 1072 P_16_15_12 \n", " 1073 P_13_19_10 \n", " 1074 P_3_16_13 \n", " 1075 P_15_8_2 \n", " 1076 P_3_4_10 \n", " 1077 P_21_5_7 \n", " 1078 P_16_21_6 \n", " 1079 P_16_20_7 \n", " 1080 P_16_19_7 \n", " 1081 P_15_20_10 \n", " 1082 P_9_18_2 \n", " 1083 P_3_2_10 \n", " 1084 P_2_10_12 \n", " 1085 P_6_5_19 \n", " 1086 P_6_17_10 \n", " 1087 P_20_2_14 \n", " 1088 P_4_6_5 \n", " 1089 P_3_21_5 \n", " 1090 P_3_11_8 \n", " 1091 P_8_20_14 \n", " 1092 P_11_1_2 \n", " 1093 P_11_1_19 \n", " 1094 P_15_1_20 \n", " 1095 P_15_8_5 \n", " 1096 P_1_6_12 \n", " 1097 P_16_15_8 \n", " 1098 P_15_1_10 \n", " 1099 P_3_15_13 \n", " 1100 P_15_4_10 \n", " 1101 P_11_20_7 \n", " 1102 P_3_11_13 \n", " 1103 P_3_16_17 \n", " 1104 P_4_17_8 \n", " 1105 P_4_9_19 \n", " 1106 P_3_15_20 \n", " 1107 P_20_19_12 \n", " 1108 P_1_5_13 \n", " 1109 P_16_4_18 \n", " 1110 P_11_9_19 \n", " 1111 P_17_13_7 \n", " 1112 P_16_1_10 \n", " 1113 P_15_1_9 \n", " 1114 P_11_6_17 \n", " 1115 P_6_8_10 \n", " 1116 P_6_19_14 \n", " 1117 P_21_19_10 \n", " 1118 P_6_17_14 \n", " 1119 P_6_17_7 \n", " 1120 P_15_1_8 \n", " 1121 P_1_14_7 \n", " 1122 P_16_17_18 \n", " 1123 P_3_11_12 \n", " 1124 P_17_19_12 \n", " 1125 P_11_20_2 \n", " 1126 P_3_6_9 \n", " 1127 P_1_9_18 \n", " 1128 P_15_21_18 \n", " 1129 P_15_17_5 \n", " 1130 P_21_18_12 \n", " 1131 P_16_15_5 \n", " 1132 P_21_11_12 \n", " 1133 P_15_4_19 \n", " 1134 P_19_14_12 \n", " 1135 P_3_15_18 \n", " 1136 P_13_2_14 \n", " 1137 P_6_8_9 \n", " 1138 P_21_1_9 \n", " 1139 P_6_13_19 \n", " 1140 P_15_2_7 \n", " 1141 P_15_20_18 \n", " 1142 P_9_14_12 \n", " 1143 P_15_17_14 \n", " 1144 P_15_8_13 \n", " 1145 P_21_17_13 \n", " 1146 P_2_14_7 \n", " 1147 P_8_12_7 \n", " 1148 P_21_9_14 \n", " 1149 P_3_15_11 \n", " 1150 P_1_5_18 \n", " 1151 P_3_13_18 \n", " 1152 P_18_19_14 \n", " 1153 P_3_1_7 \n", " 1154 P_16_9_18 \n", " 1155 P_16_8_13 \n", " 1156 P_3_16_10 \n", " 1157 P_3_4_12 \n", " 1158 P_4_17_2 \n", " 1159 P_1_13_2 \n", " 1160 P_16_14_7 \n", " 1161 P_16_5_18 \n", " 1162 P_6_9_7 \n", " 1163 P_15_21_19 \n", " 1164 P_8_10_14 \n", " 1165 P_11_10_7 \n", " 1166 P_15_4_18 \n", " 1167 P_11_1_6 \n", " 1168 P_6_5_2 \n", " 1169 P_4_11_12 \n", " 1170 P_20_9_14 \n", " 1171 P_16_4_5 \n", " 1172 P_17_8_14 \n", " 1173 P_17_13_12 \n", " 1174 P_21_4_8 \n", " 1175 P_15_8_10 \n", " 1176 P_15_8_7 \n", " 1177 P_6_8_2 \n", " 1178 P_17_8_12 \n", " 1179 P_11_17_14 \n", " 1180 P_21_1_12 \n", " 1181 P_8_5_13 \n", " 1182 P_17_20_19 \n", " 1183 P_21_18_7 \n", " 1184 P_17_5_19 \n", " 1185 P_1_5_7 \n", " 1186 P_4_2_7 \n", " 1187 P_11_10_14 \n", " 1188 P_9_18_7 \n", " 1189 P_3_16_9 \n", " 1190 P_3_16_15 \n", " 1191 P_2_12_7 \n", " 1192 P_3_4_1 \n", " 1193 P_1_9_19 \n", " 1194 P_6_2_10 \n", " 1195 P_21_8_13 \n", " 1196 P_15_17_20 \n", " 1197 P_21_1_17 \n", " 1198 P_16_21_9 \n", " 1199 P_10_14_7 \n", " 1200 P_15_4_11 \n", " 1201 P_17_13_19 \n", " 1202 P_1_8_20 \n", " 1203 P_3_11_1 \n", " 1204 P_21_20_2 \n", " 1205 P_8_2_19 \n", " 1206 P_4_11_13 \n", " 1207 P_8_2_7 \n", " 1208 P_8_20_7 \n", " 1209 P_21_4_1 \n", " 1210 P_17_12_7 \n", " 1211 P_5_13_19 \n", " 1212 P_3_21_8 \n", " 1213 P_15_11_1 \n", " 1214 P_16_10_12 \n", " 1215 P_4_9_7 \n", " 1216 P_3_19_12 \n", " 1217 P_15_21_6 \n", " 1218 P_17_18_7 \n", " 1219 P_3_14_12 \n", " 1220 P_6_13_14 \n", " 1221 P_3_11_6 \n", " 1222 P_15_2_19 \n", " 1223 P_4_18_14 \n", " 1224 P_5_18_10 \n", " 1225 P_4_1_18 \n", " 1226 P_5_19_14 \n", " 1227 P_16_15_20 \n", " 1228 P_1_18_7 \n", " 1229 P_21_14_7 \n", " 1230 P_10_14_12 \n", " 1231 P_16_2_14 \n", " 1232 P_1_17_2 \n", " 1233 P_3_5_7 \n", " 1234 P_2_19_12 \n", " 1235 P_17_14_12 \n", " 1236 P_4_8_9 \n", " 1237 P_4_1_6 \n", " 1238 P_15_6_19 \n", " 1239 P_6_17_19 \n", " 1240 P_17_20_10 \n", " 1241 P_1_6_17 \n", " 1242 P_15_6_12 \n", " 1243 P_9_18_10 \n", " 1244 P_11_6_18 \n", " 1245 P_15_5_2 \n", " 1246 P_15_17_13 \n", " 1247 P_19_10_12 \n", " 1248 P_11_9_18 \n", " 1249 P_8_14_7 \n", " 1250 P_20_2_7 \n", " 1251 P_15_9_12 \n", " 1252 P_15_10_12 \n", " 1253 P_3_11_5 \n", " 1254 P_21_11_9 \n", " 1255 P_9_5_19 \n", " 1256 P_21_20_13 \n", " 1257 P_21_1_2 \n", " 1258 P_16_15_11 \n", " 1259 P_3_20_14 \n", " 1260 P_20_19_7 \n", " 1261 P_6_10_7 \n", " 1262 P_6_8_20 \n", " 1263 P_15_4_6 \n", " 1264 P_16_13_2 \n", " 1265 P_3_4_6 \n", " 1266 P_21_18_19 \n", " 1267 P_8_20_13 \n", " 1268 P_13_10_14 \n", " 1269 P_13_18_19 \n", " 1270 P_4_1_8 \n", " 1271 P_21_4_12 \n", " 1272 P_16_17_2 \n", " 1273 P_16_17_12 \n", " 1274 P_1_17_8 \n", " 1275 P_21_17_2 \n", " 1276 P_2_19_10 \n", " 1277 P_17_8_2 \n", " 1278 P_15_18_19 \n", " 1279 P_8_2_14 \n", " 1280 P_1_20_10 \n", " 1281 P_11_1_9 \n", " 1282 P_17_18_10 \n", " 1283 P_15_13_2 \n", " 1284 P_17_5_18 \n", " 1285 P_6_20_19 \n", " 1286 P_6_5_18 \n", " 1287 P_3_6_19 \n", " 1288 P_3_16_21 \n", " 1289 P_16_8_5 \n", " 1290 P_21_4_2 \n", " 1291 P_6_12_7 \n", " 1292 P_6_5_13 \n", " 1293 P_3_8_18 \n", " 1294 P_16_6_14 \n", " 1295 P_16_6_17 \n", " 1296 P_16_18_12 \n", " 1297 P_15_21_10 \n", " 1298 P_1_9_2 \n", " 1299 P_5_18_14 \n", " 1300 P_20_18_19 \n", " 1301 P_15_9_19 \n", " 1302 P_5_14_12 \n", " 1303 P_21_6_18 \n", " 1304 P_13_2_19 \n", " 1305 P_6_19_10 \n", " 1306 P_17_2_14 \n", " 1307 P_8_9_5 \n", " 1308 P_3_17_18 \n", " 1309 P_16_1_14 \n", " 1310 P_4_11_17 \n", " 1311 P_3_16_1 \n", " 1312 P_16_4_2 \n", " 1313 P_4_2_19 \n", " 1314 P_18_10_12 \n", " 1315 P_21_17_5 \n", " 1316 P_16_15_7 \n", " 1317 P_15_4_17 \n", " 1318 P_8_5_18 \n", " 1319 P_4_2_12 \n", " 1320 P_6_5_7 \n", " 1321 P_11_5_12 \n", " 1322 P_11_20_10 \n", " 1323 P_9_2_10 \n", " 1324 P_3_15_19 \n", " 1325 P_16_4_6 \n", " 1326 P_18_10_7 \n", " 1327 P_6_10_14 \n", " 1328 P_16_21_14 \n", " 1329 P_1_10_7 \n" ] } ], "source": [ "!molli ls R3P_chiral.mlib" ] } ], "metadata": { "kernelspec": { "display_name": "dev-blake", "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.11.6" } }, "nbformat": 4, "nbformat_minor": 2 }