Last active
April 16, 2025 17:46
-
-
Save maclandrol/3119bdc7553ba47e8f0ca46188acf44e to your computer and use it in GitHub Desktop.
safe-explanation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%load_ext autoreload\n", | |
"%autoreload 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import datamol as dm\n", | |
"import safe as sf\n", | |
"\n", | |
"baricitinib = \"CCS(=O)(=O)N1CC(C1)(CC#N)N2C=C(C=N2)C3=C4C=CNC4=NC=N3\"" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x325cda110>" | |
] | |
}, | |
"execution_count": 3, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"smiles = \"CC1=CN=C(N=C1NC2=CC(=CC=C2)S(=O)(=O)NC(C)(C)C)NC3=CC=C(C=C3)N4CCN(CC4)C\"\n", | |
"dm.to_mol(smiles)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'S4(=O)(=O)c1cccc5c1.CC3(C)C.N34.N25'" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sf.encode(sf.decode(\"c1%10cccc(S5(=O)=O)c1.C4(C)(C)C.N7%10.N45\", remove_dummies=False, as_mol=True))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x32501cd60>" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"mol = dm.to_mol(baricitinib)\n", | |
"mol" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Representation using 5 fragments\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/plain": [ | |
"'c18ncnc2[nH]ccc12.N15CC67C1.n17cc8cn1.CCS5(=O)=O.C6C#N'" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"safe_str = sf.encode(mol)\n", | |
"print(f\"Representation using {len(safe_str.split('.'))} fragments\")\n", | |
"safe_str" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The fragment in the GenMol example is supposed to be for an example of fragment-constrained design from our drug benchmark dataset.\n", | |
"\n", | |
"I assume that the ```[*{20-20}]``` is part of the genmol specification to do fragment completion, but it is not part of the safe syntax. \n", | |
"\n", | |
"\n", | |
"The corresponding SAFE fragment is thus: ```C124CN3C1.S3(=O)(=O)CC.C4C#N```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x330bd57e0>" | |
] | |
}, | |
"execution_count": 39, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# from genmol fragment completion\n", | |
"genmmol_frag = \"C124CN3C1.S3(=O)(=O)CC.C4C#N\"\n", | |
"sf.decode(genmmol_frag, as_mol=True, remove_dummies=False)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/svg+xml": [ | |
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:rdkit=\"http://www.rdkit.org/xml\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" baseProfile=\"full\" xml:space=\"preserve\" width=\"300px\" height=\"300px\" viewBox=\"0 0 300 300\">\n", | |
"<!-- END OF HEADER -->\n", | |
"<rect style=\"opacity:1.0;fill:#FFFFFF;stroke:none\" width=\"300.0\" height=\"300.0\" x=\"0.0\" y=\"0.0\"> </rect>\n", | |
"<path class=\"bond-0 atom-0 atom-1\" d=\"M 209.6,158.3 L 215.7,135.4\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-0 atom-0 atom-1\" d=\"M 214.5,157.0 L 219.9,136.5\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-1 atom-1 atom-2\" d=\"M 221.1,129.2 L 244.9,122.8\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-2 atom-2 atom-3\" d=\"M 244.9,122.8 L 261.4,139.1\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-2 atom-2 atom-3\" d=\"M 243.6,127.6 L 258.3,142.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-3 atom-3 atom-4\" d=\"M 264.1,148.2 L 258.1,171.1\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-4 atom-4 atom-5\" d=\"M 258.1,171.1 L 270.6,190.2\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-5 atom-5 atom-6\" d=\"M 269.8,200.3 L 255.8,217.8\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-6 atom-6 atom-7\" d=\"M 255.8,217.8 L 228.7,207.6\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-6 atom-6 atom-7\" d=\"M 254.4,212.6 L 233.2,204.6\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-7 atom-7 atom-8\" d=\"M 228.7,207.6 L 230.2,178.7\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-8 atom-9 atom-10\" d=\"M 74.7,171.7 L 97.7,180.4\" style=\"fill:none;fill-rule:evenodd;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-9 atom-10 atom-11\" d=\"M 97.7,180.4 L 108.0,153.3\" style=\"fill:none;fill-rule:evenodd;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-10 atom-11 atom-12\" d=\"M 108.0,153.3 L 80.9,143.1\" style=\"fill:none;fill-rule:evenodd;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-11 atom-13 atom-14\" d=\"M 139.1,161.0 L 159.2,147.8\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-12 atom-14 atom-15\" d=\"M 159.2,147.8 L 181.7,165.9\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-12 atom-14 atom-15\" d=\"M 158.9,153.1 L 176.6,167.3\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-13 atom-15 atom-16\" d=\"M 181.7,165.9 L 171.5,192.9\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-14 atom-16 atom-17\" d=\"M 171.5,192.9 L 146.6,191.7\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-14 atom-16 atom-17\" d=\"M 168.5,188.4 L 146.9,187.4\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-15 atom-18 atom-19\" d=\"M 15.0,222.6 L 17.9,193.8\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-16 atom-19 atom-20\" d=\"M 17.9,193.8 L 40.7,183.6\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-17 atom-20 atom-21\" d=\"M 44.7,188.1 L 51.9,204.1\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-17 atom-20 atom-21\" d=\"M 48.6,186.3 L 55.8,202.4\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-18 atom-20 atom-22\" d=\"M 44.0,176.0 L 36.8,159.9\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-18 atom-20 atom-22\" d=\"M 40.0,177.8 L 32.8,161.7\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-19 atom-23 atom-24\" d=\"M 118.2,126.3 L 99.9,103.9\" style=\"fill:none;fill-rule:evenodd;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-20 atom-24 atom-25\" d=\"M 99.9,103.9 L 85.7,86.5\" style=\"fill:none;fill-rule:evenodd;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-20 atom-24 atom-25\" d=\"M 96.6,106.6 L 82.4,89.2\" style=\"fill:none;fill-rule:evenodd;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-20 atom-24 atom-25\" d=\"M 103.3,101.2 L 89.1,83.7\" style=\"fill:none;fill-rule:evenodd;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-21 atom-8 atom-0\" d=\"M 230.2,178.7 L 209.6,158.3\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-22 atom-12 atom-9\" d=\"M 80.9,143.1 L 72.6,165.1\" style=\"fill:none;fill-rule:evenodd;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-23 atom-17 atom-13\" d=\"M 141.2,186.5 L 136.4,168.7\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-24 atom-8 atom-4\" d=\"M 230.2,178.7 L 258.1,171.1\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-24 atom-8 atom-4\" d=\"M 231.4,173.8 L 254.5,167.6\" style=\"fill:none;fill-rule:evenodd;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-25 atom-20 atom-9\" d=\"M 47.9,180.4 L 66.6,171.9\" style=\"fill:none;fill-rule:evenodd;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-26 atom-23 atom-11\" d=\"M 118.2,126.3 L 108.0,153.3\" style=\"fill:none;fill-rule:evenodd;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-27 atom-13 atom-11\" d=\"M 130.9,162.1 L 108.0,153.3\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path class=\"bond-28 atom-15 atom-0\" d=\"M 181.7,165.9 L 209.6,158.3\" style=\"fill:none;fill-rule:evenodd;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1\"/>\n", | |
"<path d=\"M 243.7,123.1 L 244.9,122.8 L 245.7,123.6\" style=\"fill:none;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 256.5,216.9 L 255.8,217.8 L 254.4,217.3\" style=\"fill:none;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 230.1,208.1 L 228.7,207.6 L 228.8,206.1\" style=\"fill:none;stroke:#FF0028;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 96.6,179.9 L 97.7,180.4 L 98.2,179.0\" style=\"fill:none;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 82.3,143.6 L 80.9,143.1 L 80.5,144.2\" style=\"fill:none;stroke:#FFEA00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 158.2,148.4 L 159.2,147.8 L 160.3,148.7\" style=\"fill:none;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 172.0,191.6 L 171.5,192.9 L 170.2,192.9\" style=\"fill:none;stroke:#00FF00;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 17.8,195.3 L 17.9,193.8 L 19.1,193.3\" style=\"fill:none;stroke:#00EBFF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 117.3,125.2 L 118.2,126.3 L 117.7,127.7\" style=\"fill:none;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path d=\"M 100.9,105.0 L 99.9,103.9 L 99.2,103.0\" style=\"fill:none;stroke:#2900FF;stroke-width:2.3px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;\"/>\n", | |
"<path class=\"atom-1\" d=\"M 215.2 126.2 L 217.9 130.6 Q 218.2 131.0, 218.6 131.8 Q 219.0 132.6, 219.0 132.6 L 219.0 126.2 L 220.1 126.2 L 220.1 134.4 L 219.0 134.4 L 216.1 129.7 Q 215.8 129.1, 215.4 128.5 Q 215.1 127.9, 215.0 127.7 L 215.0 134.4 L 213.9 134.4 L 213.9 126.2 L 215.2 126.2 \" fill=\"#FF0028\"/>\n", | |
"<path class=\"atom-3\" d=\"M 263.6 139.0 L 266.3 143.4 Q 266.6 143.8, 267.0 144.6 Q 267.4 145.4, 267.5 145.4 L 267.5 139.0 L 268.5 139.0 L 268.5 147.2 L 267.4 147.2 L 264.5 142.5 Q 264.2 141.9, 263.9 141.3 Q 263.5 140.7, 263.4 140.5 L 263.4 147.2 L 262.3 147.2 L 262.3 139.0 L 263.6 139.0 \" fill=\"#FF0028\"/>\n", | |
"<path class=\"atom-5\" d=\"M 272.1 191.2 L 274.8 195.5 Q 275.0 196.0, 275.5 196.7 Q 275.9 197.5, 275.9 197.6 L 275.9 191.2 L 277.0 191.2 L 277.0 199.4 L 275.9 199.4 L 273.0 194.6 Q 272.7 194.1, 272.3 193.4 Q 272.0 192.8, 271.9 192.6 L 271.9 199.4 L 270.8 199.4 L 270.8 191.2 L 272.1 191.2 \" fill=\"#FF0028\"/>\n", | |
"<path class=\"atom-5\" d=\"M 278.6 191.2 L 279.7 191.2 L 279.7 194.7 L 283.9 194.7 L 283.9 191.2 L 285.0 191.2 L 285.0 199.4 L 283.9 199.4 L 283.9 195.6 L 279.7 195.6 L 279.7 199.4 L 278.6 199.4 L 278.6 191.2 \" fill=\"#FF0028\"/>\n", | |
"<path class=\"atom-9\" d=\"M 68.9 166.0 L 71.5 170.4 Q 71.8 170.8, 72.2 171.6 Q 72.7 172.3, 72.7 172.4 L 72.7 166.0 L 73.8 166.0 L 73.8 174.2 L 72.6 174.2 L 69.8 169.5 Q 69.4 168.9, 69.1 168.3 Q 68.7 167.6, 68.6 167.4 L 68.6 174.2 L 67.6 174.2 L 67.6 166.0 L 68.9 166.0 \" fill=\"#00EBFF\"/>\n", | |
"<path class=\"atom-13\" d=\"M 133.2 159.5 L 135.9 163.9 Q 136.1 164.3, 136.6 165.1 Q 137.0 165.8, 137.0 165.9 L 137.0 159.5 L 138.1 159.5 L 138.1 167.7 L 137.0 167.7 L 134.1 163.0 Q 133.8 162.4, 133.4 161.8 Q 133.1 161.1, 133.0 160.9 L 133.0 167.7 L 131.9 167.7 L 131.9 159.5 L 133.2 159.5 \" fill=\"#00FF00\"/>\n", | |
"<path class=\"atom-17\" d=\"M 140.8 187.4 L 143.5 191.8 Q 143.7 192.2, 144.1 193.0 Q 144.6 193.7, 144.6 193.8 L 144.6 187.4 L 145.7 187.4 L 145.7 195.6 L 144.6 195.6 L 141.7 190.9 Q 141.4 190.3, 141.0 189.7 Q 140.6 189.0, 140.5 188.8 L 140.5 195.6 L 139.5 195.6 L 139.5 187.4 L 140.8 187.4 \" fill=\"#00FF00\"/>\n", | |
"<path class=\"atom-20\" d=\"M 42.0 184.8 Q 42.1 184.8, 42.5 185.0 Q 42.8 185.1, 43.3 185.2 Q 43.7 185.3, 44.1 185.3 Q 44.9 185.3, 45.3 185.0 Q 45.8 184.6, 45.8 183.9 Q 45.8 183.5, 45.5 183.2 Q 45.3 182.9, 45.0 182.8 Q 44.6 182.6, 44.0 182.4 Q 43.3 182.2, 42.9 182.0 Q 42.5 181.8, 42.1 181.4 Q 41.8 180.9, 41.8 180.2 Q 41.8 179.2, 42.5 178.5 Q 43.2 177.9, 44.6 177.9 Q 45.6 177.9, 46.7 178.3 L 46.4 179.2 Q 45.4 178.8, 44.7 178.8 Q 43.9 178.8, 43.4 179.2 Q 43.0 179.5, 43.0 180.0 Q 43.0 180.5, 43.2 180.8 Q 43.4 181.0, 43.8 181.2 Q 44.1 181.3, 44.7 181.5 Q 45.4 181.7, 45.8 182.0 Q 46.3 182.2, 46.6 182.7 Q 46.9 183.1, 46.9 183.9 Q 46.9 185.1, 46.2 185.7 Q 45.4 186.3, 44.1 186.3 Q 43.4 186.3, 42.9 186.1 Q 42.3 186.0, 41.7 185.7 L 42.0 184.8 \" fill=\"#00EBFF\"/>\n", | |
"<path class=\"atom-21\" d=\"M 52.4 208.4 Q 52.4 206.4, 53.4 205.3 Q 54.3 204.2, 56.1 204.2 Q 58.0 204.2, 58.9 205.3 Q 59.9 206.4, 59.9 208.4 Q 59.9 210.4, 58.9 211.5 Q 57.9 212.6, 56.1 212.6 Q 54.3 212.6, 53.4 211.5 Q 52.4 210.4, 52.4 208.4 M 56.1 211.7 Q 57.4 211.7, 58.1 210.9 Q 58.8 210.0, 58.8 208.4 Q 58.8 206.8, 58.1 205.9 Q 57.4 205.1, 56.1 205.1 Q 54.9 205.1, 54.2 205.9 Q 53.5 206.7, 53.5 208.4 Q 53.5 210.0, 54.2 210.9 Q 54.9 211.7, 56.1 211.7 \" fill=\"#00EBFF\"/>\n", | |
"<path class=\"atom-22\" d=\"M 28.7 155.6 Q 28.7 153.7, 29.6 152.6 Q 30.6 151.5, 32.4 151.5 Q 34.3 151.5, 35.2 152.6 Q 36.2 153.7, 36.2 155.6 Q 36.2 157.6, 35.2 158.7 Q 34.2 159.9, 32.4 159.9 Q 30.6 159.9, 29.6 158.7 Q 28.7 157.6, 28.7 155.6 M 32.4 158.9 Q 33.7 158.9, 34.4 158.1 Q 35.0 157.3, 35.0 155.6 Q 35.0 154.0, 34.4 153.2 Q 33.7 152.4, 32.4 152.4 Q 31.2 152.4, 30.5 153.2 Q 29.8 154.0, 29.8 155.6 Q 29.8 157.3, 30.5 158.1 Q 31.2 158.9, 32.4 158.9 \" fill=\"#00EBFF\"/>\n", | |
"<path class=\"atom-25\" d=\"M 79.9 77.4 L 82.5 81.7 Q 82.8 82.2, 83.2 82.9 Q 83.7 83.7, 83.7 83.8 L 83.7 77.4 L 84.8 77.4 L 84.8 85.6 L 83.7 85.6 L 80.8 80.9 Q 80.4 80.3, 80.1 79.7 Q 79.7 79.0, 79.6 78.8 L 79.6 85.6 L 78.6 85.6 L 78.6 77.4 L 79.9 77.4 \" fill=\"#2900FF\"/>\n", | |
"</svg>" | |
], | |
"text/plain": [ | |
"<IPython.core.display.SVG object>" | |
] | |
}, | |
"execution_count": 41, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# you can see that it's a subgraph of the molecule\n", | |
"sf.to_image(safe_str, highlight_mode=\"color\")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"It seems like the NVIDIA team built the fragment for decoration in a non-canonical way. The correspondance in your Baricitinib encoded molecule are the last 3 SAFE fragments. So you can see that the fragment to be completed is three safe fragment together: \n", | |
"```'N15CC67C1.CCS5(=O)=O.C6C#N.'```\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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", | |
"text/plain": [ | |
"<rdkit.Chem.rdchem.Mol at 0x330bb9ee0>" | |
] | |
}, | |
"execution_count": 32, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"sf.decode('N15CC67C1.CCS5(=O)=O.C6C#N', as_mol=True, remove_dummies=False)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"```'N15CC67C1.CCS5(=O)=O.C6C#N'``` is exactly equivalent to ```'C124CN3C1.S3(=O)(=O)CC.C4C#N'```, it's just two variation in the SAFE string format of the same molecule. You can check this with " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"var1 = 'N15CC67C1.CCS5(=O)=O.C6C#N'\n", | |
"var2 = 'C124CN3C1.S3(=O)(=O)CC.C4C#N'\n", | |
"\n", | |
"dm.same_mol(sf.decode(var1, as_mol=True), sf.decode(var2, as_mol=True))" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Both are equivalent to this molecular fragment with attachment point: ```'N1(S(CC)(=O)=O)CC(CC#N)([*])C1'```" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 45, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"'N13CC24C1.S3(=O)(=O)CC.C4C#N'" | |
] | |
}, | |
"execution_count": 45, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"# The canonical SAFE string corresponding to that should have been\n", | |
"frag_to_complete = 'N1(S(CC)(=O)=O)CC(CC#N)([*])C1'\n", | |
"sf.encode(frag_to_complete)" | |
] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "safe", | |
"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.12.5" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment