navanchauhan / Curie-Web

https://navanspi.duckdns.org:7589
1 stars 1 forks source link

Create static website variant of Curie-Web #15

Open navanchauhan opened 4 years ago

navanchauhan commented 4 years ago

Maybe we can use the following to create a lighter variant which runs entirely in the browser of the user:

Docking

AutoDock Vina

Caveat: Won't work on Safari until Apple re-enables WebAssembly threads support

Molecule Properties / ADMET Analysis

RDKit-JS

To test some stuff, open the demo website then run this in the console:

m = Module.get_mol("CC(C)CC1=CC=C(C=C1)C(C)C(=O)O")
a = m.get_descriptors()
JSON.parse(a)

ML/DL Models

Need to Find Equivalent

navanchauhan commented 3 years ago

RDKit Substructure highlighting:

function draw_with_highlights(mol, details) {
    var tdetails = JSON.stringify(details)
    var svg = mol.get_svg_with_highlights(tdetails);
    var ob = document.getElementById("drawing");
    ob.outerHTML = "<div id='drawing'>" + svg + "</div>";
    var canvas = document.getElementById("rdkit-canvas");
    mol.draw_to_canvas_with_highlights(canvas, tdetails);
  }

var smiles = "CCC(CC)COC(=O)C(C)NP(=O)(OCC1C(C(C(O1)(C#N)C2=CC=C3N2N=CN=C3N)O)O)OC4=CC=CC=C4"
var aniline = "[NX3][$(C=C),$(cc)]"

var qmol = RDKitModule.get_qmol(aniline); // If trying directly on demo website then change RDKitModule to simply Module
var mol = RDKitModule.get_mol(smiles)

var mdetails = mol.get_substruct_match(qmol);
var match = JSON.parse(mdetails);
if (match.atoms && match.atoms.length) draw_with_highlights(mol, match);

Descriptors:

CrippenClogP: 2.31218
CrippenMR: 149.83419
FractionCSP3: 0.48148
NumAliphaticHeterocycles: 1
NumAliphaticRings: 1
NumAmideBonds: 0
NumAromaticHeterocycles: 2
NumAromaticRings: 3
NumAtomStereoCenters: 6
NumBridgeheadAtoms: 0
NumHBA: 13
NumHBD: 4
NumHeteroatoms: 15
NumHeterocycles: 3
NumRings: 4
NumRotatableBonds: 13
NumSaturatedHeterocycles: 1
NumSaturatedRings: 1
NumSpiroAtoms: 0
NumUnspecifiedAtomStereoCenters: 6
amw: 602.585
exactmw: 602.22539
labuteASA: 242.48836
lipinskiHBA: 14
lipinskiHBD: 5
tpsa: 203.54999