Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -176,13 +176,38 @@ def predictmic(sequence):
|
|
| 176 |
|
| 177 |
return mic_results
|
| 178 |
|
| 179 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 180 |
iface = gr.Interface(
|
| 181 |
-
fn=
|
| 182 |
inputs=gr.Textbox(label="Enter Protein Sequence"),
|
| 183 |
-
outputs=
|
| 184 |
-
|
| 185 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 186 |
)
|
| 187 |
|
| 188 |
-
iface.launch(share=True)
|
|
|
|
| 176 |
|
| 177 |
return mic_results
|
| 178 |
|
| 179 |
+
|
| 180 |
+
|
| 181 |
+
|
| 182 |
+
|
| 183 |
+
def full_prediction(sequence):
|
| 184 |
+
# AMP prediction
|
| 185 |
+
features = extract_features(sequence)
|
| 186 |
+
if isinstance(features, str) and features.startswith("Error:"):
|
| 187 |
+
return "Error", 0.0, {}
|
| 188 |
+
|
| 189 |
+
prediction = model.predict(features)[0]
|
| 190 |
+
probabilities = model.predict_proba(features)[0]
|
| 191 |
+
|
| 192 |
+
amp_result = "Antimicrobial Peptide (AMP)" if prediction == 0 else "Non-AMP"
|
| 193 |
+
confidence = round(probabilities[0 if prediction == 0 else 1] * 100, 2)
|
| 194 |
+
|
| 195 |
+
# MIC prediction
|
| 196 |
+
mic_values = predictmic(sequence)
|
| 197 |
+
|
| 198 |
+
return amp_result, f"{confidence}%", mic_values
|
| 199 |
+
|
| 200 |
+
import gradio as gr
|
| 201 |
iface = gr.Interface(
|
| 202 |
+
fn=full_prediction,
|
| 203 |
inputs=gr.Textbox(label="Enter Protein Sequence"),
|
| 204 |
+
outputs=[
|
| 205 |
+
gr.Label(label="AMP Classification"),
|
| 206 |
+
gr.Label(label="Confidence"),
|
| 207 |
+
gr.JSON(label="Predicted MIC (µg/mL) for Each Bacterium")
|
| 208 |
+
],
|
| 209 |
+
title="AMP & MIC Predictor",
|
| 210 |
+
description="Enter an amino acid sequence (e.g., FLPVLAGGL) to predict AMP class and MIC values across bacteria."
|
| 211 |
)
|
| 212 |
|
| 213 |
+
iface.launch(share=True)
|