wenhao-gao commited on
Commit
df75420
1 Parent(s): 1b7c1ca
Files changed (1) hide show
  1. app.py +8 -7
app.py CHANGED
@@ -17,7 +17,7 @@ last_result = {}
17
  # Function to clear all inputs
18
  def clear_inputs():
19
  # Return default or empty values to reset each input component
20
- return None, 8, 8, 0
21
 
22
  def sample(smi, search_width, exhaustiveness):
23
  result_df = run_sampling_one_cpu(
@@ -45,9 +45,9 @@ def select_from_output(index):
45
  return df_results.iloc[index]["smiles"], df_results.iloc[index]["score"], df_results.iloc[index]["synthesis"]
46
 
47
  examples = [
 
48
  "Nc1cccc(S(=O)(=O)N2CCCN(S(=O)(=O)c3ccc4c(c3)OCCO4)CC2)c1",
49
  "CN1C[C@H](Nc2cnn(C)c(=O)c2)C[C@H](c2ccccc2)C1",
50
- "COc1ccc(-c2ccnc(Nc3ccccc3)n2)cc1",
51
  "CC[C@@H]1OC[C@@]23Cc4cc(F)c(N)cc4-c4ccc5c(c42)C(=CC(F)(F)O5)[C@@H]1C3=O",
52
  "O=C(OCC(=O)N1[C@H](C(=O)O)C[C@@H]2CCCC[C@@H]21)[C@H](Cc1cbccc1)NC(I)c1bcccc1",
53
  ]
@@ -57,9 +57,10 @@ with gr.Blocks() as demo:
57
  gr.Markdown(f"""
58
  # Demo of [SynFormer](https://github.com/wenhao-gao/synformer/tree/main)
59
  This page demonstrates the SynFormer-ED model, which takes a molecule as input—regardless of its synthetic accessibility—and outputs
60
- identical or approximate molecules along with their associated synthetic paths. The demo runs on CPUs and typically takes about
61
- one minute per run on local machine, but can be accelerated by reducing the search width and exhaustiveness. The model may take longer if the server
62
- is busy. Since the sampling is stochastic, you may run the demo multiple times to explore different results, with a maximum of
 
63
  30 molecules displayed at once.
64
  To learn more about SynFormer’s architecture and applications, check out [our paper](https://github.com/wenhao-gao/synformer/tree/main).
65
 
@@ -68,8 +69,8 @@ with gr.Blocks() as demo:
68
  with gr.Row():
69
  with gr.Column(scale=0.5):
70
  input_molecule = molecule2d(label="SMILES Input")
71
- slider_1 = gr.Slider(minimum=1, maximum=100, step=1, label="Search Width", value=8)
72
- slider_2 = gr.Slider(minimum=1, maximum=100, step=1, label="Exhaustiveness", value=8)
73
 
74
  with gr.Row():
75
  with gr.Column(scale=0.5):
 
17
  # Function to clear all inputs
18
  def clear_inputs():
19
  # Return default or empty values to reset each input component
20
+ return None, 4, 8, 0
21
 
22
  def sample(smi, search_width, exhaustiveness):
23
  result_df = run_sampling_one_cpu(
 
45
  return df_results.iloc[index]["smiles"], df_results.iloc[index]["score"], df_results.iloc[index]["synthesis"]
46
 
47
  examples = [
48
+ "COc1ccc(-c2ccnc(Nc3ccccc3)n2)cc1",
49
  "Nc1cccc(S(=O)(=O)N2CCCN(S(=O)(=O)c3ccc4c(c3)OCCO4)CC2)c1",
50
  "CN1C[C@H](Nc2cnn(C)c(=O)c2)C[C@H](c2ccccc2)C1",
 
51
  "CC[C@@H]1OC[C@@]23Cc4cc(F)c(N)cc4-c4ccc5c(c42)C(=CC(F)(F)O5)[C@@H]1C3=O",
52
  "O=C(OCC(=O)N1[C@H](C(=O)O)C[C@@H]2CCCC[C@@H]21)[C@H](Cc1cbccc1)NC(I)c1bcccc1",
53
  ]
 
57
  gr.Markdown(f"""
58
  # Demo of [SynFormer](https://github.com/wenhao-gao/synformer/tree/main)
59
  This page demonstrates the SynFormer-ED model, which takes a molecule as input—regardless of its synthetic accessibility—and outputs
60
+ identical or approximate molecules along with their associated synthetic paths.
61
+ This demo runs on CPUs and typically takes about one minute per run on local machine, but can be accelerated by reducing the
62
+ search width and exhaustiveness. The model may take longer if the server is busy.
63
+ Since the sampling is stochastic, you may run the demo multiple times to explore different results, with a maximum of
64
  30 molecules displayed at once.
65
  To learn more about SynFormer’s architecture and applications, check out [our paper](https://github.com/wenhao-gao/synformer/tree/main).
66
 
 
69
  with gr.Row():
70
  with gr.Column(scale=0.5):
71
  input_molecule = molecule2d(label="SMILES Input")
72
+ slider_1 = gr.Slider(minimum=1, maximum=16, step=1, label="Search Width", value=4)
73
+ slider_2 = gr.Slider(minimum=1, maximum=32, step=1, label="Exhaustiveness", value=8)
74
 
75
  with gr.Row():
76
  with gr.Column(scale=0.5):