osbm commited on
Commit
7de09a8
·
1 Parent(s): 76a1678

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +26 -2
app.py CHANGED
@@ -1,6 +1,8 @@
1
  import streamlit as st
2
  from trainer import Trainer
3
  import random
 
 
4
 
5
  class DrugGENConfig:
6
  submodel='CrossLoss'
@@ -124,8 +126,8 @@ if submitted:
124
  results = trainer.inference()
125
  st.success(f"Inference of {model_name} took {results['runtime']:.2f} seconds.")
126
 
127
- with st.expander("Expand to see scores"):
128
-
129
  st.success(f"Validity: {results['fraction_valid']}")
130
  st.success(f"Uniqueness: {results['uniqueness']}")
131
  st.success(f"Novelty: {results['novelty']}")
@@ -134,6 +136,28 @@ if submitted:
134
  inference_drugs = f.read()
135
  st.download_button(label="Click to download generated molecules", data=inference_drugs, file_name=f'{model_name}_inference.smi', mime="text/plain")
136
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
137
  else:
138
  st.warning("Please select a model to make inference")
139
 
 
1
  import streamlit as st
2
  from trainer import Trainer
3
  import random
4
+ from rdkit.Chem import Draw
5
+ from rdkit import Chem
6
 
7
  class DrugGENConfig:
8
  submodel='CrossLoss'
 
126
  results = trainer.inference()
127
  st.success(f"Inference of {model_name} took {results['runtime']:.2f} seconds.")
128
 
129
+ with st.expander("Expand to see the generation performance scores"):
130
+ st.write("### Generation performance scores (novelty is calculated in comparison to the training dataset)")
131
  st.success(f"Validity: {results['fraction_valid']}")
132
  st.success(f"Uniqueness: {results['uniqueness']}")
133
  st.success(f"Novelty: {results['novelty']}")
 
136
  inference_drugs = f.read()
137
  st.download_button(label="Click to download generated molecules", data=inference_drugs, file_name=f'{model_name}_inference.smi', mime="text/plain")
138
 
139
+
140
+ st.write("Structures of randomly selected 12 de novo molecules from the inference set:")
141
+ # from rdkit.Chem import Draw
142
+ # img = Draw.MolsToGridImage(mol_list, molsPerRow=5, subImgSize=(250, 250), maxMols=num_mols,
143
+ # legends=None, useSVG=True)
144
+ generated_molecule_list = inference_drugs.split("\n")
145
+
146
+ selected_molecules = random.choices(generated_molecule_list,k=12)
147
+
148
+ selected_molecules = [Chem.MolFromSmiles(mol) for mol in selected_molecules]
149
+
150
+ molecule_image = Draw.MolsToGridImage(
151
+ selected_molecules,
152
+ molsPerRow=3,
153
+ subImgSize=(250, 250),
154
+ maxMols=len(selected_molecules),
155
+ # legends=None,
156
+ useSVG=True
157
+ )
158
+ st.image(molecule_image)
159
+
160
+
161
  else:
162
  st.warning("Please select a model to make inference")
163