File size: 3,360 Bytes
d6cdde0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import pandas as pd
import joblib
from sklearn.ensemble import RandomForestRegressor
import gzip
from rdkit.Chem import MolFromSmiles, rdMolDescriptors
from rdkit.Chem.Descriptors import CalcMolDescriptors
import lightgbm as lgb
from sklearn.ensemble import ExtraTreesRegressor
import streamlit as st

class Molecule:
	def __init__(self, smiles: str):
		if not smiles :
			print("Empty smiles are given")
			sys.exit()
		self.smiles = smiles
		self.mol = MolFromSmiles(smiles)
	def descriptor_generator(self):
		return CalcMolDescriptors(self.mol)

SMI = st.text_input('Input SMILE', 'O=Cc1ccc(Cl)cc1')
st.write('The input SMILE is', str(SMI))
mol = MolFromSmiles(SMI)

formula = rdMolDescriptors.CalcMolFormula(MolFromSmiles(SMI))
descriptors = CalcMolDescriptors(mol)
descriptors_dataframe = pd.DataFrame([list(descriptors.values())], columns= list(descriptors.keys()))
st.markdown(''':rainbow[ABSORPTION]''')

st.markdown(''':rainbow[Lipophilicity]''')

st.markdown(''':orange[LGBMRegressor]''')


with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_lgbm_model.joblib.gz', 'rb') as fa:  
   Absorption_Lipophilicity_Prediction_lgbm_model = joblib.load(fa)

st.write("Absorption Lipophilicity Result for LGBM Regressor : ", round(Absorption_Lipophilicity_Prediction_lgbm_model.predict(descriptors_dataframe)[0],4))


with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_etr_model.joblib.gz', 'rb') as fe:  
   Absorption_Lipophilicity_Prediction_etr_model = joblib.load(fe)

st.markdown(''':orange[ExtraTreesRegressor]''')
st.write("Absorption_Lipophilicity Result for ExtraTreesRegressor : ", round(Absorption_Lipophilicity_Prediction_etr_model.predict(descriptors_dataframe)[0],4))


with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_rf_model.joblib.gz', 'rb') as fi:  
   Absorption_Lipophilicity_Prediction_rf_model = joblib.load(fi)


st.markdown(''':orange[RandomForestRegressor]''')
st.write("Absorption_Lipophilicity Result for RandomForestRegressor : ", round(Absorption_Lipophilicity_Prediction_rf_model.predict(descriptors_dataframe)[0],4))


with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_rf_model_optimised.joblib.gz', 'rb') as fo:  
   Absorption_Lipophilicity_Prediction_rf_model_optimised = joblib.load(fo)

st.markdown(''':orange[RandomForestRegressor Optimised]''')
st.write("Absorption_Lipophilicity Result for Optimised RandomForestRegressor : ", round(Absorption_Lipophilicity_Prediction_rf_model_optimised.predict(descriptors_dataframe)[0],4))

with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_etr_model_optimised.joblib.gz', 'rb') as fu:  
   Absorption_Lipophilicity_Prediction_etr_model_optimised = joblib.load(fu)

st.markdown(''':orange[ExtraTreesRegressor Optimised]''')
st.write("Absorption_Lipophilicity Result for Optimised ExtraTreesRegressor : ", round(Absorption_Lipophilicity_Prediction_etr_model_optimised.predict(descriptors_dataframe)[0],4))

st.markdown(''':orange[LGBMRegressor Optimised]''')
with gzip.GzipFile('model/Absorption_Lipophilicity_Prediction_lgbm_model_optimised.joblib.gz', 'rb') as fb:  
   Absorption_Lipophilicity_Prediction_lgbm_model_optimised = joblib.load(fb)

st.write("Absorption Lipophilicity Result for Optimised LGBM Regressor : ", round(Absorption_Lipophilicity_Prediction_lgbm_model_optimised.predict(descriptors_dataframe)[0],4))