Spaces:
Sleeping
Sleeping
from model import MODELS | |
from data import Data | |
import gradio as gr | |
from tempfile import NamedTemporaryFile | |
# scoring strategies | |
SCORING = ["masked-marginals (more accurate)", "wt-marginals (faster)"] | |
def app(*argv): | |
seq, trg, model_name, scoring_strategy, out_file, *_ = argv | |
html = Data(seq, trg, model_name, scoring_strategy, out_file).calculate() | |
return html, gr.File.update(value=out_file.name, visible=True) | |
with gr.Blocks() as demo, NamedTemporaryFile(mode='w+', prefix='out_', suffix='.csv') as out_file, open("instructions.md", "r") as md: | |
gr.Markdown(md.read()) | |
seq = gr.Textbox(lines=2, label="Sequence", placeholder="Sequence here...", value='MVEQYLLEAIVRDARDGITISDCSRPDNPLVFVNDAFTRMTGYDAEEVIGKNCRFLQRGDINLSAVHTIKIAMLTHEPCLVTLKNYRKDGTIFWNELSLTPIINKNGLITHYLGIQKDVSAQVILNQTLHEENHLLKSNKEMLEYLVNIDALTGLHNRRFLEDQLVIQWKLASRHINTITIFMIDIDYFKAFNDTYGHTAGDEALRTIAKTLNNCFMRGSDFVARYGGEEFTILAIGMTELQAHEYSTKLVQKIENLNIHHKGSPLGHLTISLGYSQANPQYHNDQNLVIEQADRALYSAKVEGKNRAVAYREQ') | |
trg = gr.Textbox(lines=1, label="Substitutions", placeholder="Substitutions here...", value="61 214 19 30 122 140") | |
model_name = gr.Dropdown(MODELS, label="Model", value=MODELS[1]) | |
scoring_strategy = gr.Dropdown(SCORING, label="Scoring strategy", value=SCORING[1]) | |
btn = gr.Button(value="Run") | |
out = gr.HTML() | |
bto = gr.File(value=out_file.name, visible=False, label="Download", file_count='single', interactive=False) | |
btn.click(fn=app, inputs=[seq, trg, model_name, scoring_strategy, bto], outputs=[out, bto]) | |
if __name__ == "__main__": | |
demo.launch() |