Oopstom commited on
Commit
f5aaba7
1 Parent(s): c668e80

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -5
app.py CHANGED
@@ -117,18 +117,19 @@ def retrosynthesis(reactant, prompt):
117
  reactants.append(smiles)
118
  reactant_images.append(Draw.MolToImage(mol, size=(600, 600)))
119
 
120
- return reactants, reactant_images
121
 
122
  def secondary_interface(smiles, atom1_idx, atom2_idx, operation):
123
  try:
124
  prompt, error = process_bond_operation(smiles, atom1_idx, atom2_idx, operation)
125
 
126
  if prompt:
127
- reactant_smiles, reactant_images = retrosynthesis(smiles, prompt)
128
  output_components = [gr.update(value=prompt, visible=True)] # prompt_output
129
 
130
  # Add the reactant SMILES and images
131
  for i in range(len(reactant_smiles)):
 
132
  output_components.append(gr.update(value=reactant_smiles[i], visible=True))
133
  output_components.append(gr.update(value=reactant_images[i], visible=True))
134
 
@@ -136,15 +137,16 @@ def secondary_interface(smiles, atom1_idx, atom2_idx, operation):
136
  for j in range(len(reactant_smiles), 10):
137
  output_components.append(gr.update(visible=False))
138
  output_components.append(gr.update(visible=False))
 
139
 
140
  output_components.append(gr.update(visible=False)) # error_output
141
  return output_components
142
 
143
  else:
144
- return [gr.update(visible=False)] * 21 + [error] # Assuming 10 pairs of outputs + prompt_output + error_output
145
 
146
  except Exception as e:
147
- return [gr.update(visible=False)] * 21 + [gr.update(visible=True, value=str(e))]
148
 
149
  def clear_interface():
150
  return (
@@ -155,7 +157,7 @@ def clear_interface():
155
  gr.update(visible=False, value=None), # error_output
156
  gr.update(value=None, visible=False), # prompt_output
157
  ) + ( # Reactant SMILES and Images
158
- tuple(gr.update(value=None, visible=False) for _ in range(20))
159
  )
160
 
161
  # 示例数据
@@ -190,6 +192,7 @@ with gr.Blocks() as interface:
190
 
191
  result_row = []
192
  for i in range(10):
 
193
  result_row.append(gr.Textbox(label=f"Reactant {i+1} SMILES", interactive=False, visible=False))
194
  result_row.append(gr.Image(label=f"Reactant {i+1} Image", visible=False))
195
 
 
117
  reactants.append(smiles)
118
  reactant_images.append(Draw.MolToImage(mol, size=(600, 600)))
119
 
120
+ return reactseq_list, reactants, reactant_images
121
 
122
  def secondary_interface(smiles, atom1_idx, atom2_idx, operation):
123
  try:
124
  prompt, error = process_bond_operation(smiles, atom1_idx, atom2_idx, operation)
125
 
126
  if prompt:
127
+ reactseq_list, reactant_smiles, reactant_images = retrosynthesis(smiles, prompt)
128
  output_components = [gr.update(value=prompt, visible=True)] # prompt_output
129
 
130
  # Add the reactant SMILES and images
131
  for i in range(len(reactant_smiles)):
132
+ output_components.append(gr.update(value=reactseq_list[i], visible=True))
133
  output_components.append(gr.update(value=reactant_smiles[i], visible=True))
134
  output_components.append(gr.update(value=reactant_images[i], visible=True))
135
 
 
137
  for j in range(len(reactant_smiles), 10):
138
  output_components.append(gr.update(visible=False))
139
  output_components.append(gr.update(visible=False))
140
+ output_components.append(gr.update(visible=False))
141
 
142
  output_components.append(gr.update(visible=False)) # error_output
143
  return output_components
144
 
145
  else:
146
+ return [gr.update(visible=False)] * 31 + [error] # Assuming 10 pairs of outputs + prompt_output + error_output
147
 
148
  except Exception as e:
149
+ return [gr.update(visible=False)] * 31 + [gr.update(visible=True, value=str(e))]
150
 
151
  def clear_interface():
152
  return (
 
157
  gr.update(visible=False, value=None), # error_output
158
  gr.update(value=None, visible=False), # prompt_output
159
  ) + ( # Reactant SMILES and Images
160
+ tuple(gr.update(value=None, visible=False) for _ in range(30))
161
  )
162
 
163
  # 示例数据
 
192
 
193
  result_row = []
194
  for i in range(10):
195
+ result_row.append(gr.Textbox(label=f"Reactseq {i+1} ", interactive=False, visible=False))
196
  result_row.append(gr.Textbox(label=f"Reactant {i+1} SMILES", interactive=False, visible=False))
197
  result_row.append(gr.Image(label=f"Reactant {i+1} Image", visible=False))
198