Update app.py
Browse files
app.py
CHANGED
@@ -1,30 +1,4 @@
|
|
1 |
-
|
2 |
-
import torch
|
3 |
-
import gradio as gr
|
4 |
-
from gradio_rangeslider import RangeSlider
|
5 |
-
import pandas as pd
|
6 |
-
from utils import create_vocab, setup_seed
|
7 |
-
from dataset_mlm import get_paded_token_idx_gen, add_tokens_to_vocab
|
8 |
-
import time
|
9 |
-
seed = random.randint(0,100000)
|
10 |
-
|
11 |
-
setup_seed(seed)
|
12 |
-
device = torch.device("cpu")
|
13 |
-
vocab_mlm = create_vocab()
|
14 |
-
vocab_mlm = add_tokens_to_vocab(vocab_mlm)
|
15 |
-
save_path = 'mlm-model-27.pt'
|
16 |
-
train_seqs = pd.read_csv('C0_seq.csv')
|
17 |
-
train_seq = train_seqs['Seq'].tolist()
|
18 |
-
model = torch.load(save_path)
|
19 |
-
model = model.to(device)
|
20 |
-
|
21 |
-
def temperature_sampling(logits, temperature):
|
22 |
-
logits = logits / temperature
|
23 |
-
probabilities = torch.softmax(logits, dim=-1)
|
24 |
-
sampled_token = torch.multinomial(probabilities, 1)
|
25 |
-
return sampled_token
|
26 |
-
|
27 |
-
def CTXGen(τ, g_num, length_range):
|
28 |
start, end = length_range
|
29 |
X1 = "X"
|
30 |
X2 = "X"
|
@@ -114,7 +88,8 @@ def CTXGen(τ, g_num, length_range):
|
|
114 |
out = pd.DataFrame({'Generated_seq': generated_seqs_FINAL, 'Subtype': cls_pos_all, 'Subtype_probability': cls_probability_all, 'Potency': act_pos_all, 'Potency_probability': act_probability_all, 'random_seed': seed})
|
115 |
out.to_csv("output.csv", index=False, encoding='utf-8-sig')
|
116 |
count += 1
|
117 |
-
|
|
|
118 |
|
119 |
iface = gr.Interface(
|
120 |
fn=CTXGen,
|
@@ -123,6 +98,9 @@ iface = gr.Interface(
|
|
123 |
gr.Dropdown(choices=[1,10,100], label="Number of generations"),
|
124 |
RangeSlider(minimum=8, maximum=50, step=1, value=(12, 17), label="Length range")
|
125 |
],
|
126 |
-
outputs=[
|
|
|
|
|
|
|
127 |
)
|
128 |
iface.launch()
|
|
|
1 |
+
def CTXGen(τ, g_num, length_range, progress=gr.Progress()):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
start, end = length_range
|
3 |
X1 = "X"
|
4 |
X2 = "X"
|
|
|
88 |
out = pd.DataFrame({'Generated_seq': generated_seqs_FINAL, 'Subtype': cls_pos_all, 'Subtype_probability': cls_probability_all, 'Potency': act_pos_all, 'Potency_probability': act_probability_all, 'random_seed': seed})
|
89 |
out.to_csv("output.csv", index=False, encoding='utf-8-sig')
|
90 |
count += 1
|
91 |
+
progress(count / gen_num, desc="Generating sequences...")
|
92 |
+
return 'output.csv', f"Generated {count} sequences."
|
93 |
|
94 |
iface = gr.Interface(
|
95 |
fn=CTXGen,
|
|
|
98 |
gr.Dropdown(choices=[1,10,100], label="Number of generations"),
|
99 |
RangeSlider(minimum=8, maximum=50, step=1, value=(12, 17), label="Length range")
|
100 |
],
|
101 |
+
outputs=[
|
102 |
+
gr.File(label="Download generated sequences"),
|
103 |
+
gr.Textbox(label="Progress")
|
104 |
+
]
|
105 |
)
|
106 |
iface.launch()
|