Collections:
Use Ketcher as JS Library Without UI
How to Ketcher as a JavaScript library without the editor UI?
✍: FYIcenter.com
Since Ketcher offers so many API functions, we can just use it as a JavaScript library without its editor UI.
Here is an HTML document that shows you how to hide the Ketcher editor UI and use it as JavaScript library:
<html> <!-- ketcher-as-hidden-element.html Copyright (c) FYIcenter.com. --> <head> <title>Use Ketcher as a Hidden Element</title> </head> <body> <iframe id=frmKetcher src="/ketcher/index.html" style="display: none;"></iframe> <p>Enter a SMILES string, then click convert button:</p> <p><input id=input size=60 /></p> <p><button onclick="convert();">Convert</button></p> <pre id=output style="background-color: #ddd;"></pre> <script> var ketcher = null; function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } async function convert() { frm = document.getElementById("frmKetcher"); ketcher = frm.contentWindow.ketcher; ketcher.setMolecule(document.getElementById("input").value); await sleep(1000); structure = ""; ketcher.getSmiles() .then(consumeSmiles, consumeSmiles) .then(consumeSmarts, consumeSmarts) .then(consumeMolfile, consumeMolfile) .then(consumeRxn, consumeRxn) .then(consumeCDXml, consumeCDXml) .then(consumeKet, consumeKet) .finally(consumeEnd); } function consumeSmiles(result) { structure += "\nSMILES:\n"; structure += result.toString()+"\n"; return ketcher.getSmarts(); } function consumeSmarts(result) { structure += "\nSMARTS:\n"; structure += result.toString()+"\n"; return ketcher.getMolfile(); } function consumeMolfile(result) { structure += "\nMolfile:\n"; structure += result.toString()+"\n"; return ketcher.getRxn(); } function consumeRxn(result) { structure += "\nRXN:\n"; structure += result.toString()+"\n"; return ketcher.getCDXml(); } function consumeCDXml(result) { structure += "\nCDXml\n"; structure += result.toString()+"\n"; return ketcher.getKet(); } function consumeKet(result) { structure += "\nKetcher:\n"; structure += result.toString()+"\n"; } function consumeEnd(result) { document.getElementById("output").innerText = structure.replace(/&/g, '&').replace(/</g, '<'); } </script> </body> </html>
Open the above HTML document on your local Web server. And enter the SMILES string of a chemical structure.
Click "Convert" button, you will see that the SMILES string gets converted into SMARTS, Molfile, and other chemical structure file formats.
2023-10-27, 482🔥, 0💬
Popular Posts:
Molecule Summary: ID: FYI-1000320 SMILES: CCOC(C#N)(CO)OC(C)(C)C#N Received at FYIcenter.com on: 202...
Molecule Summary: ID: FYI-1003823 Names: InChIKey: XIRNKXNNONJFQO-UHFFFAOYS A-NSMILES: CCCCCCCCCCCCC...
Molecule Summary: ID: FYI-1004714 Names: InChIKey: JBYRKMGOSFMHRL-UHFFFAOYS A-MSMILES: F[Sn](c1ccccc...
Is there any Open Babel binary packages ready to be installed with DNF/YUM on CentOS systems? The an...
Molecule Summary: ID: FYI-1002295 Names: InChIKey: LGLGSEILIYMFIQ-UHFFFAOYS A-NSMILES: COn3c1ccccc1c...