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