C2MV commited on
Commit
7718056
·
verified ·
1 Parent(s): 58d0ab0

Update UI.py

Browse files
Files changed (1) hide show
  1. UI.py +82 -33
UI.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  import gradio as gr
2
  from interface import process_and_plot
3
 
@@ -7,19 +9,6 @@ def create_interface():
7
  desde app.py utilizando demo.launch().
8
  """
9
 
10
- def parse_bounds(bounds_str, num_params):
11
- try:
12
- bounds = eval(f"[{bounds_str}]")
13
- if len(bounds) != num_params:
14
- raise ValueError
15
- lower_bounds = [b[0] for b in bounds]
16
- upper_bounds = [b[1] for b in bounds]
17
- return lower_bounds, upper_bounds
18
- except:
19
- lower_bounds = [-float('inf')] * num_params
20
- upper_bounds = [float('inf')] * num_params
21
- return lower_bounds, upper_bounds
22
-
23
  with gr.Blocks() as demo:
24
  # Título de la interfaz
25
  gr.Markdown("# Modelado de Bioprocesos con Ajuste de Datos")
@@ -30,65 +19,126 @@ def create_interface():
30
  file_input = gr.File(label="Subir archivo Excel", file_types=[".xlsx"])
31
 
32
  # Entradas de ecuaciones de Biomasa
33
- biomass_eq1 = gr.Textbox(label="Ecuación de Biomasa 1", value="xo * exp(um * t)")
 
 
 
34
  biomass_eq2 = gr.Textbox(label="Ecuación de Biomasa 2", value="")
35
  biomass_eq3 = gr.Textbox(label="Ecuación de Biomasa 3", value="")
36
 
37
  # Parámetros de Biomasa
38
- biomass_param1 = gr.Textbox(label="Parámetros de Biomasa 1 (separados por coma)", value="xo, xm, um")
 
 
 
39
  biomass_param2 = gr.Textbox(label="Parámetros de Biomasa 2 (separados por coma)", value="")
40
  biomass_param3 = gr.Textbox(label="Parámetros de Biomasa 3 (separados por coma)", value="")
41
 
42
  # Límites de los parámetros para Biomasa
43
- biomass_bound1 = gr.Textbox(label="Límites de Parámetros de Biomasa 1 (formato: (low, high) para cada parámetro)", value="(0, np.inf), (0, np.inf), (0, np.inf)")
44
- biomass_bound2 = gr.Textbox(label="Límites de Parámetros de Biomasa 2 (formato: (low, high) para cada parámetro)", value="")
45
- biomass_bound3 = gr.Textbox(label="Límites de Parámetros de Biomasa 3 (formato: (low, high) para cada parámetro)", value="")
 
 
 
 
 
 
 
 
 
46
 
47
  # Número de ecuaciones de Biomasa
48
- biomass_eq_count = gr.Number(label="Número de ecuaciones de Biomasa", value=1, precision=0)
 
 
 
 
49
 
50
  with gr.Column():
51
  # Entradas de ecuaciones de Sustrato
52
- substrate_eq1 = gr.Textbox(label="Ecuación de Sustrato 1", value="so - p * X(t)")
 
 
 
53
  substrate_eq2 = gr.Textbox(label="Ecuación de Sustrato 2", value="")
54
  substrate_eq3 = gr.Textbox(label="Ecuación de Sustrato 3", value="")
55
 
56
  # Parámetros de Sustrato
57
- substrate_param1 = gr.Textbox(label="Parámetros de Sustrato 1 (separados por coma)", value="so, p, q")
 
 
 
58
  substrate_param2 = gr.Textbox(label="Parámetros de Sustrato 2 (separados por coma)", value="")
59
  substrate_param3 = gr.Textbox(label="Parámetros de Sustrato 3 (separados por coma)", value="")
60
 
61
  # Límites de los parámetros para Sustrato
62
- substrate_bound1 = gr.Textbox(label="Límites de Parámetros de Sustrato 1 (formato: (low, high) para cada parámetro)", value="(0, np.inf), (0, np.inf), (0, np.inf)")
63
- substrate_bound2 = gr.Textbox(label="Límites de Parámetros de Sustrato 2 (formato: (low, high) para cada parámetro)", value="")
64
- substrate_bound3 = gr.Textbox(label="Límites de Parámetros de Sustrato 3 (formato: (low, high) para cada parámetro)", value="")
 
 
 
 
 
 
 
 
 
65
 
66
  # Número de ecuaciones de Sustrato
67
- substrate_eq_count = gr.Number(label="Número de ecuaciones de Sustrato", value=1, precision=0)
 
 
 
 
68
 
69
  with gr.Column():
70
  # Entradas de ecuaciones de Producto
71
- product_eq1 = gr.Textbox(label="Ecuación de Producto 1", value="po + alpha * X(t)")
 
 
 
72
  product_eq2 = gr.Textbox(label="Ecuación de Producto 2", value="")
73
  product_eq3 = gr.Textbox(label="Ecuación de Producto 3", value="")
74
 
75
  # Parámetros de Producto
76
- product_param1 = gr.Textbox(label="Parámetros de Producto 1 (separados por coma)", value="po, alpha, beta")
 
 
 
77
  product_param2 = gr.Textbox(label="Parámetros de Producto 2 (separados por coma)", value="")
78
  product_param3 = gr.Textbox(label="Parámetros de Producto 3 (separados por coma)", value="")
79
 
80
  # Límites de los parámetros para Producto
81
- product_bound1 = gr.Textbox(label="Límites de Parámetros de Producto 1 (formato: (low, high) para cada parámetro)", value="(0, np.inf), (0, np.inf), (0, np.inf)")
82
- product_bound2 = gr.Textbox(label="Límites de Parámetros de Producto 2 (formato: (low, high) para cada parámetro)", value="")
83
- product_bound3 = gr.Textbox(label="Límites de Parámetros de Producto 3 (formato: (low, high) para cada parámetro)", value="")
 
 
 
 
 
 
 
 
 
84
 
85
  # Número de ecuaciones de Producto
86
- product_eq_count = gr.Number(label="Número de ecuaciones de Producto", value=1, precision=0)
 
 
 
 
87
 
88
  # Opciones de visualización
89
  show_legend = gr.Checkbox(label="Mostrar leyenda", value=True)
90
  show_params = gr.Checkbox(label="Mostrar parámetros ajustados", value=True)
91
- legend_position = gr.Dropdown(label="Posición de la leyenda", choices=['best', 'upper right', 'upper left', 'lower right', 'lower left'], value='best')
 
 
 
 
92
 
93
  # Botón para procesar y graficar
94
  submit_button = gr.Button("Procesar y graficar")
@@ -122,4 +172,3 @@ def create_interface():
122
  )
123
 
124
  return demo
125
-
 
1
+ # UI.py
2
+
3
  import gradio as gr
4
  from interface import process_and_plot
5
 
 
9
  desde app.py utilizando demo.launch().
10
  """
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  with gr.Blocks() as demo:
13
  # Título de la interfaz
14
  gr.Markdown("# Modelado de Bioprocesos con Ajuste de Datos")
 
19
  file_input = gr.File(label="Subir archivo Excel", file_types=[".xlsx"])
20
 
21
  # Entradas de ecuaciones de Biomasa
22
+ biomass_eq1 = gr.Textbox(
23
+ label="Ecuación de Biomasa 1",
24
+ value="(xo * exp(um * t)) / (1 - (xo / xm) * (1 - exp(um * t)))"
25
+ )
26
  biomass_eq2 = gr.Textbox(label="Ecuación de Biomasa 2", value="")
27
  biomass_eq3 = gr.Textbox(label="Ecuación de Biomasa 3", value="")
28
 
29
  # Parámetros de Biomasa
30
+ biomass_param1 = gr.Textbox(
31
+ label="Parámetros de Biomasa 1 (separados por coma)",
32
+ value="xo, xm, um"
33
+ )
34
  biomass_param2 = gr.Textbox(label="Parámetros de Biomasa 2 (separados por coma)", value="")
35
  biomass_param3 = gr.Textbox(label="Parámetros de Biomasa 3 (separados por coma)", value="")
36
 
37
  # Límites de los parámetros para Biomasa
38
+ biomass_bound1 = gr.Textbox(
39
+ label="Límites de Parámetros de Biomasa 1 (formato: (low, high) para cada parámetro)",
40
+ value="(0, inf), (0, inf), (0, inf)"
41
+ )
42
+ biomass_bound2 = gr.Textbox(
43
+ label="Límites de Parámetros de Biomasa 2 (formato: (low, high) para cada parámetro)",
44
+ value=""
45
+ )
46
+ biomass_bound3 = gr.Textbox(
47
+ label="Límites de Parámetros de Biomasa 3 (formato: (low, high) para cada parámetro)",
48
+ value=""
49
+ )
50
 
51
  # Número de ecuaciones de Biomasa
52
+ biomass_eq_count = gr.Number(
53
+ label="Número de ecuaciones de Biomasa",
54
+ value=1,
55
+ precision=0
56
+ )
57
 
58
  with gr.Column():
59
  # Entradas de ecuaciones de Sustrato
60
+ substrate_eq1 = gr.Textbox(
61
+ label="Ecuación de Sustrato 1",
62
+ value="so - p * X(t)"
63
+ )
64
  substrate_eq2 = gr.Textbox(label="Ecuación de Sustrato 2", value="")
65
  substrate_eq3 = gr.Textbox(label="Ecuación de Sustrato 3", value="")
66
 
67
  # Parámetros de Sustrato
68
+ substrate_param1 = gr.Textbox(
69
+ label="Parámetros de Sustrato 1 (separados por coma)",
70
+ value="so, p, q"
71
+ )
72
  substrate_param2 = gr.Textbox(label="Parámetros de Sustrato 2 (separados por coma)", value="")
73
  substrate_param3 = gr.Textbox(label="Parámetros de Sustrato 3 (separados por coma)", value="")
74
 
75
  # Límites de los parámetros para Sustrato
76
+ substrate_bound1 = gr.Textbox(
77
+ label="Límites de Parámetros de Sustrato 1 (formato: (low, high) para cada parámetro)",
78
+ value="(0, inf), (0, inf), (0, inf)"
79
+ )
80
+ substrate_bound2 = gr.Textbox(
81
+ label="Límites de Parámetros de Sustrato 2 (formato: (low, high) para cada parámetro)",
82
+ value=""
83
+ )
84
+ substrate_bound3 = gr.Textbox(
85
+ label="Límites de Parámetros de Sustrato 3 (formato: (low, high) para cada parámetro)",
86
+ value=""
87
+ )
88
 
89
  # Número de ecuaciones de Sustrato
90
+ substrate_eq_count = gr.Number(
91
+ label="Número de ecuaciones de Sustrato",
92
+ value=1,
93
+ precision=0
94
+ )
95
 
96
  with gr.Column():
97
  # Entradas de ecuaciones de Producto
98
+ product_eq1 = gr.Textbox(
99
+ label="Ecuación de Producto 1",
100
+ value="po + alpha * X(t)"
101
+ )
102
  product_eq2 = gr.Textbox(label="Ecuación de Producto 2", value="")
103
  product_eq3 = gr.Textbox(label="Ecuación de Producto 3", value="")
104
 
105
  # Parámetros de Producto
106
+ product_param1 = gr.Textbox(
107
+ label="Parámetros de Producto 1 (separados por coma)",
108
+ value="po, alpha, beta"
109
+ )
110
  product_param2 = gr.Textbox(label="Parámetros de Producto 2 (separados por coma)", value="")
111
  product_param3 = gr.Textbox(label="Parámetros de Producto 3 (separados por coma)", value="")
112
 
113
  # Límites de los parámetros para Producto
114
+ product_bound1 = gr.Textbox(
115
+ label="Límites de Parámetros de Producto 1 (formato: (low, high) para cada parámetro)",
116
+ value="(0, inf), (0, inf), (0, inf)"
117
+ )
118
+ product_bound2 = gr.Textbox(
119
+ label="Límites de Parámetros de Producto 2 (formato: (low, high) para cada parámetro)",
120
+ value=""
121
+ )
122
+ product_bound3 = gr.Textbox(
123
+ label="Límites de Parámetros de Producto 3 (formato: (low, high) para cada parámetro)",
124
+ value=""
125
+ )
126
 
127
  # Número de ecuaciones de Producto
128
+ product_eq_count = gr.Number(
129
+ label="Número de ecuaciones de Producto",
130
+ value=1,
131
+ precision=0
132
+ )
133
 
134
  # Opciones de visualización
135
  show_legend = gr.Checkbox(label="Mostrar leyenda", value=True)
136
  show_params = gr.Checkbox(label="Mostrar parámetros ajustados", value=True)
137
+ legend_position = gr.Dropdown(
138
+ label="Posición de la leyenda",
139
+ choices=['best', 'upper right', 'upper left', 'lower right', 'lower left'],
140
+ value='best'
141
+ )
142
 
143
  # Botón para procesar y graficar
144
  submit_button = gr.Button("Procesar y graficar")
 
172
  )
173
 
174
  return demo