File size: 2,377 Bytes
bebad14
 
 
dffaf30
 
bebad14
 
 
28cb117
 
7023043
bebad14
 
fd32c9f
bebad14
 
28cb117
bebad14
f624b87
bebad14
 
 
 
 
fd32c9f
 
 
 
 
 
 
f354223
bebad14
 
 
28cb117
bebad14
 
 
 
44470f9
28cb117
 
 
 
fd32c9f
 
 
 
 
28cb117
 
7e327ca
28cb117
 
 
 
 
6242bac
28cb117
4853a01
54bb0ac
 
 
6242bac
 
54bb0ac
 
4853a01
6242bac
4853a01
54bb0ac
6242bac
54bb0ac
 
 
6242bac
54bb0ac
 
6242bac
54bb0ac
28cb117
 
 
bebad14
 
fd32c9f
dffaf30
bebad14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

import time

import gradio as gr

from gradio_molecule3d import Molecule3D




def predict (input_seq_1, input_protein_1, input_seq_2,  input_protein_2):
    start_time = time.time()
    # Do inference here
    # return an output pdb file with the protein and two chains A and B.  
    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():
        with gr.Column():
            input_seq_1 = gr.Textbox(lines=3, label="Input Protein 1 sequence (FASTA)")
            input_protein_1 = gr.File(label="Input Protein 2 monomer (PDB)")
        with gr.Column():
            input_seq_2 = gr.Textbox(lines=3, label="Input Protein 1 sequence (FASTA)")
            input_protein_2 = gr.File(label="Input Protein 2 structure (PDB)")
        
        
    
    # define any options here

    # for automated inference the default options are used
    # slider_option = gr.Slider(0,10, label="Slider Option")
    # checkbox_option = gr.Checkbox(label="Checkbox Option")
    # dropdown_option = gr.Dropdown(["Option 1", "Option 2", "Option 3"], label="Radio Option")

    btn = gr.Button("Run Inference")

    gr.Examples(
        [
            [
                "GSGSPLAQQIKNIHSFIHQAKAAGRMDEVRTLQENLHQLMHEYFQQSD",
                "3v1c_A.pdb",
                "GSGSPLAQQIKNIHSFIHQAKAAGRMDEVRTLQENLHQLMHEYFQQSD",
                "3v1c_B.pdb",
                
            ],
        ],
        [input_seq_1, input_protein_1, input_seq_2,  input_protein_2],
    )
    reps =    [
    {
      "model": 0,
      "style": "cartoon",
      "chain": "A",
      "color": "whiteCarbon",
    },
    {
      "model": 0,
      "style": "cartoon",
       "chain": "B",
      "color": "greenCarbon",
    },
    {
      "model": 0,
      "chain": "A",
      "style": "stick",
      "sidechain": True,
      "color": "whiteCarbon",
    },
    {
      "model": 0,
      "chain": "B",
      "style": "stick",
      "sidechain": True,
      "color": "greenCarbon"
    }      
  ]
    
    out = Molecule3D(reps=reps)
    run_time = gr.Textbox(label="Runtime")

    btn.click(predict, inputs=[input_seq_1, input_protein_1, input_seq_2,  input_protein_2], outputs=[out, run_time])

app.launch()