|
|
|
import time |
|
|
|
import gradio as gr |
|
|
|
from gradio_molecule3d import Molecule3D |
|
|
|
|
|
|
|
|
|
def predict (input_sequence, input_ligand, input_protein): |
|
start_time = time.time() |
|
|
|
|
|
end_time = time.time() |
|
run_time = end_time - start_time |
|
return "test_out.pdb", run_time |
|
|
|
with gr.Blocks() as app: |
|
|
|
gr.Markdown("# Template for inference") |
|
|
|
gr.Markdown("Title, description, and other information about the model") |
|
with gr.Row(): |
|
input_sequence = gr.Textbox(lines=3, label="Input Protein sequence (FASTA)") |
|
input_ligand = gr.Textbox(lines=3, label="Input ligand SMILES") |
|
input_protein = gr.File(label="Input protein monomer") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
btn = gr.Button("Run Inference") |
|
|
|
gr.Examples( |
|
[ |
|
[ |
|
"SVKSEYAEAAAVGQEAVAVFNTMKAAFQNGDKEAVAQYLARLASLYTRHEELLNRILEKARREGNKEAVTLMNEFTATFQTGKSIFNAMVAAFKNGDDDSFESYLQALEKVTAKGETLADQIAKAL:SVKSEYAEAAAVGQEAVAVFNTMKAAFQNGDKEAVAQYLARLASLYTRHEELLNRILEKARREGNKEAVTLMNEFTATFQTGKSIFNAMVAAFKNGDDDSFESYLQALEKVTAKGETLADQIAKAL", |
|
"COc1ccc(cc1)n2c3c(c(n2)C(=O)N)CCN(C3=O)c4ccc(cc4)N5CCCCC5=O", |
|
"test_out.pdb" |
|
], |
|
], |
|
[input_sequence, input_ligand], |
|
) |
|
reps = [ |
|
{ |
|
"model": 0, |
|
"style": "cartoon", |
|
"color": "whiteCarbon", |
|
}, |
|
{ |
|
"model": 0, |
|
"resname": "UNK", |
|
"style": "stick", |
|
"color": "greenCarbon", |
|
}, |
|
{ |
|
"model": 0, |
|
"resname": "LIG", |
|
"style": "stick", |
|
"color": "greenCarbon", |
|
} |
|
|
|
] |
|
|
|
out = Molecule3D(reps=reps) |
|
run_time = gr.Textbox(label="Runtime") |
|
|
|
btn.click(predict, inputs=[input_sequence, input_ligand, input_protein], outputs=[out, run_time]) |
|
|
|
app.launch() |
|
|