Spaces:
Running
Running
import gradio as gr | |
from src.predict import predict | |
def update_amino_acid(safety_param, amino_acid): | |
if safety_param == "KIBA Score": | |
return gr.update(visible=True, value=amino_acid) | |
else: | |
return gr.update(visible=False) | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
with gr.Column(): | |
safety_param = gr.Dropdown(["Skin Reaction", "KIBA Score", "Liver Safety"], label="Parameter") | |
drug_name = gr.Textbox(label="Drug Name") | |
amino_acid = gr.Textbox(label="Amino Acid Name", visible=False) | |
with gr.Column(): | |
safety_report = gr.Textbox(label="Drug Analysis") | |
analyze_drug_btn = gr.Button("Get Drug Analysis") | |
analyze_drug_btn.click( | |
fn=predict, | |
inputs=[safety_param, drug_name, amino_acid], | |
outputs=safety_report, | |
) | |
safety_param.change( | |
fn=update_amino_acid, | |
inputs=[safety_param, amino_acid], | |
outputs=amino_acid, | |
) | |
examples = [ | |
["KIBA Score", "C1=CC=C(C=C1)C(=O)N", "RPDFCLEPPYTGPCKARIIRYFYNAKAGLCQTFVYGGCRAKRNNFKSAEDCMRTCGGA"], | |
["KIBA Score", "C1=CC=C(C=C1)C(=O)N", "Humanin"], | |
["Liver Safety", "benzamide", None], | |
["Liver Safety", "CN1C(=O)CN=C(C2=CCCCC2)c2cc(Cl)ccc21", None], | |
["Skin Reaction", "Amoxicillin", None], | |
["Skin Reaction", "Atorvastatin", None] | |
] | |
gr.Examples( | |
examples=examples, | |
inputs=[safety_param, drug_name, amino_acid], | |
) | |
if __name__ == "__main__": | |
demo.queue(max_size=10).launch() | |