Collections:
Call getSmiles() and getSmarts() Parallelly
Why do getSmiles() and getSmarts() methods return the same result, if they are called in 2 parallel promises?
✍: FYIcenter.com
There seems to be a bug in Ketcher v2.11.0 release.
If you call getSmiles() and getSmarts() methods
one after the other, you are creating 2 promises
The first promise seems to be overriding the second promise.
So second promise returns the same result as the first promise.
The following HTML document shows you how to reproduce this bug.
<html> <!-- export-as-SMILES-SMARTS-parallelly.html Copyright (c) FYIcenter.com. --> <head> <title>Export Chemical Structure in SMILES and SMARTS Formats</title> </head> <body> <p>Create a chemical structure, then click export buttons below the editor:</p> <iframe id=frmKetcher src="/ketcher/index.html" style="width: 680px; height: 400px;"></iframe> <p><button onclick="exportBoth();">Export in SMILES and SMARTS parallelly</button></p> <p>SMILES:</p> <pre id=smiles style="background-color: #ddd;"></pre> <p>SMARTS:</p> <pre id=smarts style="background-color: #ddd;"></pre> <script> function exportBoth() { frm = document.getElementById("frmKetcher"); ketcher = frm.contentWindow.ketcher; exportSMILES(); exportSMARTS(); } function exportSMILES() { let promise1 = ketcher.getSmiles(); promise1.then( function(value1) { document.getElementById("smiles").innerHTML = value1; }, function(error) { document.getElementById("smiles").innerHTML = error.toString(); } ); } function exportSMARTS() { let promise2 = ketcher.getSmarts(); promise2.then( function(value2) { document.getElementById("smarts").innerHTML = value2; }, function(error) { document.getElementById("smarts").innerHTML = error.toString(); } ); } </script> </body> </html>
Open the above HTML document on your local Web server. Draw a simple molecule structure in the editor.
Click "Export in SMILES and SMARTS parallelly" button, you will see that the second promise fails to return the SMARTS string. It returns the SMILES string, same as the first promise.
⇒ Call getSmiles() and getSmarts() Nested
2024-01-24, 735🔥, 0💬
Popular Posts:
Molecule Summary: ID: FYI-1002859 Names: InChIKey: HZSYWLUXRWAWOM-UHFFFAOYS A-NSMILES: NS(=O)(=O)c1c...
Molecule Summary: ID: FYI-1002051 Names: InChIKey: GACQNUHFDBEIQH-HNNXBMFYS A-NSMILES: Cc5ccc(c2ccc1...
Where to find FAQ (Frequently Asked Questions) on basic understanding of Open Babel, Chemistry Toolb...
Molecule Summary: ID: FYI-1001091 SMILES: CO/N=C\\1/C[C@]2(C[C@@H] 3C[C@@H](C/C=C(\\C)/C[C@ @H](C)/C=C...
Molecule Summary: ID: FYI-1003861 Names: InChIKey: PLXGARSVUDJEGX-XVZLYUHWS A-NSMILES: C[C@H]([C@H]2...