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() |