File size: 1,654 Bytes
94b02a2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
import numpy as np
from tensorflow.keras.models import load_model

# Load model
model = load_model("ldh_predictor.h5")

# Encoding function
aa_to_int = {aa:i+1 for i, aa in enumerate('ACDEFGHIKLMNPQRSTVWY')}
max_length = 500

def predict_ldh(sequence):
    encoded = [aa_to_int.get(aa, 0) for aa in sequence[:max_length]]
    if len(encoded) < max_length:
        encoded += [0] * (max_length - len(encoded))
    prob = model.predict(np.array([encoded]))[0][0]
    return {"LDH": float(prob), "Not LDH": float(1-prob)}

# Gradio interface
interface = gr.Interface(
    fn=predict_ldh,
    inputs=gr.Textbox(lines=5, placeholder="Paste protein sequence...", label="Protein Sequence"),
    outputs=gr.Label(label="Prediction"),
    title="🧬 DeepEnzyme: LDH Classifier",
    examples=[
        ["MATLKDQLIYNLLKEEQTPQNKITVVGVGAVGMACAISILMKDLADELALVDVIEDKLKGEMMDLQHGSLFLRTPKIVSGKDYNVTANSKLVIITAGARQQEGESRLNLVQRNVNIFKFIIPNVVKYSPNCKLLIVSNPVDILTYVAWKISGFPKNRVIGSGCNLDSARFRYLMGERLGVHPLSCHGWVLGEHGDSSVPVWSGMNVAGVSLKTLHPDLGTDKDKEQWKEVHKQVVESAYEVIKLKGYTSWAIGLSVADLAESIMKNLRRVHPVSTMIKGLYGIKDDVFLSVPCILGQNGISDLVKVTLTSEEEARLKKSADTLWGIQKELQF"],
        ["MSEPIRVLVTGAAGQIAYSLLYSIGNGSVFGKDQPIILVLLDITPMMGVLDGVLMELQDCALPLLKDVIATDKEDVAFKDLDVAILVGSMPRREGMERKDLLKANVKIFKSQGAALDKYAKKSVKVIVVGNPANTNCLTASKSAPSIPKENFSCLTRLDHNRAKAQIALKLGVTANDVKNVIIWGNHSSTQYPDVNHAKVKLQGKEVGVYEALKDDSWLKGEFVTTVQQRGAAVIKARKLSSAMSAAKAICDHVRDIWFGTPEGEFVSMGVISDGNSYGVPDDLLYSFPVVIKNKTWKFVEGLPINDFSREKMDLTAKELTEEKESAFEFLSSA"]
    ],
    description="Predict whether a protein is Lactate Dehydrogenase (LDH) using deep learning."
)

interface.launch()