Spaces:
Runtime error
Runtime error
Add new METL models in dropdown
Browse filesUpdated the selection of METL models and expanded size of dropdown to account for longer model names
app.py
CHANGED
|
@@ -14,6 +14,78 @@ metl_config = AutoConfig.from_pretrained('gitter-lab/METL', trust_remote_code=Tr
|
|
| 14 |
metl = AutoModel.from_pretrained('gitter-lab/METL', trust_remote_code=True, cache_dir='./cache')
|
| 15 |
pdb_path = None
|
| 16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 17 |
RADIO_CSS = """
|
| 18 |
#indexing>div {
|
| 19 |
flex-direction: column;
|
|
@@ -275,20 +347,26 @@ def empty_pdb_path(button):
|
|
| 275 |
pdb_path = None
|
| 276 |
return ""
|
| 277 |
|
| 278 |
-
def load_model(
|
| 279 |
global metl
|
| 280 |
|
| 281 |
-
|
| 282 |
-
|
|
|
|
|
|
|
|
|
|
| 283 |
|
| 284 |
-
|
| 285 |
-
|
| 286 |
-
|
| 287 |
-
|
| 288 |
-
|
| 289 |
-
|
|
|
|
|
|
|
|
|
|
| 290 |
|
| 291 |
-
return get_color(
|
| 292 |
|
| 293 |
def update_pdb(variant_modal, indexing):
|
| 294 |
if len(variant_modal['text']) == 0 and len(variant_modal['files']) == 0:
|
|
@@ -322,7 +400,7 @@ def hide_variants(checkbox_values):
|
|
| 322 |
def populate_example():
|
| 323 |
global pdb_path
|
| 324 |
|
| 325 |
-
model = "
|
| 326 |
wt = "MQYKLILNGKTLKGETTTEAVDAATAEKVFKQYANDNGVDGEWTYDDATKTFTVTE"
|
| 327 |
variants = '["T17P,T54F", "V28L,F51A"]'
|
| 328 |
# "T17P,V28L,F51A,T54F"
|
|
@@ -419,12 +497,20 @@ def predict(input_multi_modal, variant_multi_modal, variant_index_type):
|
|
| 419 |
return out_str, iframe, checkbox
|
| 420 |
|
| 421 |
with gr.Blocks(css=RADIO_CSS) as demo:
|
| 422 |
-
with gr.Row(equal_height=True, elem_id="modelPDBRow"):
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
| 427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 428 |
|
| 429 |
with gr.Column():
|
| 430 |
metl_seq_input = gr.MultimodalTextbox(label="Input Protein Sequence", interactive=True, elem_classes="multiModalText", elem_id="wildTypeSequence")
|
|
|
|
| 14 |
metl = AutoModel.from_pretrained('gitter-lab/METL', trust_remote_code=True, cache_dir='./cache')
|
| 15 |
pdb_path = None
|
| 16 |
|
| 17 |
+
# UUID lookup for models -- used for the dropdown list
|
| 18 |
+
uuid_lookup = {
|
| 19 |
+
"Source / Global / 1D β [METL-G-20M-1D] (D72M9aEp)": "D72M9aEp",
|
| 20 |
+
"Source / Global / 3D β [METL-G-20M-3D] (Nr9zCKpR)": "Nr9zCKpR",
|
| 21 |
+
"Source / Global / 1D β [METL-G-50M-1D] (auKdzzwX)": "auKdzzwX",
|
| 22 |
+
"Source / Global / 3D β [METL-G-50M-3D] (6PSAzdfv)": "6PSAzdfv",
|
| 23 |
+
"Source / Local / GFP / 1D β [METL-L-2M-1D-GFP] (8gMPQJy4)": "8gMPQJy4",
|
| 24 |
+
"Source / Local / GFP / 3D β [METL-L-2M-3D-GFP] (Hr4GNHws)": "Hr4GNHws",
|
| 25 |
+
"Source / Local / DLG4 / 1D β [METL-L-2M-1D-DLG4_2022] (8iFoiYw2)": "8iFoiYw2",
|
| 26 |
+
"Source / Local / DLG4 / 3D β [METL-L-2M-3D-DLG4_2022] (kt5DdWTa)": "kt5DdWTa",
|
| 27 |
+
"Source / Local / GB1 / 1D β [METL-L-2M-1D-GB1] (DMfkjVzT)": "DMfkjVzT",
|
| 28 |
+
"Source / Local / GB1 / 3D β [METL-L-2M-3D-GB1] (epegcFiH)": "epegcFiH",
|
| 29 |
+
"Source / Local / GRB2 / 1D β [METL-L-2M-1D-GRB2] (kS3rUS7h)": "kS3rUS7h",
|
| 30 |
+
"Source / Local / GRB2 / 3D β [METL-L-2M-3D-GRB2] (X7w83g6S)": "X7w83g6S",
|
| 31 |
+
"Source / Local / Pab1 / 1D β [METL-L-2M-1D-Pab1] (UKebCQGz)": "UKebCQGz",
|
| 32 |
+
"Source / Local / Pab1 / 3D β [METL-L-2M-3D-Pab1] (2rr8V4th)": "2rr8V4th",
|
| 33 |
+
"Source / Local / PTEN / 1D β [METL-L-2M-1D-PTEN] (CEMSx7ZC)": "CEMSx7ZC",
|
| 34 |
+
"Source / Local / PTEN / 3D β [METL-L-2M-3D-PTEN] (PjxR5LW7)": "PjxR5LW7",
|
| 35 |
+
"Source / Local / TEM-1 / 1D β [METL-L-2M-1D-TEM-1] (PREhfC22)": "PREhfC22",
|
| 36 |
+
"Source / Local / TEM-1 / 3D β [METL-L-2M-3D-TEM-1] (9ASvszux)": "9ASvszux",
|
| 37 |
+
"Source / Local / Ube4b / 1D β [METL-L-2M-1D-Ube4b] (HscFFkAb)": "HscFFkAb",
|
| 38 |
+
"Source / Local / Ube4b / 3D β [METL-L-2M-3D-Ube4b] (H48oiNZN)": "H48oiNZN",
|
| 39 |
+
"METL-BIND / Source / Local / GB1 / 3D β [METL-BIND-2M-3D-GB1-STANDARD] (K6mw24Rg)": "K6mw24Rg",
|
| 40 |
+
"METL-BIND / Source / Local / GB1 / 3D β [METL-BIND-2M-3D-GB1-BINDING] (Bo5wn2SG)": "Bo5wn2SG",
|
| 41 |
+
"Finetuned / Global / GFP / 1D β (PeT2D92j)": "PeT2D92j",
|
| 42 |
+
"Finetuned / Global / GFP / 3D β (6JBzHpkQ)": "6JBzHpkQ",
|
| 43 |
+
"Finetuned / Global / DLG4-Abundance / 1D β (4Rh3WCbG)": "4Rh3WCbG",
|
| 44 |
+
"Finetuned / Global / DLG4-Abundance / 3D β (RBtqxzvu)": "RBtqxzvu",
|
| 45 |
+
"Finetuned / Global / DLG4-Binding / 1D β (4xbuC5y7)": "4xbuC5y7",
|
| 46 |
+
"Finetuned / Global / DLG4-Binding / 3D β (BuvxgE2x)": "BuvxgE2x",
|
| 47 |
+
"Finetuned / Global / GB1 / 1D β (dAndZfJ4)": "dAndZfJ4",
|
| 48 |
+
"Finetuned / Global / GB1 / 3D β (9vSB3DRM)": "9vSB3DRM",
|
| 49 |
+
"Finetuned / Global / GRB2-Abundance / 1D β (HenDpDWe)": "HenDpDWe",
|
| 50 |
+
"Finetuned / Global / GRB2-Abundance / 3D β (dDoCCvfr)": "dDoCCvfr",
|
| 51 |
+
"Finetuned / Global / GRB2-Binding / 1D β (cvnycE5Q)": "cvnycE5Q",
|
| 52 |
+
"Finetuned / Global / GRB2-Binding / 3D β (jYesS9Ki)": "jYesS9Ki",
|
| 53 |
+
"Finetuned / Global / Pab1 / 1D β (ho54gxzv)": "ho54gxzv",
|
| 54 |
+
"Finetuned / Global / Pab1 / 3D β (jhbL2FeB)": "jhbL2FeB",
|
| 55 |
+
"Finetuned / Global / PTEN-Abundance / 1D β (UEuMtmfx)": "UEuMtmfx",
|
| 56 |
+
"Finetuned / Global / PTEN-Abundance / 3D β (eJPPQYEW)": "eJPPQYEW",
|
| 57 |
+
"Finetuned / Global / PTEN-Activity / 1D β (U3X8mSeT)": "U3X8mSeT",
|
| 58 |
+
"Finetuned / Global / PTEN-Activity / 3D β (4gqYnW6V)": "4gqYnW6V",
|
| 59 |
+
"Finetuned / Global / TEM-1 / 1D β (ELL4GGQq)": "ELL4GGQq",
|
| 60 |
+
"Finetuned / Global / TEM-1 / 3D β (K6BjsWXm)": "K6BjsWXm",
|
| 61 |
+
"Finetuned / Global / Ube4b / 1D β (BAWw23vW)": "BAWw23vW",
|
| 62 |
+
"Finetuned / Global / Ube4b / 3D β (G9piq6WH)": "G9piq6WH",
|
| 63 |
+
"Finetuned / Local / GFP / 1D β (HaUuRwfE)": "HaUuRwfE",
|
| 64 |
+
"Finetuned / Local / GFP / 3D β (LWEY95Yb)": "LWEY95Yb",
|
| 65 |
+
"Finetuned / Local / DLG4-Abundance / 1D β (RMFA6dnX)": "RMFA6dnX",
|
| 66 |
+
"Finetuned / Local / DLG4-Abundance / 3D β (V3uTtXVe)": "V3uTtXVe",
|
| 67 |
+
"Finetuned / Local / DLG4-Binding / 1D β (YdzBYWHs)": "YdzBYWHs",
|
| 68 |
+
"Finetuned / Local / DLG4-Binding / 3D β (iu6ZahPw)": "iu6ZahPw",
|
| 69 |
+
"Finetuned / Local / GB1 / 1D β (Pgcseywk)": "Pgcseywk",
|
| 70 |
+
"Finetuned / Local / GB1 / 3D β (UvMMdsq4)": "UvMMdsq4",
|
| 71 |
+
"Finetuned / Local / GRB2-Abundance / 1D β (VNpi9Zjt)": "VNpi9Zjt",
|
| 72 |
+
"Finetuned / Local / GRB2-Abundance / 3D β (PqBMjXkA)": "PqBMjXkA",
|
| 73 |
+
"Finetuned / Local / GRB2-Binding / 1D β (Z59BhUaE)": "Z59BhUaE",
|
| 74 |
+
"Finetuned / Local / GRB2-Binding / 3D β (VwcRN6UB)": "VwcRN6UB",
|
| 75 |
+
"Finetuned / Local / Pab1 / 1D β (TdjCzoQQ)": "TdjCzoQQ",
|
| 76 |
+
"Finetuned / Local / Pab1 / 3D β (5SjoLx3y)": "5SjoLx3y",
|
| 77 |
+
"Finetuned / Local / PTEN-Abundance / 1D β (oUScGeHo)": "oUScGeHo",
|
| 78 |
+
"Finetuned / Local / PTEN-Abundance / 3D β (DhuasDEr)": "DhuasDEr",
|
| 79 |
+
"Finetuned / Local / PTEN-Activity / 1D β (m9UsG7dq)": "m9UsG7dq",
|
| 80 |
+
"Finetuned / Local / PTEN-Activity / 3D β (8Vi7ENcC)": "8Vi7ENcC",
|
| 81 |
+
"Finetuned / Local / TEM-1 / 1D β (64ncFxBR)": "64ncFxBR",
|
| 82 |
+
"Finetuned / Local / TEM-1 / 3D β (PncvgiJU)": "PncvgiJU",
|
| 83 |
+
"Finetuned / Local / Ube4b / 1D β (e9uhhnAv)": "e9uhhnAv",
|
| 84 |
+
"Finetuned / Local / Ube4b / 3D β (NfbZL7jK)": "NfbZL7jK",
|
| 85 |
+
"GFP DESIGN / Finetuned / Local / GFP / 1D β (YoQkzoLD)": "YoQkzoLD",
|
| 86 |
+
"GFP DESIGN / Finetuned / Local / GFP / 3D β (PEkeRuxb)": "PEkeRuxb"
|
| 87 |
+
}
|
| 88 |
+
|
| 89 |
RADIO_CSS = """
|
| 90 |
#indexing>div {
|
| 91 |
flex-direction: column;
|
|
|
|
| 347 |
pdb_path = None
|
| 348 |
return ""
|
| 349 |
|
| 350 |
+
def load_model(model_input, _):
|
| 351 |
global metl
|
| 352 |
|
| 353 |
+
# Case 1: input is one of the dropdown labels β lookup UUID
|
| 354 |
+
if model_input in uuid_lookup:
|
| 355 |
+
uuid = uuid_lookup[model_input]
|
| 356 |
+
metl.load_from_uuid(uuid)
|
| 357 |
+
return get_color(GREEN, f"{model_input} loaded (from dropdown)"), gr.Button(interactive=True)
|
| 358 |
|
| 359 |
+
# Case 2: input is a raw UUID
|
| 360 |
+
elif model_input in metl.config.UUID_URL_MAP:
|
| 361 |
+
metl.load_from_uuid(model_input)
|
| 362 |
+
return get_color(GREEN, f"{model_input} loaded (direct UUID)"), gr.Button(interactive=True)
|
| 363 |
+
|
| 364 |
+
# Case 3: input is a raw IDENT
|
| 365 |
+
elif model_input in metl.config.IDENT_UUID_MAP:
|
| 366 |
+
metl.load_from_ident(model_input)
|
| 367 |
+
return get_color(GREEN, f"{model_input} loaded (direct IDENT)"), gr.Button(interactive=True)
|
| 368 |
|
| 369 |
+
return get_color(RED, "Model not recognized"), gr.Button(interactive=False)
|
| 370 |
|
| 371 |
def update_pdb(variant_modal, indexing):
|
| 372 |
if len(variant_modal['text']) == 0 and len(variant_modal['files']) == 0:
|
|
|
|
| 400 |
def populate_example():
|
| 401 |
global pdb_path
|
| 402 |
|
| 403 |
+
model = "Source / Local / GB1 / 3D β [METL-L-2M-3D-GB1] (epegcFiH)"
|
| 404 |
wt = "MQYKLILNGKTLKGETTTEAVDAATAEKVFKQYANDNGVDGEWTYDDATKTFTVTE"
|
| 405 |
variants = '["T17P,T54F", "V28L,F51A"]'
|
| 406 |
# "T17P,V28L,F51A,T54F"
|
|
|
|
| 497 |
return out_str, iframe, checkbox
|
| 498 |
|
| 499 |
with gr.Blocks(css=RADIO_CSS) as demo:
|
| 500 |
+
# with gr.Row(equal_height=True, elem_id="modelPDBRow"):
|
| 501 |
+
# with gr.Column(elem_id="modelInputCol"):
|
| 502 |
+
# # metl_model_id = gr.Dropdown(label="METL model IDENT or UUID", choices=list(metl.config.IDENT_UUID_MAP.keys()), allow_custom_value=False)
|
| 503 |
+
# metl_model_id = gr.Dropdown(label="METL model", choices=['Source / Global / 1D β [METL-G-20M-1D] (D72M9aEp)', 'Source / Global / 3D β [METL-G-20M-3D] (Nr9zCKpR)', 'Source / Global / 1D β [METL-G-50M-1D] (auKdzzwX)', 'Source / Global / 3D β [METL-G-50M-3D] (6PSAzdfv)', 'Source / Local / GFP / 1D β [METL-L-2M-1D-GFP] (8gMPQJy4)', 'Source / Local / GFP / 3D β [METL-L-2M-3D-GFP] (Hr4GNHws)', 'Source / Local / DLG4 / 1D β [METL-L-2M-1D-DLG4_2022] (8iFoiYw2)', 'Source / Local / DLG4 / 3D β [METL-L-2M-3D-DLG4_2022] (kt5DdWTa)', 'Source / Local / GB1 / 1D β [METL-L-2M-1D-GB1] (DMfkjVzT)', 'Source / Local / GB1 / 3D β [METL-L-2M-3D-GB1] (epegcFiH)', 'Source / Local / GRB2 / 1D β [METL-L-2M-1D-GRB2] (kS3rUS7h)', 'Source / Local / GRB2 / 3D β [METL-L-2M-3D-GRB2] (X7w83g6S)', 'Source / Local / Pab1 / 1D β [METL-L-2M-1D-Pab1] (UKebCQGz)', 'Source / Local / Pab1 / 3D β [METL-L-2M-3D-Pab1] (2rr8V4th)', 'Source / Local / PTEN / 1D β [METL-L-2M-1D-PTEN] (CEMSx7ZC)', 'Source / Local / PTEN / 3D β [METL-L-2M-3D-PTEN] (PjxR5LW7)', 'Source / Local / TEM-1 / 1D β [METL-L-2M-1D-TEM-1] (PREhfC22)', 'Source / Local / TEM-1 / 3D β [METL-L-2M-3D-TEM-1] (9ASvszux)', 'Source / Local / Ube4b / 1D β [METL-L-2M-1D-Ube4b] (HscFFkAb)', 'Source / Local / Ube4b / 3D β [METL-L-2M-3D-Ube4b] (H48oiNZN)', 'METL-BIND / Source / Local / GB1 / 3D β [METL-BIND-2M-3D-GB1-STANDARD] (K6mw24Rg)', 'METL-BIND / Source / Local / GB1 / 3D β [METL-BIND-2M-3D-GB1-BINDING] (Bo5wn2SG)', 'Finetuned / Global / GFP / 1D β (PeT2D92j)', 'Finetuned / Global / GFP / 3D β (6JBzHpkQ)', 'Finetuned / Global / DLG4-Abundance / 1D β (4Rh3WCbG)', 'Finetuned / Global / DLG4-Abundance / 3D β (RBtqxzvu)', 'Finetuned / Global / DLG4-Binding / 1D β (4xbuC5y7)', 'Finetuned / Global / DLG4-Binding / 3D β (BuvxgE2x)', 'Finetuned / Global / GB1 / 1D β (dAndZfJ4)', 'Finetuned / Global / GB1 / 3D β (9vSB3DRM)', 'Finetuned / Global / GRB2-Abundance / 1D β (HenDpDWe)', 'Finetuned / Global / GRB2-Abundance / 3D β (dDoCCvfr)', 'Finetuned / Global / GRB2-Binding / 1D β (cvnycE5Q)', 'Finetuned / Global / GRB2-Binding / 3D β (jYesS9Ki)', 'Finetuned / Global / Pab1 / 1D β (ho54gxzv)', 'Finetuned / Global / Pab1 / 3D β (jhbL2FeB)', 'Finetuned / Global / PTEN-Abundance / 1D β (UEuMtmfx)', 'Finetuned / Global / PTEN-Abundance / 3D β (eJPPQYEW)', 'Finetuned / Global / PTEN-Activity / 1D β (U3X8mSeT)', 'Finetuned / Global / PTEN-Activity / 3D β (4gqYnW6V)', 'Finetuned / Global / TEM-1 / 1D β (ELL4GGQq)', 'Finetuned / Global / TEM-1 / 3D β (K6BjsWXm)', 'Finetuned / Global / Ube4b / 1D β (BAWw23vW)', 'Finetuned / Global / Ube4b / 3D β (G9piq6WH)', 'Finetuned / Local / GFP / 1D β (HaUuRwfE)', 'Finetuned / Local / GFP / 3D β (LWEY95Yb)', 'Finetuned / Local / DLG4-Abundance / 1D β (RMFA6dnX)', 'Finetuned / Local / DLG4-Abundance / 3D β (V3uTtXVe)', 'Finetuned / Local / DLG4-Binding / 1D β (YdzBYWHs)', 'Finetuned / Local / DLG4-Binding / 3D β (iu6ZahPw)', 'Finetuned / Local / GB1 / 1D β (Pgcseywk)', 'Finetuned / Local / GB1 / 3D β (UvMMdsq4)', 'Finetuned / Local / GRB2-Abundance / 1D β (VNpi9Zjt)', 'Finetuned / Local / GRB2-Abundance / 3D β (PqBMjXkA)', 'Finetuned / Local / GRB2-Binding / 1D β (Z59BhUaE)', 'Finetuned / Local / GRB2-Binding / 3D β (VwcRN6UB)', 'Finetuned / Local / Pab1 / 1D β (TdjCzoQQ)', 'Finetuned / Local / Pab1 / 3D β (5SjoLx3y)', 'Finetuned / Local / PTEN-Abundance / 1D β (oUScGeHo)', 'Finetuned / Local / PTEN-Abundance / 3D β (DhuasDEr)', 'Finetuned / Local / PTEN-Activity / 1D β (m9UsG7dq)', 'Finetuned / Local / PTEN-Activity / 3D β (8Vi7ENcC)', 'Finetuned / Local / TEM-1 / 1D β (64ncFxBR)', 'Finetuned / Local / TEM-1 / 3D β (PncvgiJU)', 'Finetuned / Local / Ube4b / 1D β (e9uhhnAv)', 'Finetuned / Local / Ube4b / 3D β (NfbZL7jK)', 'GFP DESIGN / Finetuned / Local / GFP / 1D β (YoQkzoLD)', 'GFP DESIGN / Finetuned / Local / GFP / 3D β (PEkeRuxb)'], allow_custom_value=False)
|
| 504 |
+
# metl_model_status = gr.HTML(get_color(RED, "Select Model"), elem_id="modelStatus")
|
| 505 |
+
# with gr.Column():
|
| 506 |
+
# upload_pdb = gr.File(label="PDB File upload", elem_id="pdbUpload", file_types=[".pdb", ".txt"])
|
| 507 |
+
|
| 508 |
+
with gr.Column():
|
| 509 |
+
metl_model_id = gr.Dropdown(label="METL model", choices=list(uuid_lookup.keys()), allow_custom_value=False)
|
| 510 |
+
metl_model_status = gr.HTML(get_color(RED, "Select Model"), elem_id="modelStatus")
|
| 511 |
+
|
| 512 |
+
with gr.Column():
|
| 513 |
+
upload_pdb = gr.File(label="PDB File upload", elem_id="pdbUpload", file_types=[".pdb", ".txt"])
|
| 514 |
|
| 515 |
with gr.Column():
|
| 516 |
metl_seq_input = gr.MultimodalTextbox(label="Input Protein Sequence", interactive=True, elem_classes="multiModalText", elem_id="wildTypeSequence")
|