aboutsummaryrefslogtreecommitdiff
path: root/assets/src/js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/src/js/main.js')
-rw-r--r--assets/src/js/main.js77
1 files changed, 62 insertions, 15 deletions
diff --git a/assets/src/js/main.js b/assets/src/js/main.js
index 31dbf7b..262e64c 100644
--- a/assets/src/js/main.js
+++ b/assets/src/js/main.js
@@ -1,23 +1,35 @@
// import Popper
-//= ../../../node_modules/popper.js/dist/umd/popper.js
+// ../../../node_modules/popper.js/dist/umd/popper.js
// import required js-files Bootstrap 5
-//= ../../../node_modules/bootstrap/js/dist/alert.js
-//= ../../../node_modules/bootstrap/js/dist/button.js
-//= ../../../node_modules/bootstrap/js/dist/carousel.js
-//= ../../../node_modules/bootstrap/js/dist/collapse.js
-//= ../../../node_modules/bootstrap/js/dist/dropdown.js
-//= ../../../node_modules/bootstrap/js/dist/modal.js
-//= ../../../node_modules/bootstrap/js/dist/popover.js
-//= ../../../node_modules/bootstrap/js/dist/scrollspy.js
-//= ../../../node_modules/bootstrap/js/dist/tab.js
-//= ../../../node_modules/bootstrap/js/dist/toast.js
-//= ../../../node_modules/bootstrap/js/dist/tooltip.js
+// ../../../node_modules/bootstrap/js/dist/alert.js
+// ../../../node_modules/bootstrap/js/dist/button.js
+// ../../../node_modules/bootstrap/js/dist/carousel.js
+// ../../../node_modules/bootstrap/js/dist/collapse.js
+// ../../../node_modules/bootstrap/js/dist/dropdown.js
+// ../../../node_modules/bootstrap/js/dist/modal.js
+// ../../../node_modules/bootstrap/js/dist/popover.js
+// ../../../node_modules/bootstrap/js/dist/scrollspy.js
+// ../../../node_modules/bootstrap/js/dist/tab.js
+// ../../../node_modules/bootstrap/js/dist/toast.js
+// ../../../node_modules/bootstrap/js/dist/tooltip.js
+
function bruh_moment(){
alert('this is a bruh moment')
}
+const downloadToFile = (content, filename, contentType) => {
+ const a = document.createElement('a');
+ const file = new Blob([content], {type: contentType});
+
+ a.href= URL.createObjectURL(file);
+ a.download = filename;
+ a.click();
+
+ URL.revokeObjectURL(a.href);
+};
+
function get_smiles_from_element_text(el_id){
var inputVal = document.getElementById(el_id).value;
let url = `https://pubchem.ncbi.nlm.nih.gov/rest/pug/compound/name/${inputVal}/property/CanonicalSMILES/JSON`;
@@ -35,6 +47,7 @@ function get_smiles_from_element_text(el_id){
}
+
function draw_me_like_one_of_your_french_girls(mol){
mol.condense_abbreviations();
@@ -65,9 +78,9 @@ function calculate_and_disperse(mol){
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
if(shy_values_do_not_show.indexOf(key) !== -1){
- console.log("skipping")
+ //console.log("skipping")
} else{
- console.log(key, descrs[key]);
+ //console.log(key, descrs[key]);
var newRow = tableRef.insertRow(-1);
var newCell_label = newRow.insertCell(0);
var newCell_value = newRow.insertCell(-1);
@@ -78,8 +91,26 @@ function calculate_and_disperse(mol){
}
}
+}
-
+function convert_me_senpai(smiles) {
+ var OpenBabel = OpenBabelModule();
+ OpenBabel.onRuntimeInitialized = function() {
+ var conv = new OpenBabel.ObConversionWrapper();
+ try {
+ var inData = smiles;
+ conv.setInFormat('', 'smiles');
+ var mol = new OpenBabel.OBMol();
+ conv.readString(mol, inData);
+ conv.setOutFormat('', 'pdbqt');
+ var outData = conv.writeString(mol, false);
+ //console.log(outData);
+ document.getElementById('download-pdbqt').disabled=false;
+ return outData;
+ } finally {
+ conv.delete(); // free ObConversionWrapper instance
+ }
+ }
}
function analyse_me_senpai(smile_pwiz) {
@@ -87,5 +118,21 @@ function analyse_me_senpai(smile_pwiz) {
var mol = Module.get_mol(smiles);
draw_me_like_one_of_your_french_girls(mol);
calculate_and_disperse(mol);
+ smiles_text = convert_me_senpai(smiles);
+}
+
+function download_pdbqt(){
+ if (document.getElementById("inputName").value === ""){
+ var fname = "compound.pdbqt"
+ } else {
+ var fname = `${document.getElementById("inputName").value}.pdbqt`
+ }
+ try {
+ //var smiles_text = convert_me_senpai(document.getElementById("inputSMILES").value)
+ downloadToFile(smiles_text,fname,"chemical/x-pdbqt")
+ } catch(err) {
+ console.error(err)
+ bruh_moment()
+ }
}