Biotech2 / UI.py
C2MV's picture
Update UI.py
8da03c5 verified
raw
history blame
3.81 kB
# UI.py
import gradio as gr
from interface import process_and_plot
def create_interface():
# Definir los componentes de entrada
inputs = [
gr.inputs.File(label="Sube tu archivo Excel"),
# Ecuaciones de Biomasa
gr.inputs.Textbox(label="Ecuación de Biomasa 1", default="xo*exp(um*t)"),
gr.inputs.Textbox(label="Ecuación de Biomasa 2", default=""),
gr.inputs.Textbox(label="Ecuación de Biomasa 3", default=""),
# Parámetros de Biomasa
gr.inputs.Textbox(label="Parámetros de Biomasa 1", default="xo, um"),
gr.inputs.Textbox(label="Parámetros de Biomasa 2", default=""),
gr.inputs.Textbox(label="Parámetros de Biomasa 3", default=""),
# Límites de Biomasa
gr.inputs.Textbox(label="Límites de Biomasa 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Biomasa 2", default=""),
gr.inputs.Textbox(label="Límites de Biomasa 3", default=""),
# Ecuaciones de Sustrato
gr.inputs.Textbox(label="Ecuación de Sustrato 1", default="so - k1*X(t)"),
gr.inputs.Textbox(label="Ecuación de Sustrato 2", default=""),
gr.inputs.Textbox(label="Ecuación de Sustrato 3", default=""),
# Parámetros de Sustrato
gr.inputs.Textbox(label="Parámetros de Sustrato 1", default="so, k1"),
gr.inputs.Textbox(label="Parámetros de Sustrato 2", default=""),
gr.inputs.Textbox(label="Parámetros de Sustrato 3", default=""),
# Límites de Sustrato
gr.inputs.Textbox(label="Límites de Sustrato 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Sustrato 2", default=""),
gr.inputs.Textbox(label="Límites de Sustrato 3", default=""),
# Ecuaciones de Producto
gr.inputs.Textbox(label="Ecuación de Producto 1", default="po + k2*X(t)"),
gr.inputs.Textbox(label="Ecuación de Producto 2", default=""),
gr.inputs.Textbox(label="Ecuación de Producto 3", default=""),
# Parámetros de Producto
gr.inputs.Textbox(label="Parámetros de Producto 1", default="po, k2"),
gr.inputs.Textbox(label="Parámetros de Producto 2", default=""),
gr.inputs.Textbox(label="Parámetros de Producto 3", default=""),
# Límites de Producto
gr.inputs.Textbox(label="Límites de Producto 1", default="[ (0, np.inf), (0, np.inf) ]"),
gr.inputs.Textbox(label="Límites de Producto 2", default=""),
gr.inputs.Textbox(label="Límites de Producto 3", default=""),
# Opciones de visualización
gr.inputs.Dropdown(
choices=['best', 'upper right', 'upper left', 'lower right', 'lower left'],
label="Posición de la Leyenda",
default='best'
),
gr.inputs.Checkbox(label="Mostrar Leyenda", default=True),
gr.inputs.Checkbox(label="Mostrar Parámetros", default=True),
# Contadores de ecuaciones
gr.inputs.Number(label="Número de Ecuaciones de Biomasa", default=1, precision=0),
gr.inputs.Number(label="Número de Ecuaciones de Sustrato", default=1, precision=0),
gr.inputs.Number(label="Número de Ecuaciones de Producto", default=1, precision=0),
]
# Definir los componentes de salida
outputs = [
gr.outputs.Image(type="auto", label="Gráfica Resultante"),
gr.outputs.Textbox(label="Análisis del Modelo"),
]
# Crear la interfaz
interface = gr.Interface(
fn=process_and_plot,
inputs=inputs,
outputs=outputs,
title="Modelo de Bioproceso",
description="Sube un archivo Excel con tus datos experimentales para ajustar el modelo y visualizar los resultados.",
theme="default",
)
return interface