aboutsummaryrefslogtreecommitdiff
path: root/assets/src/js/main.js
blob: dbcc4a668091d08906131f03d9895e7a81f716ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// import Popper
//= ../../../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

function bruh_moment(){
	alert('this is a bruh moment')
}

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`;
	console.log(url)
	fetch(url)
	.then(res => res.json())
	.then((out) => {
	  console.log('Aye, got that dub from PubChem');
	  //console.log(out["PropertyTable"]["Properties"][0]["CanonicalSMILES"])
	  document.getElementById("inputSMILES").value = out["PropertyTable"]["Properties"][0]["CanonicalSMILES"]
	})
	.catch(err => { 
		bruh_moment()
		throw err });
}


function draw_me_like_one_of_your_french_girls(mol){
	
	mol.condense_abbreviations();
	var canvas = document.getElementById("draw-canvas-2");
	mol.draw_to_canvas(canvas, -1, -1);
}


function calculate_and_disperse(mol){
	try {
		var descrs = JSON.parse(mol.get_descriptors());
	} catch(err) {
		alert("oo wee, failed to calculate descriptors senpai")
	}
	//document.getElementById('exactmw').textContent = descrs["exactmw"];
	//document.getElementById('CrippenMR').textContent = descrs["CrippenMR"];
	//document.getElementById('CrippenClogP').textContent = descrs["CrippenClogP"];
	let tableRef = document.getElementById("analyse_table");
	const keys = Object.keys(descrs);
		for (let i = 0; i < keys.length; i++) {
		  const key = keys[i];
		  console.log(key, descrs[key]);
		  var newRow = tableRef.insertRow(-1);
	  	var newCell_label = newRow.insertCell(0);
	  	var newCell_value = newRow.insertCell(-1);
	  	var newText_label = document.createTextNode(key);
	  	var newText_value = document.createTextNode(descrs[key]);
	  	newCell_label.appendChild(newText_label);
	  	newCell_value.appendChild(newText_value);
		}
	


}

function analyse_me_senpai(smile_pwiz) {
	var smiles = document.getElementById(smile_pwiz).value;
	var mol = Module.get_mol(smiles);
	draw_me_like_one_of_your_french_girls(mol);
	calculate_and_disperse(mol);
}