From b4e3676e4bf505e840f9d21fb882d24bf6289049 Mon Sep 17 00:00:00 2001 From: navanchauhan Date: Sat, 26 Jun 2021 21:26:49 +0530 Subject: added cheminformatics blog post --- .../2021-06-26-Cheminformatics-On-The-Web-2021.md | 86 +++++++++++++ .../posts/cheminformatics-web/postera-demo.png | Bin 0 -> 983243 bytes .../posts/cheminformatics-web/rdkit-demo.png | Bin 0 -> 893061 bytes .../posts/cheminformatics-web/webina-demo.png | Bin 0 -> 2181135 bytes docs/feed.rss | 103 +++++++++++++++- docs/index.html | 13 ++ ...2021-06-26-Cheminformatics-On-The-Web-2021.html | 133 +++++++++++++++++++++ docs/posts/index.html | 13 ++ 8 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 Content/posts/2021-06-26-Cheminformatics-On-The-Web-2021.md create mode 100644 docs/assets/posts/cheminformatics-web/postera-demo.png create mode 100644 docs/assets/posts/cheminformatics-web/rdkit-demo.png create mode 100644 docs/assets/posts/cheminformatics-web/webina-demo.png create mode 100644 docs/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html diff --git a/Content/posts/2021-06-26-Cheminformatics-On-The-Web-2021.md b/Content/posts/2021-06-26-Cheminformatics-On-The-Web-2021.md new file mode 100644 index 0000000..49a5e04 --- /dev/null +++ b/Content/posts/2021-06-26-Cheminformatics-On-The-Web-2021.md @@ -0,0 +1,86 @@ +--- +date: 2021-06-26 13:04 +description: Summarising Cheminformatics on the web in 2021. +tags: Cheminformatics, JavaScript +--- + +# Cheminformatics on the Web (2021) + +Here, I have compiled a list of some libraries and possible ideas. +I, personally, like static websites which don't require a server side application and can be hosted on platforms like GitHub Pages. +Or, just by opening the HTML file and running it in your browser. +WebAssembly (Wasm) has made running code written for other platforms on the web relatively easier. +Combine Wasm with some pure JavaScript libraries, and you get a platform to quickly amp up your speed in some common tasks. + +## RDKit + +RDKit bundles a minimal JavaScript Wrapper in their core RDKit suite. +This is perfect for generating 2D Figures (HTML5 Canva/SVGs), Canonical SMILES, Descriptors e.t.c + +### Substructure Matching + +This can be used to flag undesirable functional groups in a given compound. +Create a simple key:value pairs of name:SMARTS and use it to highlight substructure matches. +Thus, something like PostEra's Medicinal Chemistry Alert can be done with RDKit-JS alone. + +![PostEra Demo](/assets/posts/cheminformatics-web/postera-demo.png) + +### Computing Properties + +This is useful to calculate basic properties of a given compound. + +![RDKit-JS Demo](/assets/posts/cheminformatics-web/rdkit-demo.png) + +## Webina - Molecular Docking + +Webina is a JavaScript/Wasm library that runs AutoDock Vina, which can enable you to run Molecular Docking straight in the browser itself. + +![Webina Demo](/assets/posts/cheminformatics-web/webina-demo.png) + +Obviously, it takes a few hits in the time to complete the docking because the code is transpiled from C++ to Wasm. +But, the only major drawback (for now) is that it uses SharedArrayBuffer. +Due to Spectre, this feature was disabled on all browsers. +Currently, only Chromium-based and Firefox browsers have reimplemented and enabled it. +Hopefully, soon, this will be again supported by all major browsers. + +## Machine Learning + +Frameworks have now evolved enough to allow exporting models to be able to run them through JavaScript/Wasm backend. +An example task can be **NER** or Named-entity Recognition. +It can be used to extract compounds or diseases from a large blob of text and then matched with external references. +Another example is target-prediction right in the browser: [CHEMBL - Target Prediction in Browser](http://chembl.blogspot.com/2021/03/target-predictions-in-browser-with.html) + +CHEMBL Group is first training the model using PyTorch (A Python ML Library), then converting it to the ONNX runtime. +A model like this can be directly implemented in TensorFlow, and then exported to be able to run with TensorFlow.js + +## Cheminfo-to-web + +The project aims to port cheminformatics libraries into JavaScript via Emscripten. +They have ported InChI, Indigo, OpenBabel, and OpenMD + +### Kekule.js + +It is written by @partridgejiang, who is behind the Cheminfo-to-web project + +> It is molecule-centric, focusing on providing the ability to represent, draw, edit, compare and search molecule structures on web browsers. + +## Browser Extensions + +The previous machine learning examples can be packaged as browser-extensions to perform tasks on the article you are reading. +With iOS 15 bringing WebExtensions to iOS/iPadOS, the same browser extension source code can be now used on Desktop and Mobile Phones. +You can quickly create an extension to convert PDB codes into links to RCSB, highlight SMILES, highlight output of NER models, e.t.c + + +## Conclusion + +I have not even touched all the bases of cheminformatics for the web here. +There is still a lot more to unpack. +Hopefully, this encourages you to explore the world of cheminformatics on the web. + +## Further Reading + +[Blueobelisk Userscripts](https://blueobelisk.github.io/greasemonkey.html) + +[JavaScript for Cheminformatics](https://depth-first.com/articles/2019/05/01/javascript-for-cheminformatics-part-2/) + +[Getting Started with RDKit-JS](https://unpkg.com/@rdkit/rdkit@2021.3.3/Code/MinimalLib/dist/GettingStartedInJS.html) diff --git a/docs/assets/posts/cheminformatics-web/postera-demo.png b/docs/assets/posts/cheminformatics-web/postera-demo.png new file mode 100644 index 0000000..bc0268f Binary files /dev/null and b/docs/assets/posts/cheminformatics-web/postera-demo.png differ diff --git a/docs/assets/posts/cheminformatics-web/rdkit-demo.png b/docs/assets/posts/cheminformatics-web/rdkit-demo.png new file mode 100644 index 0000000..a23881c Binary files /dev/null and b/docs/assets/posts/cheminformatics-web/rdkit-demo.png differ diff --git a/docs/assets/posts/cheminformatics-web/webina-demo.png b/docs/assets/posts/cheminformatics-web/webina-demo.png new file mode 100644 index 0000000..4bfea04 Binary files /dev/null and b/docs/assets/posts/cheminformatics-web/webina-demo.png differ diff --git a/docs/feed.rss b/docs/feed.rss index e959592..06f953c 100644 --- a/docs/feed.rss +++ b/docs/feed.rss @@ -4,8 +4,8 @@ Navan's Archive Rare Tips, Tricks and Posts https://web.navan.dev/en - Fri, 25 Jun 2021 17:37:47 -0000 - Fri, 25 Jun 2021 17:37:47 -0000 + Sat, 26 Jun 2021 18:27:33 -0000 + Sat, 26 Jun 2021 18:27:33 -0000 250 @@ -3328,6 +3328,105 @@ new Dics({ ]]> + + + https://web.navan.dev/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html + + + Cheminformatics on the Web (2021) + + + Summarising Cheminformatics on the web in 2021. + + https://web.navan.dev/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html + Sat, 26 Jun 2021 13:04:00 -0000 + Cheminformatics on the Web (2021) + +

Here, I have compiled a list of some tools and possible solutions. +The web is a nice platform, it is available anywhere and just requires an internet connection. +I, personally like static websites which don't require a server side application and can be hosted on platforms like GitHub Pages. +Or, just open the HTML file and run it in your browser. +No data is required to be sent to any server and your device's computational power is used. +Even our phones have a lot of computational power now, which allows the user to run tasks on the go without needing to worry about managing dependencies. +WebAssembly (Wasm) has made running code written for other platfroms on the web relativevly easier. +Combine Wasm with some pure JavaScript libraries, and you get a platform to quickly amp up your speed in some common tasks.

+ +

RDKit

+ +

RDKit bundles a minimal JavaScript Wrapper in their core RDKit suite. +This is perfect for generating 2D Figures (HTML5 Canva/SVGs), Cannonical SMILES, Descriptors e.t.c

+ +

Substructure Matching

+ +

This can be used to flag undesirable functional groups in a given compound. +Create a simple key:value pair of name:SMARTS and use it to highlight substructure matches. +Thus, something like PostEra's Medicinal Chemistry Alert can be done with RDKit-JS alone.

+ +

PostEra Demo

+ +

Computing Properties

+ +

This is useful to calculate basic properties of a given compound.

+ +

RDKit-JS Demo

+ +

Webina - Molecular Docking

+ +

Webina is a JavaScript/Wasm library that runs AutoDock Vina, which can enable you to run Molecular Docking straight in the browser itself.

+ +

Webina Demo

+ +

Obviously, it takes a few hits in the time to complete the docking because the code is transpiled from C++ to Wasm. +But, the only major drawback (for now) is that it uses SharedArrayBuffer. +Due to Spectre, this feature was disabled on all browsers. +Currently, only Chromium-based and Firefox browsers have reimplemented and renabled it. +Hopefully, soon this will be again supported by all major browsers.

+ +

Machine Learning

+ +

Frameworks have now evolved enough to allow exporting models to be able to run them through JavaScript/Wasm backend. +An example task can be NER or Named-entity Recognition. +It can be used to extract compounds or diseases from a large blob of text and then matched with external refferences. +Another example is target-prediction right in the browser: CHEMBL - Target Prediction in Browser

+ +

CHEMBL Group is first training the model using PyTorch (A Python ML Library), then converting it to the ONNX runtime. +A model like this can be directly implemented in Tensorflow, and then exported to be able to run with TensorFlow.js

+ +

Cheminfo-to-web

+ +

The project aims to port chemoinformatics libraries into JavaScript via Emscripten. +They have ported InChI, Indigo, OpenBabel, and OpenMD

+ +

Kekule.js

+ +

It is written by @partridgejiang, who is behind the Cheminfo-to-web project

+ +
+

It is molecule-centric, focusing on providing the ability to represent, draw, edit, compare and search molecule structures on web browsers.

+
+ +

Browser Extensions

+ +

The previous machine learning examples can be packaged as browser-extensions to perform tasks on the article you are reading. +With iOS 15 bringing WebExtensions to iOS/iPadOS, the same browser extension source code can be now used on Desktop and Mobile Phones. +You can quickly create an extenison to convert PDB codes into links to RCSB, highlight SMILES, highlight output of NER models, e.t.c

+ +

Conclusion

+ +

I have not even touched all the bases of cheminformatics for the web here. +There is still a lot more to unpack. +Hopefully, this encourages you to explore the world of cheminformatics on the web.

+ +

Further Reading

+ +

Blueobelisk Userscripts

+ +

JavaScript for Cheminformatics

+ +

Getting Started with RDKit-JS

+]]>
+
+ https://web.navan.dev/posts/2020-06-01-Speeding-Up-Molecular-Docking-Workflow-AutoDock-Vina-and-PyMOL.html diff --git a/docs/index.html b/docs/index.html index 50ce9c9..c220d2f 100644 --- a/docs/index.html +++ b/docs/index.html @@ -45,6 +45,19 @@
    +
  • Cheminformatics on the Web (2021)
  • +
      +
    • Summarising Cheminformatics on the web in 2021.
    • +
    • Published On: 2021-06-26 13:04
    • +
    • Tags: + + Cheminformatics, + + JavaScript, + +
    + +
  • Basic NFC Music Cards for iOS
    • Basic NFC Music Cards on iOS with Shortcuts
    • diff --git a/docs/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html b/docs/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html new file mode 100644 index 0000000..885c7b5 --- /dev/null +++ b/docs/posts/2021-06-26-Cheminformatics-On-The-Web-2021.html @@ -0,0 +1,133 @@ + + + + + + + + + Hey - Post + + + + + + + + + + + + + + + + + + + + + + + +
      +

      Cheminformatics on the Web (2021)

      + +

      Here, I have compiled a list of some tools and possible solutions. +The web is a nice platform, it is available anywhere and just requires an internet connection. +I, personally like static websites which don't require a server side application and can be hosted on platforms like GitHub Pages. +Or, just open the HTML file and run it in your browser. +No data is required to be sent to any server and your device's computational power is used. +Even our phones have a lot of computational power now, which allows the user to run tasks on the go without needing to worry about managing dependencies. +WebAssembly (Wasm) has made running code written for other platfroms on the web relativevly easier. +Combine Wasm with some pure JavaScript libraries, and you get a platform to quickly amp up your speed in some common tasks.

      + +

      RDKit

      + +

      RDKit bundles a minimal JavaScript Wrapper in their core RDKit suite. +This is perfect for generating 2D Figures (HTML5 Canva/SVGs), Cannonical SMILES, Descriptors e.t.c

      + +

      Substructure Matching

      + +

      This can be used to flag undesirable functional groups in a given compound. +Create a simple key:value pair of name:SMARTS and use it to highlight substructure matches. +Thus, something like PostEra's Medicinal Chemistry Alert can be done with RDKit-JS alone.

      + +

      PostEra Demo

      + +

      Computing Properties

      + +

      This is useful to calculate basic properties of a given compound.

      + +

      RDKit-JS Demo

      + +

      Webina - Molecular Docking

      + +

      Webina is a JavaScript/Wasm library that runs AutoDock Vina, which can enable you to run Molecular Docking straight in the browser itself.

      + +

      Webina Demo

      + +

      Obviously, it takes a few hits in the time to complete the docking because the code is transpiled from C++ to Wasm. +But, the only major drawback (for now) is that it uses SharedArrayBuffer. +Due to Spectre, this feature was disabled on all browsers. +Currently, only Chromium-based and Firefox browsers have reimplemented and renabled it. +Hopefully, soon this will be again supported by all major browsers.

      + +

      Machine Learning

      + +

      Frameworks have now evolved enough to allow exporting models to be able to run them through JavaScript/Wasm backend. +An example task can be NER or Named-entity Recognition. +It can be used to extract compounds or diseases from a large blob of text and then matched with external refferences. +Another example is target-prediction right in the browser: CHEMBL - Target Prediction in Browser

      + +

      CHEMBL Group is first training the model using PyTorch (A Python ML Library), then converting it to the ONNX runtime. +A model like this can be directly implemented in Tensorflow, and then exported to be able to run with TensorFlow.js

      + +

      Cheminfo-to-web

      + +

      The project aims to port chemoinformatics libraries into JavaScript via Emscripten. +They have ported InChI, Indigo, OpenBabel, and OpenMD

      + +

      Kekule.js

      + +

      It is written by @partridgejiang, who is behind the Cheminfo-to-web project

      + +
      +

      It is molecule-centric, focusing on providing the ability to represent, draw, edit, compare and search molecule structures on web browsers.

      +
      + +

      Browser Extensions

      + +

      The previous machine learning examples can be packaged as browser-extensions to perform tasks on the article you are reading. +With iOS 15 bringing WebExtensions to iOS/iPadOS, the same browser extension source code can be now used on Desktop and Mobile Phones. +You can quickly create an extenison to convert PDB codes into links to RCSB, highlight SMILES, highlight output of NER models, e.t.c

      + +

      Conclusion

      + +

      I have not even touched all the bases of cheminformatics for the web here. +There is still a lot more to unpack. +Hopefully, this encourages you to explore the world of cheminformatics on the web.

      + +

      Further Reading

      + +

      Blueobelisk Userscripts

      + +

      JavaScript for Cheminformatics

      + +

      Getting Started with RDKit-JS

      + +
      + + + + + + \ No newline at end of file diff --git a/docs/posts/index.html b/docs/posts/index.html index 9288bb3..119b7e6 100644 --- a/docs/posts/index.html +++ b/docs/posts/index.html @@ -48,6 +48,19 @@