análisis dinámico del balance de flujos metabólicos (dfba)

170
Universidad de Pinar del Río “HERMANOS SAÍZ MONTES DE OCA” Facultad de Ciencias Técnicas. Departamento de Informática. Trabajo de Diploma Sistema de Escritorio para Simulaciones Dinámicas (dFBA) en Redes Metabólicas (Tesis en opción al título de Ingeniero en Informática) Autor: Jean Carlos Soto González Tutores: MSc. Vinelia Córdova Vásquez MSc. Julián Triana Dopico Pinar del Río, 2012

Upload: ingenieriaaldia

Post on 04-Aug-2015

342 views

Category:

Documents


2 download

DESCRIPTION

Tesis investigativa sobre el anális dinámico del balance de flujos metabólicos

TRANSCRIPT

Page 1: Análisis dinámico del balance de flujos metabólicos (DFBA)

Universidad de Pinar del Río

“HERMANOS SAÍZ MONTES DE OCA”

Facultad de Ciencias Técnicas.

Departamento de Informática.

Trabajo de Diploma

Sistema de Escritorio para Simulaciones Dinámicas (dFBA)

en Redes Metabólicas

(Tesis en opción al título de Ingeniero en Informática)

Autor: Jean Carlos Soto González

Tutores: MSc. Vinelia Córdova Vásquez

MSc. Julián Triana Dopico

Pinar del Río, 2012

Page 2: Análisis dinámico del balance de flujos metabólicos (DFBA)

i

“Cuando se es joven, se crea. Cuando se es

inteligente, se produce. No se adapta, se innova: la

medianía copia; la originalidad se atreve.”

José Martí

Page 3: Análisis dinámico del balance de flujos metabólicos (DFBA)

ii

FACULTAD DE CIENCIAS TÉCNICAS.

DEPARTAMENTO DE INFORMÁTICA.

Luego de estudiada la exposición del diplomante

________________________, así como la opinión de los tutores y el

oponente del presente trabajo de diploma, el tribunal emite la calificación de

_____ puntos.

_______________________ _______________________

Presidente del Tribunal Secretario

_______________________

Vocal

Dado en la Universidad de Pinar del Río Hermanos Saíz Montes de Oca a los

___días del mes de __________ del 2012.

Page 4: Análisis dinámico del balance de flujos metabólicos (DFBA)

iii

DECLARACIÓN DE AUTORIDAD

Declaro que soy autor(a) de este Trabajo de Diploma y que autorizo a la Universidad

de Pinar del Río, a hacer uso del mismo, con la finalidad que estime conveniente.

Firma: __________________________________

Jean Carlos Soto González [email protected]

Jean Carlos Soto González autoriza la divulgación del presente trabajo de diploma bajo

licencia Creative Commons de tipo Reconocimiento No Comercial Sin Obra Derivada, se

permite su copia y distribución por cualquier medio siempre que mantenga el reconocimiento

de sus autores, no haga uso comercial de las obras y no realice ninguna modificación de

ellas. La licencia completa puede consultarse en: http://creativecommons.org/licenses/by-nc-

nd/2.5/ar/legalcode

Jean Carlos Soto González autoriza al Departamento de Informática adscrito a la Universidad

de Pinar del Río a distribuir el presente trabajo de diploma en formato digital bajo la licencia

Creative Commons descrita anteriormente y a conservarlo por tiempo indefinido, según los

requerimientos de la institución, en el repositorio de materiales didácticos disponible en:

http://repoinfo.upr.edu.cu

Jean Carlos Soto González autoriza al Departamento de Informática adscrito a la Universidad

de Pinar del Río a distribuir el presente trabajo de diploma en formato digital bajo la licencia

Creative Commons descrita anteriormente y a conservarlo por tiempo indefinido, según los

requerimientos de la institución, en el repositorio de tesinas disponible en:

http://revistas.mes.edu.cu

Page 5: Análisis dinámico del balance de flujos metabólicos (DFBA)

iv

AGRADECIMIENTOS

A mis padres, por estos 25 años, por su apoyo, amor, confianza y su fe…

A mi hermana, por su cariño, su comprensión, por ser mi amiga y siempre estar…

A mi abuela Lula por su bondad sin límites…

A mi familia toda…

A ti MI AMOR por los mejores cinco años de mi vida, y todos los que vendrán, por las

sonrisas cuando te pienso, por los nervios cuando te veo, por la alegría en el corazón

y la felicidad en mi interior…

A Zura (La Ampolla), Nereida (La Gordis y sus cabezas), Claudia y Camila, por

abrirme las puertas de su casa y de su vida y hacerme sentir de la familia…

A Vinelia y Julián, mis tutores, por su guía y su ayuda, y la confianza depositada…

A la Profe Caridad por ayudarme a buscar y a encontrar…

A la Profe Malena por sus críticas siempre constructivas y bien recibidas…

A Adiel porque las mil preguntas que le hice siempre encontraron respuesta…

A mis amigos de la UCI…

A Yonita por ser la mejor amiga del mundo… A Rosita por ser tan especial… A la

Diva por ser tan autentica…A Tatiana, A Dianella, a todos…

A mis amigos de la UPR, por acogerme, por incluirme; por estos tres buenos años…

A mis profesores de la UCI, Yaimí aunque nunca lo sepas es mucho lo que te debo,

porque lo que bien se aprende, nunca se olvida, y lo que se enseña con amor, queda

en el corazón.

A mi profesores de la UPR…

A todos aquellos que han dejado huella en vida y que aunque no siempre nos veamos

guardo con cariño su recuerdo…

Muchas Gracias.

Page 6: Análisis dinámico del balance de flujos metabólicos (DFBA)

v

DEDICATORIA

A mi Madre querida,

que me dure toda la vida.

Page 7: Análisis dinámico del balance de flujos metabólicos (DFBA)

vi

RESUMEN

Antecedentes

En septiembre del año 2002, gracias al trabajo de Radhakrishnan Mahadevan,

Jeremy S. Edwards, Francis J. Doyle III, presentado en el Biophysical Journal,

volumen 83, (1331-1340); bajo el título: “Dynamic Flux Balance Analysis of Diauxic

Growth in Escherichia coli”, la comunidad científica y el público interesado en general

contó con una extensión del FBA clásico, capaz de responder a la dinámica de las

redes metabólicas (dFBA). Dos formulaciones matemáticas fueron presentadas, una

aproximación estática (SOA) y una dinámica (DOA), como alternativas para resolver

un mismo problema, obteniéndose resultados similares. dFBA representó una

significativa ventaja sobre el FBA y rápidamente se convirtió en una útil herramienta

para el análisis cuantitativo.

Resultados

El propósito de esta investigación fue concebir, diseñar e implementar una aplicación

informática, que siguiendo los algoritmos descritos por la aproximación estática

(SOA), fuera capaz de realizar simulaciones del comportamiento y evolución dinámica

de una ruta metabólica, aplicando el dFBA.

Para el diseño del software se siguieron las pautas dictadas por el Proceso Unificado

de Desarrollo (RUP), la herramienta CASE utilizada fue el Enterprise Architect, y la

implementación se llevó a cabo en el lenguaje de programación CSharp (C#).

Conclusiones

Se obtuvo un Sistema de Software “HYDRA dFBA”, amigable, interactivo, y fiable,

con el cual es posible importar modelos en un formato ampliamente estandarizado

(SBML) y sobre ellos realizar simulaciones dinámicas, con el objetivo de predecir o

comprobar situaciones y/o comportamientos, mediante la aplicación del dFBA.

Palabras claves: dFBA, SOA, simulación, red metabólica.

Page 8: Análisis dinámico del balance de flujos metabólicos (DFBA)

vii

SUMMARY

Antecedents

On september, 2002, thanks to the work of Radhakrishnan Mahadevan, Jeremy S.

Edwards, Francis J. Doyle, III, presented at the Biophysical Journal, volume 83,

(1331-1340): “Dynamic Flux Balance Analysis of Diauxic Growth in Escherichia coli”,

the scientific community and interested public got an extension for classical FBA, able

to respond for dynamics situations (dFBA). Two different formulations for dynamic

FBA were presented, Static Optimization Approach (SOA) and Dynamic Optimization

Approach (DOA), both as a way to solve a problem, getting similar results. dFBA

provides a significant improvement over the classical FBA and quickly became in an

useful quantitative analysis tool.

Results

This investigation was made to conceive, design and implement informatics solution,

which follows the algorithms described by the Static Optimization Approach (SOA),

allowing to carry out behavior and evolution simulations over a metabolic network,

applying dFBA.

Rational Unified Process (RUP), was applied for the design of the software, Enterprise

Architect, was the CASE tool used for modeling, and the code was written using

CSharp (C #) programming language.

Conclusions

A System of Software, “HYDRA dFBA”, friendly, interactive, and reliable, was

obtained. Whit this tool is possible to load wide standard format (SBML) models and

carry out dynamic simulations over them, to predict or to check situations and/or

behaviors, using dFBA.

Key words: dFBA, SOA, simulation, metabolic network.

Page 9: Análisis dinámico del balance de flujos metabólicos (DFBA)

viii

TABLA DE CONTENIDOS

INTRODUCCIÓN ..................................................................................................................... 1

CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA ........................................................................ 9

Introducción .......................................................................................................................... 9

1.1. Biología de sistemas. ..................................................................................................... 9

1.2 . El metabolismo celular ................................................................................................ 11

1.2.1. Representación matemática del metabolismo celular ............................................ 12

1.3. Análisis de Balance de Flujos (FBA) ............................................................................ 13

1.4. Análisis Dinámico del Balance de Flujos (dFBA) ......................................................... 16

1.4.1. Aproximación de Optimización Dinámica (DOA) ................................................... 16

1.4.2. Aproximación de optimización estática (SOA) ....................................................... 18

1.5. Sistemas afines ........................................................................................................... 19

1.6. Análisis de Factibilidad ................................................................................................ 20

1.7. Modelo de Dominio ...................................................................................................... 21

1.7.1. Conceptos que se utilizan en el Modelo de Dominio ............................................. 22

Conclusiones del Capítulo .................................................................................................. 24

CAPÍTULO II: CARACTERIZACIÓN DE LA SOLUCIÓN PROPUESTA ............................... 25

2.1. Caracterización de la metodología y herramientas para el diseño .............................. 25

2.1.1. Proceso Unificado de Desarrollo (RUP) ................................................................ 26

2.1.2. Lenguaje Unificado de Modelado (UML) ............................................................... 29

2.1.3. Herramientas Case. Enterprise Architect .............................................................. 30

2.2. MATLAB ...................................................................................................................... 32

2.3. Solver GLPK ............................................................................................................... 33

2.4. Requerimientos del sistema ........................................................................................ 34

2.4.1. Requisitos Funcionales ......................................................................................... 34

2.4.2. Requisitos no Funcionales .................................................................................... 40

2.5. Trazabilidad Requerimiento Funcional- Caso de Uso .................................................. 41

2.5.1. Cargar y Presentar el Modelo ................................................................................ 42

2.5.2. Navegabilidad ....................................................................................................... 43

Page 10: Análisis dinámico del balance de flujos metabólicos (DFBA)

ix

2.5.3. Simulación ............................................................................................................ 43

2.6. Actores del Sistema ..................................................................................................... 45

2.7. Casos de Uso del Sistema .......................................................................................... 45

2.7.1. Modelo de Casos de Uso del sistema ................................................................... 46

2.7.2. Resumen de los casos de uso principales............................................................. 47

2.8. Patrones de diseño ...................................................................................................... 50

2.9. Diagrama de Clases del Diseño (DCD) ....................................................................... 52

2.9.1. DCD del paquete Modelo ...................................................................................... 54

2.9.2. DCD del paquete Simulación ................................................................................ 55

2.9.3. DCD del paquete Presentación ............................................................................. 56

Conclusiones del capítulo ................................................................................................... 57

CAPÍTULO III: IMPLEMENTACIÓN DE LA SOLUCIÓN PROPUESTA ................................ 58

Introducción ........................................................................................................................ 58

3.1. Lenguaje de Marcado Extensible (XML) ...................................................................... 58

3.2. Lenguaje de Marcado para Sistema Biológicos (SBML) .............................................. 59

3.3. Plataforma .NET .......................................................................................................... 61

3.3.1. Lenguaje de programación C Sharp (C#) .............................................................. 62

3.4. Implementación de la interfaz de usuario..................................................................... 64

3.4.1. Interfaz de usuario ................................................................................................ 65

3.4.2. Interfaz Inicial ........................................................................................................ 66

3.4.3. Interfaz para la presentación del Modelo ............................................................... 67

3.4.4. Interfaz del área de simulación .............................................................................. 67

3.4.5. Otras interfaces ..................................................................................................... 68

3.5. Tratamiento de errores ................................................................................................ 69

3.6. Estándares de Codificación ......................................................................................... 69

3.7. Modelo lógico de datos ................................................................................................ 71

3.8. Modelo Físico de los Datos.......................................................................................... 72

3.9. Modelo de Implementación .......................................................................................... 74

3.10. Modelo de Despliegue ............................................................................................... 75

Page 11: Análisis dinámico del balance de flujos metabólicos (DFBA)

x

3.11. Implementación de la Ayuda ...................................................................................... 76

Conclusiones del capítulo ................................................................................................... 77

CONCLUSIONES .................................................................................................................. 78

RECOMENDACIONES .......................................................................................................... 79

REFERENCIAS BIBLIOGRÁFICAS ...................................................................................... 80

BIBLIOGRAFÍA ........................................................................ ¡Error! Marcador no definido.84

ANEXOS ................................................................................................................................ 88

ANEXO I ANÁLISIS DE FACTIBILIDAD ............................................................................ 88

ANEXO II: LICENCIA CeCILL V2 ....................................................................................... 96

ANEXO III: MATRIZ DE TRAZABILIDAD REQUERIMIENTOS-CASOS DE USO .............. 97

ANEXO IV ESPECIFICACIÓN DE LOS CASOS DE USO MÁS SIGNIFICATIVOS .......... 100

ANEXO V: DIAGRAMAS DE COLABORACIÓN DE LOS CASOS DE USO MAS

SIGNIFICATIVOS ............................................................................................................. 135

ANEXO VI: DIAGRAMAS DE SECUENCIA DE LOS CASOS DE USO MÁS

SIGNIFICATIVOS ............................................................................................................. 139

ANEXO VII: INTERFACES DE LA APLICACIÓN ............................................................. 147

ANEXO VIIII: MÉTRICAS DEL CÓDIGO DE LA APLICACIÓN......................................... 154

ANEXO X: CASOS DE PRUEBA ...................................................................................... 155

Page 12: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

1

INTRODUCCIÓN

El término Computación Científica, como una de las ramas de Las Ciencias de la

Computación, se refiere a todas aquellas prácticas destinadas a modelar, plantear

experimentos y validar teorías científicas, sirviéndose de medios computacionales

para avanzar en campos objetivos como la física, la mecánica de fluidos y la

biología.( Yang X. S., 2008).

La Biología Computacional por su parte, se designa como el uso de algoritmos y

ordenadores para facilitar el entendimiento de complejos problemas biológicos,

abarcando universos ya establecidos como son: bioquímica, matemáticas, ingeniería

de sistemas, etc. Algunos campos de estudio interdisciplinarios muy vinculados, y que

en ocasiones se usan como sinónimos son Biocomputación y Bioinformática (Bajic et

al., 2003).

Según una de sus definiciones, la Bioinformática es un campo de la ciencia en el cual

confluyen varias disciplinas tales como: biología, computación y tecnología de la

información, con el fin de facilitar el descubrimiento de nuevas ideas biológicas así

como crear perspectivas globales a partir de las cuales se puedan identificar

principios unificadores en biología (National Center for Biotechnology Information,

2001). La magnitud de las escalas con que se trabaja sobrepasa con creces la

capacidad humana para discernir, razón por la cual el núcleo principal de estas

técnicas, se encuentra en la utilización de recursos computacionales para solucionar

o investigar tales problemas.

La investigación en biología computacional se solapa a menudo con la Biología de

Sistemas (BS), que abarca la investigación interdisciplinaria de los procesos

biológicos, donde las interacciones de los elementos, internos y externos influyentes

en el desarrollo de los procesos, se analizan matemáticamente, permitiendo

comprender a partir de un análisis holístico el funcionamiento integral de los sistemas

biológicos, dando a los especialista la posibilidad de profundizar en el entendimiento

de cómo sus interacciones internas y con otros sistemas conllevan a la potenciación

de algunas propiedades y a la emergencia de otras nuevas (Snoep et al. 2006).

La BS analiza el funcionamiento global de las células, centrándose en el sistema en

su conjunto, sobre las partes. Con el advenimiento de las técnicas experimentales de

Page 13: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

2

alto rendimiento se ha alcanzado un importante grado de desarrollo, materializándose

los modelos en los que el conjunto de reacciones que tienen lugar en una célula se

representan de manera análoga a una red eléctrica o de comunicaciones, así como

todo un conjunto de herramientas para operar sobre dichas redes (Snoep et al. 2006).

La presente investigación forma parte del intercambio científico y la colaboración

entre el Grupo Interdisciplinario de Modelización , InterTech (www.intertech.upv.es),

vinculado al Instituto Universitario de Matemática Pura y Aplicada de la Universidad

Politécnica de Valencia, España y el Grupo Interdisciplinario de Modelización ,

InterTech, de la Universidad de Pinar del Río, Cuba, con el objetivo de generar

sinergias en áreas de alta prioridad en la investigación, y donde la colaboración actual

se basa en la línea emergente de la Biología Sintética (McDaniel y Weiss, 2005).

El avance futuro de esta disciplina científica pasa por establecer un marco

computacional y conceptual que dé asistencia en el desarrollo de sistemas biológicos

artificiales modulares, basándose en una metodología ingenieril y sistemática, para lo

que se necesita proveer a la próxima generación de diseñadores en Biología

Sintética y a los futuros biotecnólogos e ingenieros biológicos de nuevas herramientas

computacionales, integradas en un entorno común para el análisis de fenotipos

metabólicos, el diseño de nuevos circuitos genéticos complejos y la visualización de

mapas metabólicos.

HYDRA (Hybrid Draw and Routes Analysis) es una plataforma informática orientada

al diseño, análisis y visualización de redes metabólicas, que integrará un grupo de

herramientas correspondientes tanto a la Biología de Sistemas como a la Biología

Sintética, diseñadas por el grupo de investigación InterTech, facilitando a los biólogos

la organización y sistematización mediante el uso intensivo de herramientas

Bioinformáticas , de la gran cantidad de resultados que se producen con los métodos

automatizados para el tratamiento de la información biológica, empleados en la

actualidad. Asociadas a la Biología de Sistema HYDRA proporcionará las siguientes

herramientas ( Triana Dopico, et al., 2011):

Page 14: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

3

FBA: Para el Análisis del balance de flujo.

RNA: Dirigido al Análisis de robustez de redes.

DFBA: Una versión dinámica del FBA

MOMA: Simulador de eliminación de genes.

FVA: Análisis de Variabilidad de flujos.

HEFM: Análisis de las posibles distribuciones de flujo.

Relacionadas con la Biología Sintética disponibles en HYDRA, estarán:

FRANKY: Para el diseño automático de circuitos genéticos con una

funcionalidad dada.

KNOCK-IN: Dirigido a la Evaluación de posibles knock-in del sistema.

OS (Orthology Study): Útil en el estudio de una vía metabólica en varios

organismos determinando la conservación de los genes.

SYMCOM (Symbiotic Commuties). Analizador de comunidades de organismos.

El reciente desarrollo de la Genómica a partir del empleo de métodos de

secuenciación más potentes, así como la implementación de los microarrays de

genes, trajo consigo un vertiginoso cúmulo de información de las redes genéticas de

muchos microorganismos. Hoy en día uno de los usos más frecuente de esta

información se ha enfocado en el estudio del comportamiento integrado de las redes

celulares. Una de las áreas de investigación ha sido el estudio de las redes

metabólicas (Mahadevan, et al., 2002).

Los métodos analíticos y experimentales para entender la naturaleza de la

distribución de flujos en una red metabólica, junto con las técnicas de biología

molecular para la ingeniería genética, ayudan en el diseño de las redes de

reacciones metabólicas (Stephanpoulos, 1999).

El análisis matemático del metabolismo puede guiar el proceso de la ingeniería

metabólica, de ahí que varios acercamientos cuantitativos se han propuesto para

estudiar las rutas metabólicas. Análisis de Control Metabólico MCA (Metabolic Control

Analysis) (Fell, 1996), Teoría de Sistemas Bioquímicos (Savageau, et al., 1987),

Page 15: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

4

Modelación Cibernética (Kompala, 1984) (Varner, et al., 1999) y Análisis de Balance

de Flujos (FBA) (Varma, et al., 1994) . Son algunos de los algoritmos desarrollados

para este fin. Con la excepción del FBA, estos acercamientos requieren una

formulación funcional para la cinética de las reacciones celulares (Mahadevan, et al.,

2002).

El FBA es una aproximación que restringe la red metabólica basada en la

estequiometría de las reacciones y que no requiere de información cinética (Varma, et

al., 1994). La optimización de una función objetivo, como puede ser el índice de

crecimiento de un sistema biológico, es usada para obtener la distribución de flujos

metabólicos que satisface las restricciones. Este método ha demostrado proveer

significativas predicciones en la Escherichia coli (Varma, et al., 1994). La extensión

del FBA para responder a la dinámica de las redes metabólicas es conocida como

dFBA (Mahadevan, et al., 2002).

La importancia fundamental del dFBA radica en la capacidad de representar la

evolución de una ruta metabólica bajo determinadas condiciones, cuales substratos

son consumidos, cuales productos son obtenidos y los índices de

consumo/producción que rigen el proceso, dFBA permite apreciar el comportamiento

de la biomasa resultante para restricciones precisas sobre los flujos y predecir las

concentraciones de los metabolitos. El dFBA representa una significativa mejora del

FBA clásico.

Hasta la fecha se cuenta con dos modelos matemáticos para realizar un análisis

dinámico, la aproximación estática (SOA1) (Varma, et al., 1994) y la aproximación

dinámica (DOA2) (Mahadevan, et al., 2002).

El Análisis Dinámico del Balances de Flujos, es una herramienta de análisis de gran

impacto de la Biología de Sistemas, y por tanto un servicio de obligada prestación en

toda plataforma que se quiera llamar integradora, y este orientada a proveer de

herramientas y facilidades a los biólogos y bioquímicos del siglo XXI.

La situación expuesta líneas arriba nos enfrenta al Problema Científico dado por:

Falta de una herramienta, propia del grupo InterTech, para automatizar el dFBA en

1 Static Optimization Approach, modelo matemático que ofrece soluciones para el dFBA.

2 Dynamic Optimization Approach, modelo matemático que ofrece soluciones para el dFBA.

Page 16: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

5

redes metabólicas; como parte de los servicios que prestará la plataforma

computacional HYDRA.

Con vistas a la solución del problema que se presenta queda establecido como

Objeto de Estudio de esta investigación: el modelo matemático que garantiza la

realización del dFBA en las redes metabólicas, mediante una aproximación estática

(SOA). Acotando el Campo de acción a: la obtención de soluciones para el modelo

matemático descrito en la aproximación estática (SOA) para el dFBA.

Este proyecto de investigación se realiza con el Objetivo General de: Elaborar un

sistema informático, que, siguiendo los algoritmos descritos por la aproximación

estática (SOA), sea capaz de realizar simulaciones del comportamiento y evolución

de una ruta metabólica, aplicando el dFBA.

Los Objetivos Específicos están orientados en función de:

1. Realizar una revisión bibliográfica que permita conocer el estado del arte en

que se encuentra el dFBA, para sus dos aproximaciones.

2. Levar a cabo un estudio de los sistemas afines que en la actualidad tratan de

dar soluciones a la situación problémica de esta investigación.

3. Diseñar una herramienta computacional, que automatice modelo matemático

descrito por SOA.

4. Desarrollar una herramienta computacional, que automatice modelo

matemático descrito por SOA.

5. Aplicar principios de diseño que garanticen una interfaz gráfica cómoda a los

usuarios.

Los anteriormente numerados, serán cumplidos por medio de la consecución de las

siguientes Tareas:

1. Estudiar los modelos matemáticos que respaldan el dFBA, así como las

herramientas que actualmente automatizan la aproximación estática (SOA).

2. Estudio y selección de las herramientas y lenguajes apropiados para la

ejecución del proyecto.

Page 17: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

6

3. Diseñar un proyecto de software que permita obtener un sistema informático

capaz de encontrar soluciones al modelo matemático de la aproximación

estática (SOA) para el dFBA.

4. Desarrollar la aplicación haciendo uso de las herramientas y lenguaje

seleccionados.

Idea a defender: una herramienta que permita realizar análisis dinámicos del

metabolismo celular brindará a la plataforma HYDRA mayor confiabilidad, robustez y

utilidad ante sus usuarios finales.

La informatización del objeto de esta investigación científica se logró a partir de la

aplicación de métodos teóricos, que revelaron sus relaciones esenciales no

observables directamente. Se estudió la BS desde sus inicios, su establecimiento

como ciencia, y el posterior desarrollo alcanzado, que la ha convertido en un área

emergente de alto potencial científico y tecnológico. Donde los análisis de flujos

metabólicos en estados cuasi-estacionarios constituyen un actor importante a tener

en cuenta. Técnica que es posible, en parte, debió a una modelación matemática de

la dinámica metabólica, usada para generalizar y simular el proceso haciendo posible

su resolución, computacionalmente. Y también al conocimiento y comprensión

detallada de la función de los metabolitos y las reacciones químicas dentro de una red

metabólica, como pieza clave para lograr un análisis dinámico del balance de los

flujos metabólicos.

Conjuntamente con los anteriores se usaron métodos empíricos de investigación,

concretamente la medición, por ser el modelo que se estudia, computacionalmente

costoso debido a la gran cantidad de metabolitos y reacciones con las que trabaja,

donde los tiempos de respuesta pueden llegar a determinar no solo la eficiencia sino

la eficacia del software que se propone.

Se acudió a la entrevista como técnica para recopilar información, y aunque estas no

estuvieron estructuradas en cuestionarios, fluyendo más bien como conversaciones

profesionales, fueron de gran utilidad a la hora de investigar campos necesarios para

la realización de este proyecto, por contener al objeto de la investigación; cercanos a

la informática como ciencia, pero lejanos en la práctica a los conocimientos del

informático, como son la Bioinformática, la Biología Sintética, la Biología de Sistemas

y concretamente el metabolismo celular.

Page 18: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

7

Se espera que, este documento sea útil y esclarecedor en lo relacionado con el

dFBA, y que pueda ser usado como futura bibliografía en español, ciertamente

escasa en el tema abordado, que el sistema sea lo suficientemente gráfico y amigable

para que su uso se haga fácil a sus usuarios, y sus servicios útiles en el trabajo que

realizan. Sobre todo se desea que el resultado de este trabajo sirva a todos esos

biólogos, bioquímicos ingenieros metabólicos, etc., que dedican sus vidas a la

investigación y a tratar de hacer de este un mundo mejor.

Page 19: Análisis dinámico del balance de flujos metabólicos (DFBA)

INTRODUCCIÓN

8

Este documento se estructura en tres capítulos:

CAPITULO I: Se detallan los fundamentos teóricos en los que se basa este

proyecto, conceptos fundamentales y un análisis de factibilidad.

CAPITULO II: Se describe la metodología y las herramientas utilizadas para el

diseño así como artefactos típicos de este flujo de trabajo.

CAPITULO III: Se presenta el sistema en término de componentes y

funcionamiento.

Por último las Conclusiones generales, las Recomendaciones, las Referencias

Bibliográficas y la Bibliografía, que expone toda la documentación utilizada para la

realización del proyecto y al final los Anexos que contienen la información

complementaria del trabajo.

Page 20: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

9

CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA

Introducción

En este capítulo se detallan los aspectos referentes a la BS, profundizando en el

metabolismo celular como proceso biológico intrínseco a todos los organismos, se

explica como la BS es capaz predecir comportamientos de este valiéndose de

modelos matemáticos para representarlo y analizarlo, el FBA para una instantánea y

el dFBA para predecir la evolución de las concentraciones de los metabolitos en el

tiempo. Se describen dos aproximaciones posibles para el análisis dinámico, DOA y

SOA, las cuales haciendo uso de la programación no lineal y la programación lineal,

respectivamente, obtienen resultados similares. Se analizan sistemas afines y se

realiza un análisis de factibilidad para el trabajo que se propone.

1.1. Biología de sistemas.

La Biología Molecular de las últimas décadas se ha basado en la teoría que asume el

camino directo existente entre genes, proteínas y función biológica, así como la

presencia de respuestas predeterminadas del sistema a perturbaciones externas.

Aunque este tipo de investigación ha dado lugar a gran cantidad de conocimiento, no

proporciona información acerca de cómo integran las células estos datos de forma

que se genere un tipo de respuesta u otro. A pesar de que la Biología de Sistemas se

considera una nueva disciplina, el abordaje del estudio de los procesos biológicos

como sistemas se trató por Wiener en 1948 en lo que se llamó en aquel momento la

cibernética. La Biología de Sistemas ha sido descrita por investigadores como Leroy

Hood con detalle, aunque el término se empleó por primera vez en 1968 por teóricos

como Mersarovic (Mesarovic, 1968).

La Biología de Sistemas es el campo de investigación interdisciplinario de los

procesos biológicos en el que las interacciones de los elementos, internos y externos,

que influyen en el desarrollo del proceso se representan mediante un sistema

matemático. Este enfoque global permite comprender de forma integrada el

funcionamiento de los sistemas biológicos y profundizar en el entendimiento de cómo

sus interacciones internas y externas (con otros sistemas) conlleva a la aparición de

nuevas propiedades y/o procesos (Pacheco Suárez, 2011).

Page 21: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

10

Convencionalmente, en el estudio de los procesos biológicos se utiliza el método

científico clásico, que se basa en la confirmación o refutación de una hipótesis al

confrontarle con los resultados experimentales. La BS utiliza, sin embargo, un

enfoque distinto, basado en la modelización matemática de los procesos en estudio.

Como resultado de la simulación, al poner a funcionar los modelos matemáticos con

los que se representa el proceso, se obtiene una serie de predicciones del estado del

proceso biológico que corresponderían a los resultados experimentales esperados.

Durante las simulaciones, la red de interacciones entre los elementos que componen

el proceso biológico se representa mediante un sistema de ecuaciones diferenciales.

Los valores de las características de dichos elementos a distintos tiempos y bajo

diversas condiciones experimentales (simuladas), son predecibles debido a que la

dinámica del estado de ese sistema modelado es calculable matemáticamente. La

Biología de Sistemas es un área interdisciplinaria en la que participan biólogos,

químicos, matemáticos, físicos, entre otros.

Esta disciplina emplea una estrategia diferente a las aproximaciones empíricas

tradicionales, por medio del estudio de sistemas biológicos en sus diferentes niveles,

desde células y redes celulares hasta organismos completos. La Biología de

Sistemas implica el mapeo de rutas, interacción de proteínas y genes, así como el de

los circuitos de organismos a nivel celular y de organismos completos, todo ello

integrado en un modelo informático y/o matemático (Pacheco Suárez, 2011)

Principales características de la Biología de Sistemas

Estudia los sistemas biológicos de una forma global, a nivel molecular.

Contrasta con la aproximación clásica lineal (un gen, una proteína).

Integra el conocimiento de diferentes plataformas o disciplinas (genómica,

transcriptómica, proteómica, metabolómica, fisiología, patología, etc.).

Maneja una gran colección de datos procedentes de estudios experimentales.

Propone modelos matemáticos que pueden explicar algunos de los fenómenos

biológicos estudiados.

Proporciona soluciones matemáticas que permiten obtener predicciones para

los procesos biológicos.

Page 22: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

11

Realiza estudios de comprobación de la calidad de los modelos descritos por

medio de la comparación entre las simulaciones numéricas y los datos

experimentales (López, et al., 2007).

1.2 . El metabolismo celular

El término metabolismo deriva del griego μεταβολισμός, significando cambio, o

también llevar más allá, de μετα (Eknoyan, 1999).

La historia del estudio científico sobre el metabolismo puede ser situada 400 años

en el pasado, y parte desde los primeros estudios examinando animales hasta la

investigación de reacciones metabólicas individuales por la bioquímica moderna. El

primer experimento controlado sobre el metabolismo humano fue publicado por

Santorio Santorio en 1614 en su libro Ars de statica medecina (Eknoyan, 1999).

El metabolismo celular es el conjunto de reacciones y procesos físico-químicos que

ocurren en una célula. Estos complejos procesos interrelacionados son la base de

la vida a nivel molecular (Enciclopedia Médica, 2006).

Se divide en dos procesos conjugados: catabolismo y anabolismo. Las reacciones

catabólicas liberan energía, retenida en los enlaces químicos, mediante de la

degradación de compuestos. Las reacciones anabólicas, en cambio, utilizan esta

energía liberada para recomponer enlaces y construir compuestos.

La economía que la actividad celular impone sobre sus recursos obliga a organizar

estrictamente las reacciones químicas del metabolismo en vías o rutas metabólicas,

donde un compuesto químico (sustrato) es transformado en otro (producto), y este

a su vez funciona como sustrato para generar otro producto, siguiendo una

secuencia de reacciones bajo la intervención de diferentes enzimas (Fig. 1.2). Las

enzimas son cruciales en el metabolismo porque otorgan celeridad a las reacciones

físico-químicas y se comportan como factores reguladores de las vías metabólicas,

modificando su funcionalidad y por ende, la actividad completa de la vía metabólica.

Page 23: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

12

Figura 1.2: Red metabólica simple ficticia. La célula está delimitada por la pared

celular (cell wall), donde S1 y S2 son el conjunto de entradas a la célula y P1 es

la salida. Los compuestos y los flujos denotados por (C1-C5) y (V1-V7)

respectivamente.

Una característica del metabolismo es la similitud de las rutas metabólicas básicas

incluso entre especies muy diferentes: la secuencia de pasos químicos en una vía

metabólica como el ciclo de Krebs es universal entre células vivientes tan diversas

como la bacteria unicelular Escherichia coli y organismos pluricelulares como el

elefante (Smith E, 2004). Es posible usar esta información para reconstruir redes

completas de comportamientos bioquímicos y producir modelos matemáticos

holísticos que puedan explicar y predecir su comportamiento (Borodina I, 2005).

1.2.1. Representación matemática del metabolismo celular

Las reacciones metabólicas son representadas mediante una matriz estequiométrica

de tamaño . Cada fila de la matriz representa un único componente o

metabolito (para un sistema de componentes), y cada columna representa una

reacción (de las reacciones que tienen lugar en el sistema). Las entradas que

ocupan las celdas de la matriz son los coeficientes estequiométricos de los

metabolitos participantes en la reacción. Se atribuye un coeficiente negativo para

cada metabolito consumido y uno positivo para cada metabolito producido (Orth, et

al., 2010).

Page 24: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

13

Un coeficiente estequiométrico igual a cero es usado para cada metabolito que no

participa en una reacción en particular. Dado que la mayoría de las reacciones

bioquímicas involucran solamente unos pocos metabolitos en el elemento

predominante es el , es eficiente y generalmente aplicado, trabajarla como una

matriz esparcida.

1.3. Análisis de Balance de Flujos (FBA)

El flujo de todas las reacciones en una red es representado por el vector , de

longitud La concentración de todos los metabolitos se distribuyen en un

vector , de posiciones. La ecuación de balance de masa para el estado

estacionario del sistema (

) está dada por (Orth, et al., 2010).

En cualquier modelo metabólico realista hay más reacciones que componentes

( ). En otras palabras hay más variables desconocidas que ecuaciones, lo que

deriva en un sistema de ecuaciones de tipo rectangular donde no habrá una única

solución.

Aunque las restricciones definen un rango de soluciones, es todavía posible identificar

y analizar puntos simples dentro del espacio de solución. Por ejemplo, podemos estar

interesado en identificar cual punto corresponde a la máxima producción de ATP en

un organismo, dado por un grupo particular de restricciones. El FBA es un método

para identificar un punto óptimo dentro de un espacio restringido (Fig. 1.3).

Page 25: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

14

Figura 1.3| La base conceptual del modelo basado en restricciones. Sin restricciones,

la distribución de flujo de una red biológica puede caer en cualquier punto en un

espacio de soluciones. Cuando las restricciones de balance de masa impuestas por

la matriz estequiométrica (etiqueta 1) y las restricciones de capacidad impuestas

por limites inferiores y superiores ( ) (etiqueta 2) son aplicadas a la red se define

un espacio de solución deducible. Mediante la optimización de una función objetivo,

El FBA puede identificar una distribución de flujo óptimo que se encuentra sobre la

frontera del espacio permisible de soluciones.

El FBA persigue maximizar o minimizar una función objetivo la cual puede

ser cualquier combinación lineal de flujos, donde es un vector de pesos que indica

cuanto contribuye cada reacción a la función objetivo. En la práctica cuando se desea

maximizar o minimizar una reacción, es un vector de ceros y el valor de uno

en la posición de la reacción de interés, este producto vectorial nos determina cuál de

todos los flujos dentro de la ruta se desea optimizar.

La optimización del sistema en cuestión es lograda mediante programación lineal. El

FBA puede, de este modo ser definido como el uso de la programación lineal para

resolver la ecuación , dado un juego de límites inferiores y superiores sobre, ,

y una combinación lineal de flujos, como función objetivo. La salida del FBA es una

particular distribución , la cual maximiza o minimiza la función objetivo (Orth, et al.,

2010).

Gráficamente sería:

Dada la siguiente red metabólica ficticia, compuesta por 7 reacciones, 3 internas (se

asume que los sustratos y productos están localizados dentro de la célula), y 4 de

Page 26: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

15

intercambio (algún reactante entra o algún producto sale, por tanto solo un metabolito

es contabilizado en ella).

Donde la estequiometria es la que sigue:

Internas: De intercambio:

El balance dinámico de masa o la ecuación de biomasa dada por:

Dónde:

: Concentración de los metabolitos.

: Tiempo.

: Matriz estequiométrica.

: Vector de los flujos.

Es necesario asumir que en el estado estacionario no hay cambio de la concentración

en el tiempo, y por tanto .

Sujeto a.

Page 27: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

16

Para lo cual y el vector de flujos queda como sigue:

1.4. Análisis Dinámico del Balance de Flujos (dFBA)

El FBA solamente identifica la distribución de flujos metabólicos, no aporta

información sobre las concentraciones metabólicas o acerca de las características

dinámicas de los flujos. En simulaciones donde hay transiciones entre dos estados,

las soluciones del FBA indicarán una instantánea de los flujos metabólicos (Varma, et

al., 1994). Por lo tanto, las restricciones sobre el índice de cambio de los flujos tienen

que ser explícitamente incorporadas al problema. La extensión dinámica para el FBA

(dFBA) puede ser formulada de las dos siguientes formas (Mahadevan, et al., 2002),

(Varma, et al., 1994):

1.4.1. Aproximación de Optimización Dinámica (DOA)

Esta involucra la optimización sobre todo el período de tiempo de interés, para

obtener los perfiles de tiempo de los flujos y las concentraciones de los metabolitos.

El anterior problema de optimización se transforma en uno de programación no lineal

(NLP).

Considerando una red metabólica con metabolitos y flujos. El juego de

ecuaciones de conservación de la masa para cada metabolito resulta en un juego de

ecuaciones diferenciales ordinarias,

Donde es el vector de la concentración de los metabolitos, el vector de los flujos

metabólicos por gramo (DW , del inglés dry weight) de biomasa, es la matriz

estequiométrica de la red, es el índice de crecimiento obtenido como una suma con

Page 28: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

17

pesos de las reacciones que sintetizan los precursores del crecimiento, y son las

cantidades de los precursores de crecimiento requeridos por gramo (DW) de biomasa

(Mahadevan, et al., 2002).

Junto con el sistema de ecuaciones dinámicas, varias restricciones tienen que ser

impuestas para una predicción realista de las concentraciones de los metabolitos y de

los flujos. Estas incluyen metabolitos y niveles de flujos no negativos, limites sobre la

tasa de cambio de los flujos, y cualquier restricción no lineal sobre los flujos de

transporte. El problema de optimización dinámica puede ser formulado como:

∑∫ ( ) ( )

Sujeto a.

[ ]

[ ]

Donde y son las condiciones iniciales para la concentración de los metabolitos y

la concentración de biomasa respectivamente, es un vector función que puede

surgir debido a la consideración de expresiones cinéticas para los flujos, y son

los tiempos iniciales y finales, es la función objetivo terminal que depende de la

Page 29: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

18

concentración en el punto final, es la función objetiva instantánea, es la función

Dirac-Delta, es el instante de tiempo en cual es considerada, y son los

pesos asociados con la funciones instantánea y terminal, respectivamente, y es

el perfil de tiempo de los flujos metabólicos. Si la restricción no lineal está ausente, el

problema se reduce a un problema de optimización que involucra un sistema bilineal

(Mahadevan, et al., 2002).

El problema de optimización se puede resolver parametrizando las ecuaciones

dinámicas a través del uso de colocación ortogonal sobre elementos finitos (On the

optimization of differential, 1987). El periodo de tiempo se divide en un

número finito de intervalos (elementos finitos). Los flujos, los niveles metabólicos y la

concentración de biomasa son parametrizados en la raíz de un polinomio ortogonal

dentro de cada elemento finito. La continuidad de los metabolitos y la concentración

de biomasa son impuestas al inicio de cada uno de los elementos finitos. El tiempo

derivado de las variables se aproximado como una combinación lineal de los valores

de flujo en cada punto, y las ecuaciones dinámicas son transformadas a ecuaciones

algebraicas. Las restricciones no lineales deben ser impuestas en puntos discretos en

el intervalo de tiempo considerado. El problema de optimización se convierte en un

problema de programación no lineal (Mahadevan, et al., 2002).

1.4.2. Aproximación de optimización estática (SOA)

Esta aproximación implica dividir el tiempo que interesa, en muchos intervalos y

resolver problemas de optimización instantánea (FBA) al inicio de cada uno, seguido

por una integración sobre todo el período. El problema de optimización se resuelve

usando programación lineal (LP), repetidamente durante el curso del tiempo que

interesa, para obtener la distribución de flujos en un instante particular.

Page 30: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

19

Sujeto a.

( ) [ ]

[ ]

Donde es la duración del intervalo de tiempo escogido. Las ecuaciones dinámicas

son integradas asumiendo que los flujos son constantes en el intervalo. El problema

de optimización se reformula para el próximo instante de tiempo y se resuelve. El

procedimiento se repite dese hasta . Para la clase de sistema que involucra

solamente términos bilineales con flujos y la concentración de biomasa, es posible

resolver directamente las ecuaciones dinámicas, y de este modo eliminar la

integración numérica (Mahadevan, et al., 2002).

1.5. Sistemas afines

Constraint-based reconstruction and analysis (COBRA), es un paquete de software

que corre sobre Matlab, mediante el cual es posible realizar predicciones cuantitativas

del comportamiento celular usando una aproximación basada en restricciones.

Específicamente este software ayuda a predecir computacionalmente estados

estáticos, dinámicos, el efecto de la supresión de genes, análisis de robustez y otros

como muestreos metabólicos y módulos de la red.

Se requiere de cierto grado de destreza para lograr instalar COBRA, ya que carece

de un ejecutable o una secuencia de instalación, además se necesita disponer de

varias librerías y paquetes previamente corriendo en Matlab, como son LibSBML,

para todo el tratamiento de los archivos .xml y una serie de solvers matemáticos para

resolver los problemas de programación cuadrática, lineal y no lineales, como el

GLPK, CPLEX, Lindo_Solver.

Page 31: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

20

En contra de la mejor usabilidad de COBRA está el hecho de carecer de un ambiente

visual, que guie al ingeniero metabólico en el proceso que va desde el cargado del

fichero, contenedor de la información biológica (SBML) hasta la aplicación de las

restricciones y la obtención de los resultados. Todo el trabajo se realiza a base de

comandos, por lo cual es necesario un conocimiento previo y medianamente profundo

del paquete de clases en general.

1.6. Análisis de Factibilidad

Al desarrollar un software resulta imprescindible estimar, desde el comienzo, el

esfuerzo humano, el tiempo de desarrollo y el costo que conlleva la implementación

del mismo. Con esto, es posible determinar si es factible o no la ejecución del

proyecto y en caso de ser posible, ajustar algunos parámetros que ayudan a planificar

el trabajo a realizar (Peralta, 2004).

La estimación se realizó mediante el análisis de Puntos de Casos de Uso, el cual fue

ideado por Gustav Karner, de Rational Software Corporation, en 1993, que estima las

horas-persona del tiempo de desarrollo de un proyecto, mediante la asignación de

pesos a los factores que lo afectan. Este proceso de estimación se realiza mediante

una serie de pasos (Anexo I):

El costo total del proyecto fue estimado en , teniendo en cuenta que la

aplicación es el resultado de un trabajo de diploma, no implica incurrir en ningún tipo

de gastos sino que constituye un ahorro, por lo que es factible llevar a la práctica el

desarrollo de la misma.

Page 32: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

21

1.7. Modelo de Dominio

El modelo de dominio es una representación visual de los conceptos u objetos del

mundo real significativos para un problema o área de interés. Éste es utilizado para

comprender, capturar y describir los conceptos más importantes empleados en el

contexto del negocio. Para la construcción de un modelo de dominio se extraen los

conceptos y eventos principales del entorno y se relacionan en un diagrama de clases

UML (Figura 1.4).

Figura. 1.4| Modelo de Dominio

class Domain Mo...

FBA

dFBA

+ HacerFBA() : void

Modelo_Matematico Metabolismo_Celular

Ruta_Metabolica

Especie

Reaccion

- substrato: Especie

- producto: Especie

- lb: Parametro

- ub: Parametro

Parametro

Compartimiento

SOA DOA 1.. *

«suceden»

1

1.. *

«localizadas-en»

1

1

«se-compone-de»

1.. *

* «modelan» 1

1.. * «simular» 1

1

«calcula»

1.. *

1 «ocurren»

1.. *

Page 33: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

22

1.7.1. Conceptos que se utilizan en el Modelo de Dominio

Para la realización del modelo de dominio es necesario identificar los conceptos

principales del negocio los cuales nos van a garantizar un mejor entendimiento sobre

el objeto de estudio de esta investigación y facilitarán la captura de los requisitos;

posibilitando el desarrollo de un software de acuerdo a las necesidades de los

clientes.

A continuación se desarrollan los conceptos modelados en el diagrama del modelo de

dominio:

Metabolismo celular: conjunto de reacciones y procesos físico-químicos que ocurren

en una célula, se organizan en vías o rutas metabólicas y son la base de la vida a

nivel molecular

Ruta metabólica: sucesión de reacciones químicas que conducen de un sustrato

inicial a uno o varios productos finales, a través de una serie de metabolitos

intermediarios.

Especie: cualquier molécula utilizada o producida durante el metabolismo.

Sustrato: metabolito de partida en una reacción metabólica.

Producto: producto final de la vía metabólica.

Parámetro: Una cantidad con un nombre simbólico que es usado en un sentido

genérico para referirse a las cantidades nombradas sin tener en cuenta si ellos son

constantes o variables.

Reacción: Una declaración que describe alguna transformación, transporte o proceso

obligatorio que pueden cambiar la cantidad de una o más especies. Expresa, por

ejemplo como ciertos substratos son transformados en ciertos productos y regulados

por qué parámetros.

Compartimiento: Un recipiente de un tipo particular y tamaño finito dónde pueden

localizarse las especies.

Page 34: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

23

Modelo matemático: modelo científico, que emplea formulismo matemático para

expresar relaciones, proposiciones, variables, parámetros, entidades y relaciones

entre variables y/o entidades u operaciones, para estudiar comportamientos de

sistemas complejos ante situaciones difíciles de observar en la realidad.

FBA: es un método matemático para analizar el metabolismo en un sistema biológico,

no requiere conocer previamente las concentraciones de los metabolitos o los detalles

de la cinética enzimática del sistema. Se asume que el sistema bajo estudio se

encuentra en homeostasis

dFBA: la extensión dinámica para el FBA.

SOA: Modelo matemático que describe una aproximación estática para realizar el

dFBA.

DOA: Modelo matemático que describe una aproximación dinámica para realizar el

dFBA.

Page 35: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO I

24

Conclusiones del Capítulo

Se abordó el marco conceptual en que se define el objeto de esta investigación, se

profundizó en la BS así como en sus características principales. El metabolismo

celular, como proceso biológico, quedó representado matemáticamente, como primer

paso para introducir los temas referentes al FBA y dFBA, de los cuales fueron

presentados sus modelos y aproximaciones matemáticas. Se analizaron los sistemas

afines con nuestro propósito investigativo, lo cual permitió saber en qué estado se

encontraba el tema en la actualidad y en cuales áreas serían posibles aportes. Un

estudio de factibilidad justificó la realización del software que se propone como

objetivo general de este trabajo.

Page 36: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

25

CAPÍTULO II: CARACTERIZACIÓN DE LA SOLUCIÓN PROPUESTA

Este capítulo consta de nueve epígrafes, en los cuales se aborda el diseño de

HYDRA dFBA, se hace una breve descripción de la metodología de desarrollo, así

como la fundamentación de su uso. Además se describen las herramientas utilizadas

en el diseño de la aplicación, se hace referencia a cada uno de los requisitos

funcionales y no funcionales del sistema, se expresa su trazabilidad hacia los casos

de uso, se muestra el diagrama de casos de uso, y un resumen de esto. Se definen

los actores y su rol en el sistema. Los Diagramas de Clases del Diseño, general y por

paquetes, son presentados también.

2.1. Caracterización de la metodología y herramientas para el diseño

El proceso de ingeniería de software se define como "un conjunto de etapas

parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la

obtención de un producto de software de calidad. El proceso de desarrollo de

software "es aquel en que las necesidades del usuario son traducidas en requisitos

de software, estos requisitos transformados en diseño y el diseño implementado en

código, el código es probado, documentado y certificado para su uso operativo".

Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un

cierto objetivo" (Jacobson, et al., 2000).

La importancia de la elección y empleo de un proceso de desarrollo se refleja en la

elevada proporción de proyectos de software que fracasan. Un estudio del Standish

Group hecho sobre 352 compañías de software, donde se estudiaron más de 8.000

proyectos, mostró, entre otros, los siguientes resultados:

El 31% de todos los proyectos de software fueron cancelados antes de terminarse.

(Pérdidas de US $81 billones).

El 53% de los proyectos tuvieron un costo 189% mayor de lo estimado.

El 9% de los proyectos se terminaron a tiempo y dentro del presupuesto

(compañías grandes).

El 16% de los proyectos se terminaron a tiempo y dentro del presupuesto

(compañías pequeñas).

Page 37: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

26

En estos últimos años se han desarrollado dos corrientes en lo referente a los

procesos de desarrollo, los llamados métodos pesados y los métodos ligeros o ágiles.

La diferencia fundamental entre ambos es que mientras los métodos pesados

intentan conseguir el objetivo común por medio de orden y documentación, los ligeros

tratan de mejorar la calidad del software por medio de una comunicación directa e

inmediata entre las personas que intervienen en el proceso (Molpeceres, 2002).

Con el desarrollo de la industria del software nuevas herramientas informática son

comercializadas, cuyo objetivo es automatizar las actividades requeridas para diseñar

y producir software, aumentando la productividad y mejorando la calidad, aunque en

última instancia el éxito o el fracaso del producto final sigue siendo responsabilidad

del equipo de desarrollo.

A continuación se describen y justifican la metodología y herramientas empleadas

para diseñar HYDRA dFBA.

2.1.1. Proceso Unificado de Desarrollo (RUP)

Dentro de la ingeniería de software orientada a objetos hay un proceso que por su

flexibilidad y la efectividad de las soluciones que propone, se ha estandarizado entre

los desarrolladores, el Proceso Unificado de Desarrollo (RUP) (Jacobson, et al.,

2000), que utiliza como lenguaje de modelado UML, Lenguaje Unificado de

Modelado, (Fowler, et al., 1999) (Rumbaugh, et al., 2000).

RUP guía a los equipos de proyecto hacia un desarrollo iterativo de un modo

controlado mientras se balancean los requerimientos del negocio, el tiempo al

mercado y los riesgos del proyecto. El proceso describe los diversos pasos

involucrados en la captura de los requisitos y en el establecimiento de una guía

arquitectónica lo más pronto posible, para diseñar y probar el sistema hecho de

acuerdo a los requisitos y a la arquitectura. El proceso describe qué entregables

producir, cómo desarrollarlos y también provee patrones. El Proceso Unificado es

soportado por herramientas que sustentan todas sus bases y automatizan entre otras

cosas, el modelado visual, la administración de cambios y las pruebas.

Las características fundamentales del Proceso Unificado son (Jacobson, et al., 2000):

Page 38: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

27

• Guiado por lo casos de uso: Los casos de uso son el instrumento para validar la

arquitectura del software y extraer los casos de prueba.

• Centrado en la arquitectura: Los modelos son proyecciones del análisis y el

diseño constituye la arquitectura del producto a desarrollar.

• Iterativo e incremental: Durante todo el proceso de desarrollo se producen

versiones incrementales (que se acercan al producto terminado) del producto en

desarrollo.

Un proceso realizado siguiendo RUP se divide en cuatro fases (Santiago) y nueve

flujos de trabajo (Rational):

La fase de Concepción tiene por finalidad definir la visión, los objetivos y el

alcance del proyecto, obteniéndose como uno de los principales resultados una

lista de los casos de uso y una lista de los factores de riesgo del proyecto. El

principal esfuerzo radica en el “Modelamiento del Negocio” y el “Análisis de

Requerimientos”.

La fase de Elaboración tiene como principal finalidad completar el análisis de los

casos de uso y definir la arquitectura del sistema. En esta etapa se busca eliminar

los principales riesgos técnicos.

La fase de Construcción está compuesta por un ciclo de varias iteraciones, en

las cuales se van incorporando sucesivamente los casos de uso, de acuerdo a los

factores de riesgo del proyecto. Este enfoque permite contar tempranamente con

versiones del sistema que satisfacen los principales casos de uso.

La fase de Transición se inicia con una versión beta3 del sistema y culmina con

el sistema en fase de producción.

Flujos de trabajo:

Modelamiento del negocio: Describe los procesos de negocio, identificando

quiénes participan y las actividades que requieren automatización.

Requerimientos: Define qué es lo que el sistema debe hacer, para lo cual se

identifican las funcionalidades requeridas y las restricciones que se imponen.

3 Se encuentra aún sujeta a desarrollo, pero se lanza con motivo de testeo.

Page 39: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

28

Análisis y diseño: Describe cómo el sistema será realizado a partir de la

funcionalidad prevista y las restricciones impuestas, indica con precisión lo que se

debe programar.

Implementación: Define cómo se organizan las clases y objetos en componentes.

Prueba (Testeo): Busca los defectos a lo largo del ciclo de vida.

Instalación: Realiza las actividades (empaque, instalación, asistencia a usuarios,

etc.) para entregar el software a los usuarios finales.

Administración del proyecto: Involucra actividades con las que se busca

producir un producto que satisfaga las necesidades de los clientes.

Administración de configuración y cambios: Describe cómo controlar los

elementos producidos por todos los integrantes del equipo de proyecto en cuanto

a: utilización/actualización, control de versiones, etc.

Ambiente: Contiene actividades que describen los procesos y herramientas que

soportarán el equipo de trabajo del proyecto.

Fundamentación del Uso de RUP para el desarrollo de HYDRA dFBA

RUP ha logrado convertirse en un fuerte estándar en los escenarios de la POO4.

Proporciona un método lógico para asignar las tareas y responsabilidades dentro del

equipo de desarrollo, tomando como objetivo el asegurar la producción de software

de alta calidad, que resuelva las necesidades del usuario dentro de un cronograma

predecible y al menor costo posible. Hace uso de los modelos y diagramas como

vehículo de comunicación, al ser estos más expresivos que las descripciones en

lenguaje natural. Toma en cuenta las mejores prácticas a utilizar en el modelo de

desarrollo de software.

La metodología RUP permite controlar nuevas herramientas y tecnologías en un

único ambiente, es adoptada en cientos de proyectos mundialmente y enseñada en

cientos de universidades. Aplicarla garantiza contar con una serie de artefactos útiles

y una amplia documentación al término del proceso.

4 Programación Orientada a Objetos.

Page 40: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

29

2.1.2. Lenguaje Unificado de Modelado (UML)

El Lenguaje Unificado de Modelado UML, por sus siglas en inglés, Unified Modeling

Language, se define como un lenguaje que permite modelar, construir y documentar

los elementos que forman un sistema de software orientado a objetos (Jacobson, et

al., 2000).

Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la

actualidad; está respaldado por el OMG5. UML sirve para el modelado completo de

sistemas complejos, tanto en el diseño de software como para la arquitectura

hardware donde se ejecuten. UML ofrece un estándar para describir un plano del

sistema (modelo), incluyendo aspectos conceptuales tales como procesos de

negocios y funciones del sistema, y aspectos concretos como expresiones de

lenguajes de programación, esquemas de bases de datos y componentes de software

reutilizables.

Otro aspecto de este modelado visual es que es independiente del lenguaje de

implementación, de tal forma que los diseños realizados se pueden implementar en

cualquier lenguaje que soporte las posibilidades de UML (principalmente lenguajes

orientados a objetos). UML es además un método formal de modelado. Esto aporta

las siguientes ventajas:

Mayor rigor en la especificación.

Permite realizar una verificación y validación del modelo realizado.

Se pueden automatizar determinados procesos y permite generar código a

partir de los modelos y a la inversa.

Fundamentalmente, UML está relacionado con la captura, comunicación y nivelación

de conocimientos. Aunque está pensado para modelar sistemas complejos con gran

cantidad de software, el lenguaje es lo suficientemente expresivo como para modelar

sistemas que no son informáticos, como flujos de trabajo en una empresa, diseño de

la estructura de una organización y por supuesto, en el diseño de hardware. Un

modelo UML está compuesto por tres clases de bloques de construcción:

5 Del inglés Object Management Group, consorcio dedicado al cuidado y establecimiento de estándares de

tecnología orientadas a objetos.

Page 41: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

30

Elementos: Son abstracciones de cosas reales o ficticias (objetos, acciones,

etc.).

Relaciones: Relacionan los elementos entre sí.

Diagramas: Son colecciones de elementos con sus relaciones.

Fundamentación del uso de UML para modelar HYDRA dFBA

UML permite expresar un sistema gráficamente, de forma tal que otro lo puede

entender, permite especificar cuáles son las características de un sistema antes de su

construcción y a partir de los modelos especificados se pueden construir los sistemas

diseñados. Los propios elementos gráficos sirven como documentación del sistema

desarrollado que pueden servir para su futura revisión. Prácticamente todas las

herramientas CASE6 y de desarrollo lo han adaptado como lenguaje de modelado. Es

un lenguaje fácil de aprender y de utilizar. Permite describir requerimientos, la

arquitectura y modelar las pruebas a través de artefactos que documentan el proceso.

Se construyen modelos precisos y completos. No es un lenguaje de programación,

pero sus modelos pueden transformarse en código fuente, tablas o almacenamiento

de objetos.

Se escogió el Lenguaje Unificado de Modelado como el lenguaje para la modelación

de la solución propuesta porque este es un lenguaje expresivo, claro, que permite

especificar todas las decisiones de análisis, diseño e implementación. UML es la

convergencia de las mejores prácticas de la industria de las tecnologías para el

modelado de aplicaciones orientadas a objetos.

2.1.3. Herramientas Case. Enterprise Architect

La Ingeniería de Software Asistida por Computadora, cuenta con un grupo de

herramientas denominadas CASE, cuyo fin no es otro que proporcionar una ayuda

automatizada a las actividades que requiere el proceso de producción de software.

Las herramientas CASE ayudan a alcanzar los siguientes objetivos:

Mejorar la productividad en el desarrollo y mantenimiento del software.

Elevar los niveles de calidad del software.

6 Del inglés Computer Aided Software Engineering.

Page 42: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

31

Reducir el tiempo y el costo de desarrollo y mantenimiento de los sistemas

informáticos.

Mejorar la planificación de un proyecto.

Automatizar ciertos aspectos del proceso de producción, documentación,

pruebas de errores, gestión, etc.

En la actualidad existe un gran número de estas aplicaciones en el mercado, las

cuales ayudan en el desarrollo de una cultura ingenieril nueva para muchas

empresas, e.g: Rational Rose, Umbrello, Visual Paradigm, Enterprise Architect.

Enterprise Architect

Enterprise Architect (EA) es una herramienta CASE utilizada para el diseño y

construcción de sistemas de software, para el modelado de procesos de negocios, y

para objetivos de modelado más generalizados. EA provee una generación poderosa

de documentos y herramientas de reporte con un editor de plantilla completo, genera

reportes detallados y complejos con la información y en el formato que se necesite.

EA soporta generación e ingeniería inversa de código fuente para muchos lenguajes

populares, incluyendo C++, C#, Java, Delphi, VB.Net, Visual Basic y PHP. Con un

editor de código fuente con resaltador de sintaxis incorporado, haciendo posible

navegar y explorar su modelo de código fuente en el mismo ambiente. Además ayuda

a visualizar las aplicaciones, puede modelar procesos de negocio, sitios Web,

interfaces de usuario, redes, configuraciones de hardware, mensajes, etc.

Fundamentación del uso de Enterprise Architect

Enterprise Architect proporciona un entorno de modelación de carácter colaborativo y

potenciado mediante UML 2.0, que abarca por completo el ciclo de desarrollo de un

software, pues soporta ocho de los nueve diagramas estándares del UML (Sparx,

2008): diagrama de casos de uso, de clases, de secuencia, de colaboración, de

actividad, de estados, de implementación, de despliegue y varios perfiles del UML.

Permite Modelado de Datos, Ingeniería Directa de Base de Datos a DDL e ingeniería

inversa de Base de Datos, Ingeniería de Código Directa e Inversa (ediciones

Corporativa y Profesional solamente) con soporte para ActionScript 2.0, Java, C#,

Page 43: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

32

C++, VB.Net, Delphi, Visual Basic, Python y PHP, con Facilidad de

Importación/Exportación XMl7 y además con corrector ortográfico.

2.2. MATLAB

MATLAB es el nombre abreviado de “MATrix LABoratory”. Es un programa para

realizar cálculos numéricos con vectores y matrices. Como caso particular puede

también trabajar con números escalares, tanto reales como complejos, con cadenas

de caracteres y con otras estructuras de información más complejas. Una de las

capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos y

tres dimensiones. MATLAB tiene también un lenguaje de programación propio

(Brazález, et al., 2001).

MATLAB es un sistema interactivo cuyo elemento básico de trabajo es la matriz, con

una característica fundamental, y es que no necesita dimensionamiento. Esto le

permite resolver varios problemas de computación técnica (especialmente aquellos

que tienen formulaciones matriciales y vectoriales) en una fracción de tiempo similar

al que se gastaría cuando se escribe un programa en un lenguaje no interactivo como

C o FORTRAN.

Este dispone también en la actualidad de un amplio abanico de programas de apoyo

especializado, denominado Toolboxes, que extienden significativamente el número de

funciones incorporadas en el programa principal. Estos Toolboxes cubren en la

actualidad prácticamente casi todas las áreas principales en el mundo de la ingeniería

y la simulación, destacando entre ellos los de: proceso de imágenes, señal, control

robusto, estadística, análisis financiero, matemáticas simbólicas, redes neurales,

lógica difusa, identificación de sistemas, simulación de sistemas dinámicos, COBRA,

etc. Es un entorno de cálculo técnico, que se ha convertido en estándar de la

industria, con capacidades no superadas en computación y visualización numérica.

Fundamentación del uso del Matlab

De forma coherente y sin ningún tipo de fisuras, integra los requisitos claves de un

sistema de computación técnico: cálculo numérico, gráficos, herramientas para

aplicaciones específicas y capacidad de ejecución en múltiples plataformas. Esta

7 Especificación para el intercambio de diagramas.

Page 44: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

33

familia de productos proporciona un medio de carácter único, para resolver los

problemas más complejos y difíciles.

MATLAB se ha desarrollado a través de los años con entradas provenientes de

muchos usuarios, en los entornos universitarios, es la herramienta instructiva

estándar para cursos avanzados e introductorios en matemáticas, ingeniería y

ciencias. En la industria MATLAB es la herramienta escogida para investigación de

alta productividad, desarrollo y análisis.

2.3. Solver GLPK

GLPK8 es un solver de programación que se desarrolla bajo el amparo del Proyecto

GNU. Está compuesto por una serie de rutinas escritas en el lenguaje de

programación C y organizadas en forma de una librería accesible. Este intenta dar

solución a problemas de programación lineal (LP), programación entera mixta (MIP) y

otros problemas relacionados. GLPK es un paquete de software libre que puede ser

redistribuido y/o modificado bajo los términos de la licencia GNU, este incluye los

siguientes componentes (GLPK Proyect, 2010):

Implementación del método simplex.

Implementación del método simplex exacto.

Implementación del método primal-dual para puntos interiores.

Implementación del método branch-and-cut.

Interfaz de programación de aplicaciones (API)

Fundamentación del uso de GLPK

La interacción con el solver se hizo por medio de una librería de enlace dinámico

(DLL) denominada GlpkSharp desarrollada por Lionel Berton, que se distribuye bajo

una licencia CeCILLv2 (Anexo II), para software libre. El propósito de esta es llamar

desde C# las funciones de la librería del solver. Se empleó GLPK para resolver el

problema de optimización que supone el FBA, el cual deriva en un problema de

programación lineal, resuelto mediante el empleo del método simplex. Además de la

eficiencia y rapidez con que se resuelve el costoso procedimiento, se brindan otras

facilidades que resultan útiles:

Nivel de tolerancia de error ajustable.

8 Del inglés GNU Linear Programming Kit.

Page 45: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

34

Solución cuantitativa y cualitativa del problema.

Rápido acceso a las soluciones del problema primal y dual.

Posibilidad de nomenclar las columnas.

Formulación del método simplex para variables acotadas, por ambos extremos.

Pero sobre todo la experiencia y el prestigio que este tiene resolviendo, durante años

problemas de optimización, donde tan importante es obtener las aproximaciones más

exactas posibles.

2.4. Requerimientos del sistema

Dentro del Proceso de Desarrollo de Software, definir los Requisitos constituye un

motor fundamental del proyecto, estos permiten guiar el desarrollo hacia el sistema

correcto.

Según el glosario de términos de la IEEE9 un requerimiento es: (1) Una condición o

necesidad de un usuario para resolver un problema o alcanzar un objetivo. (2) Una

condición o capacidad que debe estar presente en un sistema o componentes de

sistema para satisfacer un contrato, estándar, especificación u otro documento formal.

(3) Una representación documentada de una condición o capacidad como en (1) o

(2).

Los requisitos funcionales, son las condiciones o capacidades que el sistema debe

cumplir y para que queden correctamente definidos debe llegarse a un acuerdo entre

el cliente y los desarrolladores sobre qué debe y qué no debe hacer el sistema

(Jacobson, et al., 2000).

Los requisitos no funcionales son las propiedades o cualidades que el producto de

software debe tener, tienen que ver con características que de una u otra forma

puedan limitar el sistema, como por ejemplo, el rendimiento, interfaces de usuario,

mantenimiento, seguridad, portabilidad, estándares, etc. (Jacobson, et al., 2000) .

2.4.1. Requisitos Funcionales

Tomando como punto de partida el Modelo de Domino, así como las entrevistas con

los usuarios del sistema, se logró determinar todas las funcionalidades que se

deberían desarrollar. Estas se recogen en el siguiente listado. El sistema debe:

9 Del inglés Institute of Electrical and Electronics Engineers

Page 46: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

35

R.F. 1 Leer datos del Sistema Biológico desde el archivo SBML (.Xml).

R.F. 1.1 Leer Nivel de SBML.

R.F. 1.2 Leer Versión de SBML.

R.F. 1.3 Leer Modelo Biológico

R.F. 1.3.1 Leer Id del Modelo.

R.F. 1.3.2 Leer Nombre del Modelo.

R.F. 1.3.3 Leer Compartimientos del Modelo.

R.F. 1.3.3.1 Leer Id del Compartimiento.

R.F. 1.3.3.2 Leer Outside del Compartimiento.

R.F. 1.3.4 Leer Especies del Modelo.

R.F. 1.3.4.1 Leer Id de la Especie.

R.F. 1.3.4.2 Leer Nombre de la Especie.

R.F. 1.3.4.3 Leer Carga de la Especie.

R.F. 1.3.4.4 Leer “boundaryCondition” de la Especie.

R.F. 1.3.4.5 Leer Estequiometría de la Especie.

R.F. 1.3.4.6 Leer Compartimiento de la Especie.

R.F. 1.3.5 Leer Reacciones del Modelo.

R.F. 1.3.5.1 Leer Id de la Reacción.

R.F. 1.3.5.2 Leer Nombre de la Reacción.

R.F. 1.3.5.3 Leer Reversibilidad de la Reacción.

R.F. 1.3.5.4 Leer lista de Especies Reactantes de la Reacción.

R.F. 1.3.5.5 Leer lista de Especies Productos de la Reacción.

Page 47: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

36

R.F. 1.3.5.6 Leer Límite Inferior de la Reacción.

R.F. 1.3.5.7 Leer Límite Superior de la Reacción.

R.F. 1.3.5.8 Leer Coeficiente Objetivo de la Reacción.

R.F. 2 Normalizar el Id de las Especies del Modelo.

R.F. 3 Normalizar el Id de las Reacciones del Modelo.

R.F. 4 Construir la Matriz Estequeométrica del Modelo.

R.F. 5 Buscar las Reacciones de Intercambio del Modelo.

R.F. 6 Buscar la Reacción de Biomasa del Modelo.

R.F. 7 Llevar las Reacciones a su forma matemática.

R.F. 8 Mostrar en pantalla resumen del Sistema Biológico leído.

R.F. 8.1 Mostrar Nivel de SBML.

R.F. 8.2 Mostrar Versión de SBML.

R.F. 8.3 Mostrar Id del Modelo.

R.F. 8.4 Mostrar Nombre del Modelo.

R.F. 8.5 Mostrar cantidad de Compartimientos en el Modelo.

R.F. 8.6 Mostrar cantidad de Especies en el Modelo.

R.F. 8.7 Mostrar cantidad de Reacciones en el Modelo.

R.F. 8.8 Mostrar cantidad de Reacciones de Intercambio en el Modelo.

R.F. 8.9 Mostrar cantidad de elementos distintos de cero en la Matriz

Estequeométrica.

R.F. 9 Mostrar en pantalla datos del Sistema Biológico leído.

R.F. 9.1 Listar Compartimientos del Modelo.

R.F. 9.1.1 Listar Id del Compartimiento.

Page 48: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

37

R.F. 9.1.2 Listar Outside del Compartimiento.

R.F. 9.1.3 Listar Especies por Compartimiento.

R.F. 9.2 Listar Especies del Modelo.

R.F. 9.2.1 Listar Id de la Especie.

R.F. 9.2.2 Listar Nombre de la Especie.

R.F. 9.3 Listar Reacciones del Modelo.

R.F. 9.3.1 Listar Id de la Reacción.

R.F. 9.3.2 Listar Nombre de la Reacción.

R.F. 9.3.3 Listar Reversibilidad de la Reacción.

R.F. 9.3.4 Listar Límite Inferior de la Reacción.

R.F. 9.3.5 Listar Límite Superior de la Reacción.

R.F. 9.3.6 Mostrar forma matemática de la Reacción.

R.F. 9.3.6 Listar Exchange Condition de la Reacción.

R.F. 10 Mostrar información detallada de las Reacciones del Modelo.

R.F. 10.1 Salvar información detallada de las Reacciones, en formatos (.xlsx, .xls, .txt,

.htm, .xml), en la ruta y con el nombre escogidos por el usuario.

R.F. 11 Actualizar el Límite Inferior de las Reacciones de Modelo.

R.F. 12 Actualizar el Límite Superior de las Reacciones del Modelo.

R.F. 13 Habilitar área de simulación.

R.F. 14 Listar substratos para reacciones de intercambio.

R.F. 15 Listar reacciones de intercambio, con límite inferior y concentración.

R.F. 16 Mostrar ayuda lateral para el área de simulación.

Page 49: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

38

R.F. 17 Recibir del usuario las Reacciones de Intercambio con concentración de

substrato constante.

R.F. 18 Quitar de la lista de Reacciones de Intercambio, las marcadas como

constante.

R.F. 19 Recibir del usuario Biomasa Inicial a emplear en la simulación.

R.F. 20 Recibir del usuario Intervalo de Tiempo a emplear en la simulación.

R.F. 21 Recibir del usuario Número de Intervalos a emplear en la simulación.

R.F. 22 Permitir al usuario cambiar la concentración de substrato para las reacciones

de intercambio.

R.F.23 Correr la simulación con los parámetros y restricciones establecidas por el

usuario.

R.F. 24 Mostrar los resultados de la simulación en la misma medida en que se vayan

produciendo estos.

R.F. 25 Salvar los resultados de la simulación, en formatos (.xlsx, .xls, .txt, .htm, .xml),

en la ruta y con el nombre escogidos por el usuario.

R.F. 26 Interrumpir la simulación por solicitud del usuario [no implementado aun].

R.F. 27 Graficar la concentración de Biomasa en el tiempo.

R.F. 27.1 En gráfico de barras.

R.F. 27.2 En gráfico de área.

R.F. 27.3 En gráfico de columnas.

R.F. 27.4 En gráfico de line de pasos.

R.F. 28 Graficar la concentración de los substratos de las reacciones de intercambio

en el tiempo.

R.F. 28.1 En gráfico de barras.

R.F. 28.2 En gráfico de área.

Page 50: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

39

R.F. 28.3 En gráfico de columnas.

R.F. 28.4 En gráfico de line de pasos.

R.F. 29 Salvar los gráficos en formato (.jpg), en la ruta y con el nombre escogidos por

el usuario.

R.F. 30 Mostrar la Distribución de Flujos para cada reacción, en las iteraciones

deseadas por el usuario.

R.F. 31 Salvar la Distribución de Flujos en pantalla, en formatos (.xlsx, .xls, .txt, .htm,

.xml), en la ruta y con el nombre escogidos por el usuario.

R.F. 32 Mostrar un Historial de Biomasa, con los resultados de las simulaciones

corridas sobre un mismo modelo.

R.F. 33 Salvar Historial de Biomasa, en formatos (.xlsx, .xls, .txt, .htm, .xml), en la ruta

y con el nombre escogidos por el usuario.

R.F. 34 Mostrar los substratos para las reacciones de intercambio y su concentración

en el tiempo (si al menos en una iteración la concentración fue mayor que cero).

R.F. 36 Salvar la Matriz de Concentración, en formatos (.xlsx, .xls, .txt, .htm, .xml), en

la ruta y con el nombre escogidos por el usuario.

R.F. 37 Abandonar el área de simulación.

R.F. 38 Cerrar el Modelo abierto, dejando el sistema listo para cargar otro Modelo.

R.F. 39 Guardar un historial con los links hacia los últimos cuatro modelos abiertos.

R.F. 40 Consultar la Ayuda.

Page 51: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

40

2.4.2. Requisitos no Funcionales

Tomando como punto de partida los requerimientos funcionales y a los usuarios

finales, es decir lo que el sistema debe hacer y para quien debe hacerlo, se ha

determinado cómo este debe comportarse. Las propiedades y cualidades que rigen

este comportamiento, se relacionan a continuación.

Requisitos de Apariencia

La aplicación debe tener una apariencia atractiva, que llame la atención del usuario

dentro del competitivo mercado actual, al estar dirigida a un público no especializado

en desarrollo de software, y ser de uso opcional, debe estar acorde con las

tendencias actuales, para garantizarse una oportunidad dentro del no reducido grupo

de personas que juzgan un software por su apariencia en primera instancia. La

interfaz de usuario estará llamada a ser el gancho que nos permita demostrar otros

valores agregados y funcionalidades de calidad del producto.

Debe ser ágil, legible y simple de usar, sencillo para la interacción y sin

ambigüedades, consistente y a fin con los términos de los conceptos manejados. Se

cuidará porque la aplicación sea lo más interactiva posible.

Requisitos de usabilidad

Debe haber consistencia en sus interfaces y estas deben ser lo suficientemente

comunicativas como para facilitar su uso y comprensión, al primer intercambio con el

sistema. El usuario debe sentirse guiado y orientado en su uso. La respuesta a

cualquier duda que sobre el uso de la aplicación pueda surgir, estará a la distancia de

un clic, gracias a una ayuda de escritorio lateral. Los usuarios que utilicen la

aplicación solo necesitarán los conocimientos informáticos básicos, y poseer una

conceptualización de los temas que se muestran en la aplicación.

Políticos – Culturales

El sistema estará disponible en idioma Inglés, como parte de la plataforma

computacional HYDRA, igualmente disponible en idioma Inglés.

Page 52: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

41

Requisitos de software

La aplicación podrá ser instalada, o ejecutada en su versión portable, sobre Windows.

Son requeridos:

1. Microsoft .NET Framework 4 Client Profile, o superior.

2. Windows Installer 3.1 o superior.

Requisitos de Hardware

Cualquier computadora que soporte el Framework 4 de .Net podrá ser usada para

correr la aplicación, teniendo en cuenta que la rapidez con que se obtengan los

resultados de la simulación, dependerá de forma directa del poder de cómputo del

procesador, así como de otras propiedades de la PC en cuestión.

Requisitos de diseño e implementación

No hay restricciones de este tipo. La aplicación se desarrollará en C# utilizando

Microsoft Visual Studio 2010 y trabajando con el framework 4.0, por las posibilidades

gráficas que brinda.

Documentación

El usuario podrá auxiliarse de una ayuda del sistema en todo momento, la cual será

bastante visual y explicita, pensadas para usuarios que usen por primera vez la

herramienta.

2.5. Trazabilidad Requerimiento Funcional- Caso de Uso

La trazabilidad de los requerimientos se refiere a la documentación de la vida de cada

uno de ellos, y debe permitir seguir el historial desde su formulación original. Incluso

la implementación de las características determinadas por los requerimientos deben,

poder trazarse (Anexo III).

Los requerimientos funcionales se describen mejor en forma de casos de uso, de

manera que es posible trazar una relación directa entre los requisitos y los casos de

uso que los satisfarán. A continuación se muestra, dividido en tres grupos, de acuerdo

a la tarea que cumplen, dicha trazabilidad.

Page 53: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

42

2.5.1. Cargar y Presentar el Modelo

La Figura 2.1 muestra un grupo de requerimientos que pueden ser catalogados en

cuanto a, que su cometido es cargar un Sistema Biológico desde un archivo y

presentárselo al usuario, dándole a este la posibilidad de explorarlo, salvar algunos

aspectos y modificar otros, como los límites de las reacciones. La trazabilidad hacia

los casos de uso esta explícitamente señalizada.

Figura 2.1: Requerimientos- casos de uso que garantizan cargar y presentar el Modelo.

Page 54: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

43

2.5.2. Navegabilidad

Una vez cargado el modelo una serie de opciones se deben habilitar, la manipulación de estas

y la disponibilidad de ciertos datos es garantizados por los requerimientos y su consecuente

realización en casos de uso que se muestra en la Figura 2.2. La más importante de estas

opciones es la que le permite al usuario llegar al área de simulación, y la necesaria

preparación de esta por parte del sistema.

Figura 2.2: Requerimientos- casos de uso que garantizan la navegabilidad.

2.5.3. Simulación

El objetivo primario del sistema que se propone es la realización de una simulación

dinámica del balance de flujos para una red metabólica, los requerimientos que dan

cumplimiento a este, y que proveen una serie de servicios agregados, disponibles

solo después de que la simulación se realizó, se muestran en la Figura 2.3.

Page 55: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

44

Figura 2.3: Requerimientos casos de uso que garantizan la simulación.

Page 56: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

45

2.6. Actores del Sistema

Son identificados como actores los diferentes tipos de personas (o dispositivos) que

utilizan el sistema o producto. Estos representan roles que personas (o dispositivos)

juegan como impulsores del sistema. Definido más formalmente, un actor es algo que

se comunica con el sistema o producto y que es externo al sistema en sí mismo (Riel,

1996).

Actor Descripción

Usuario

Toda persona que interactúe con el

sistema con el fin de obtener de este

algún(os) beneficio(s), a través del uso

de sus servicios.

Tabla 2.1: Actores del sistema.

El sistema consta de un solo actor pues para el trabajo con la herramienta no se

requiere de ningún tipo de administración, distribución de privilegios o protección de

información. Este es un sistema para simular un proceso biológico, y generar

reportes.

2.7. Casos de Uso del Sistema

La parte más difícil de construir un sistema es precisamente saber qué construir.

Ninguna otra parte del trabajo conceptual es tan difícil como establecer los

requerimientos técnicos detallados, incluyendo todas las interfaces con gente,

máquinas, y otros sistemas. Ninguna otra parte del trabajo afecta tanto al sistema si

es hecha mal. Ninguna es tan difícil de corregir más adelante. Entonces, la tarea más

importante que el ingeniero de software hace para el cliente es la extracción iterativa

y el refinamiento de los requerimientos del producto (Frederik P, 1987).

Los casos de uso son un método que, justamente, ayudan al Ingeniero de Software a

llevar adelante esta parte del desarrollo de un sistema de software. “Un caso de uso

es una secuencia de interacciones entre un sistema y alguien o algo que usa alguno

de sus servicios.”

Page 57: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

46

2.7.1. Modelo de Casos de Uso del sistema

El diagrama de casos de uso del sistema es un artefacto gráfico en el que se

representan los actores, los casos de uso del sistema y las asociaciones que existen

entre actores y casos de uso. A continuación se representa el Diagrama de Casos de

Uso de HYDRA dFBA (Figura 2.4).

Figura 2.4: Diagrama de Casos de Uso del sistema.

Page 58: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

47

2.7.2. Resumen de los casos de uso principales

2.7.2.1. Caso de Uso “Cargar Sistema Biológico”.

Caso de Uso Cargar Sistema Biológico

Actor: Usuario (inicia)

Propósito: Obtener del Sistema Biológico descrito en el archivo .XML los

datos necesarios para realizar la simulación.

Resumen:

El caso de uso se inicia cuando el Usuario decide cargar un

Sistema Biológico, haciendo uso de alguna de las tres

opciones disponibles para ello. El sistema crea un modelo

virtual con los datos que necesita y le informa al usuario que

modelo fue leído, finalizando así el curso normal de los

eventos.

Referencias: R.F 1 R.F 8.

Precondiciones:

Ningún otro Sistema Biológico puede estar abierto.

Para usar la opción Modelo Recientes, algún Modelo debe

haber sido previamente abierto.

Actor: Usuario (inicia)

Propósito: Obtener del Sistema Biológico descrito en el archivo .XML los

datos necesarios para realizar la simulación.

2.7.2.2. Caso de Uso “Gestionar substratos con concentración constante”.

Caso de Uso: Gestionar substratos con concentración constante.

Actor: Usuario (inicia)

Propósito:

Establecer si alguna de las reacciones intercambio del modelo

tendrá una concentración de substrato, que no cambiará en el

tiempo.

Resumen:

Inicia cuando el usuario marca/desmarca alguna reacción

como constante, el sistema adiciona/elimina esta reacción de

la lista de las reacciones de intercambios con concentración

de substrato constante, estas reacciones son retiradas de la

lista de reacciones de intercambio con que se trabajará para

Page 59: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

48

simular, finalizando el caso de uso.

Referencias: R.F 17, 18

Precondiciones: El área de simulación tiene que encontrarse visible.

Poscondiciones:

Se adicionó/removió alguna reacción de la lista de reacciones

de intercambio, por tener concentración de substrato

constante.

2.7.2.3. Caso de Uso “Explorar Modelo”.

Caso de Uso: Explorar Modelo

Actor: Usuario (inicia)

Propósito: Visualizar en pantalla la información del Modelo.

Resumen:

El caso de uso inicia cuando el usuario haciendo uso del

explorador del modelo selecciona alguna(s) de las opciones

disponibles, finalizando el caso de uso con la correspondiente

visualización de la información por parte del sistema.

Referencias: R.F 9

Precondiciones:

Algún Modelo tiene que encontrarse abierto, como

resultado de haber ejecutado el caso de uso “Cargar

Sistema Biológico”.

Poscondiciones: La información del Modelo es mostrada en pantalla al

Usuario.

2.7.2.4. Caso de Uso “Correr Simulación”.

Caso de Uso: Correr Simulación

Actor: Usuario (inicia)

Propósito: Obtener los resultados de la simulación y habilitar el uso de los

servicios que necesitan de esos.

Resumen:

Se inicia cuando el usuario introduce los datos necesarios,

biomasa, intervalo de tiempo y número de intervalos y le

solicita al sistema realizar la simulación con los mismos, el

Page 60: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

49

sistema verifica la validez e integridad de estos y comienza

realizar la simulación hasta el número de intervalos indicado

por el usuario, o hasta que los nutrientes se agoten. Los

resultados que se van obteniendo para cada iteración son

presentados dinámicamente al usuario. Una vez terminada la

simulación, por cualquiera de los motivos antes expuestos se

le hace saber al usuario. Para finalizar el caos de uso el

sistema activa las herramientas que harán uso de estos

resultados.

Referencias:

R.F 19 24.

Casos de uso Asociados:

o Solicitar Matriz de Concentración.

o Solicitar Distribución de Flujos.

o Consultar Gráficos.

o Salvar Datos.

o Abortar Simulación en Curso.

Precondiciones: El área de simulación debe estar visible.

Poscondiciones:

Los vectores de tiempo y biomasa para la simulación son

obtenidos.

La opción para consultar la Matriz de concentración es

activada.

La opción para consultar la distribución de flujos es

activada.

La opción para consultar los gráficos es activada.

La opción para salvar los datos de la simulación es

activada.

Si es la primera ejecución del caso de uso, la opción para

consultar el historial de biomasa es activada.

Page 61: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

50

2.7.2.5. Caso de Uso “Modificar límites de la Reacción”.

Caso de Uso: Modificar límites de la Reacción

Actor: Usuario (inicia)

Propósito: Modificar el(los) límite(s) de una reacción.

Resumen:

Inicia cuando durante la ejecución del caso de uso Explorar

detalles de la reacción, el usuario opta por cambiar algún(os)

de los límites para la reacción seleccionada, el sistema

verifica que la(s) entrada(s) sea(n) correcta(s), modifica la

información y notifica al usuario del éxito de la operación.

Referencias:

R.F 11, 12

Casos de uso Asociados:

Explorar Modelo.

Explorar detalles de la reacción.

Precondiciones: El sistema tiene que encontrarse ejecutando el caso de uso

“Explorar detalles de la reacción”.

Poscondiciones: El(los) límite(s) de la reacción es (son) modificado(s).

2.8. Patrones de diseño

El objetivo es agrupar una colección de soluciones de diseño que son válidas en

distintos contextos y que han sido aplicadas con éxito en otras ocasiones.

Un patrón de diseño es una solución a un problema de diseño no trivial que es

efectiva (ya se resolvió el problema satisfactoriamente en ocasiones anteriores) y

reusable (se puede aplicar a diferentes problemas de diseño en distintas

circunstancias).

Durante el proceso de diseño de clases se descubrieron ciertos problemas, siendo

necesario utilizar patrones de diseño, a continuación se muestran los casos

fundamentales:

Page 62: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

51

Patrón: Creador

Tipo: Creacional

Contexto: Todas las interfaces de usuario se crean a partir de la interfaz principal.

Problema: Se requiere una clase que instancia el resto de las interfaces.

Solución:

Creando la interfaz de usuario “StartF” que tiene métodos para crear

todas las interfaces internas “FluxF”, “GraphicsF”, “BiomassHistoryF”,

“ConcentrationMatrixF”, “About”, “ConfigF”.

Patrón: Fachada

Tipo: Estructural

Contexto:

Algunas clases presentan métodos complejos que se hace necesario

no darles visualización y enmascararlos en métodos más simples, es el

caso de la clase “SbmlIn”.

Problema: Se requiere simplificar los métodos de la clase en un conjunto de

métodos sencillos.

Solución:

En el caso de la clase “SbmlIn” se le da visibilidad al método

“readModel()” , el cual instancia otros más complejos, necesarios para

leer el modelo en un conjunto.

Patrón: Experto

Tipo: Estructural

Contexto:

Cada objeto realiza la funcionalidad de acuerdo a la información que

domina, asignándole la responsabilidad de cumplir una tarea a la clase

con mayor información.

Problema:

Conserva el encapsulamiento, haciendo que los objetos se valgan de

su propia información para hacer lo que se les pide.

Mantener un bajo acoplamiento, creando un sistema robusto y de fácil

mantenimiento.

Solución: Las clases “Specie”, “Reaction”, “Compartment”, se encargan de la

normalización de sus ocurrencias, mientras que la clase “SbmlModel”

Page 63: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

52

2.9. Diagrama de Clases del Diseño (DCD)

Una clase de diseño es una abstracción sin costuras de una clase o construcción

similar en la implementación del sistema. (Jacobson, et al., 2000). Además representa

las especificaciones de las clases e interfaces software en una aplicación. Entre la

información general encontramos (Craig, 2004):

Clases, asociaciones y atributos.

Interfaces, con sus operaciones y constantes.

Métodos.

Información acerca del tipo de los atributos.

Navegabilidad.

Dependencias

A diferencia de las clases conceptuales del Modelo del Dominio, las clases de diseño

de los DCD muestran las definiciones de las clases software en lugar de los

conceptos del mundo real.

se enfoca en aspectos que involucran a todas las partes del modelo,

como la Matriz Estequeométrica y las Reacciones de Intercambio.

Patrón: Bajo Acoplamiento

Tipo: Estructural

Contexto:

Diseño de clases más independientes, que reducen el impacto de los

cambios, y también más reutilizables, que acrecientan la oportunidad

de una mayor productividad.

Problema:

Se desea un grado moderado de acoplamiento entre las clases, para

crear un sistema orientado a objetos, donde las tareas se realicen por

colaboración entre objetos conectados.

Solución:

Se indicaron tareas sencillas a objetos individuales, y tareas más

complejas se realizaron por colaboración entre varios objetos,

obteniéndose índices de mantenimiento entre 60 y 86, profundidades

de herencia entre 1 y 7.

Page 64: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

53

El primer paso en la creación de los DCD es identificar aquellas clases que participan

en la solución del software. Los diagramas muestran cómo se realiza la comunicación

entre las interfaces y los datos. En ellos aparecen las diferentes clases que define

UML, así como las relaciones existentes entre ellas (herencia, agregación asociación.

etc.). El siguiente diagrama (Figura 2.5) muestra cómo será construido el sistema que

se analiza.

Figura 2.5: Vista general del DCD de la aplicación HYDRA dFBA

Page 65: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

54

2.9.1. DCD del paquete Modelo

La Figura 2.6 muestra el diagrama de clases correspondiente al paquete que

contiene todas las clases necesarias para crear un Modelo, estos son los datos que

obtiene el sistema después de leer un archivo, los cuales son necesarios para realizar

la simulación.

Figura 2.6: DCD que conforman un Modelo.

class Mo...

*

1

1.. *

1

1.. * 1

*

1.. *

1.. *

1

*

1

1.. *

1

Page 66: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

55

2.9.2. DCD del paquete Simulación

Las clases que se encargan de la simulación y el curso que esta sigue son mostradas

en la Figura 2.7. Los datos para la simulación son tomados del Modelo, representado

en el epígrafe anterior, y de los parámetros y restricciones entradas por el usuario.

Figura 2.7: DCD para la Simulación.

class Simulation

«library»

GLPKSharp.dll«call»«call»

«build»

«build»«build»

«build»

Page 67: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

56

2.9.3. DCD del paquete Presentación

Las clases que se encargan de la presentación tanto del modelo como de los

resultados son mostradas en la Figura 2.8.

Figura 2.8: DCD para la presentación de los datos.

class Presentation

«call»

«call»

«call»«call»

«call»

Page 68: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO II

57

Conclusiones del capítulo

Se han descrito y fundamentado la metodología de desarrollo y las herramientas

empleadas para el diseño de la aplicación. Han quedado definidas las características

más importantes del sistema y los servicios que este debe brindar, los cuales serán

posteriormente implementados. Se definieron los requerimientos, funcionales y no

funcionales, se realizó su trazabilidad hacia los casos de uso del sistema y se

designaron los actores. La modelación realizada ha facilitado la mejor comprensión

de las necesidades de automatización del sistema, expresado sobre todo en los

diagrama de clases del diseño.

Page 69: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

58

CAPÍTULO III: IMPLEMENTACIÓN DE LA SOLUCIÓN PROPUESTA

Introducción

El presente capítulo consta de once epígrafes a través de los cuales se describen las

características del XML así como la especificación SBML, formato desde donde serán

obtenidos los modelos que se trabajaran, son abordados la plataforma .NET,

Microsoft Visual Studio, y el lenguaje C#, usado para implementar la aplicación.

Aparecen las consideraciones que se tuvieron en cuenta durante el desarrollo del

sistema, respecto a los estándares de código, el diseño e implementación de la

interfaz y el tratamiento de excepciones. Siguiendo la metodología escogida, son

obtenidos los diagramas de Componentes y de Despliegue.

3.1. Lenguaje de Marcado Extensible (XML)

XML no ha nacido sólo para su aplicación en Internet, sino que se propone como un

estándar para el intercambio de información estructurada entre diferentes

plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y

casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y

la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un

papel muy importante en la actualidad ya que permite la compatibilidad entre

sistemas para compartir la información de una manera segura, fiable y fácil.

Estructura de un documento XML

La tecnología XML busca dar solución al problema de expresar información

estructurada de la manera más abstracta y reutilizable posible. Que la información

sea estructurada quiere decir que se compone de partes bien definidas, y que esas

partes se componen a su vez de otras partes. Estas partes se llaman elementos, y se

las señala mediante etiquetas.

Documentos XML bien formados

Los documentos denominados como "bien formados" (del inglés well formed) son

aquellos que cumplen con todas las definiciones básicas de formato y pueden, por lo

Page 70: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

59

tanto, analizarse correctamente por cualquier analizador sintáctico (parser) que

cumpla con la norma.

Los documentos han de seguir una estructura estrictamente jerárquica con lo que

respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar

correctamente incluida en otra, o sea correctamente anidadas. Los elementos con

contenido deben estar correctamente cerrados. Los documentos XML sólo permiten

un elemento raíz del que todos los demás sean parte. Los valores atributos en XML

siempre deben estar encerrados entre comillas simples o dobles. El XML es sensible

a mayúsculas y minúsculas.

Las construcciones como etiquetas, referencias de entidad y declaraciones se

denominan marcas; son partes del documento que el procesador XML espera

entender. El resto del documento entre marcas son los datos "entendibles" por las

personas.

La importancia de XML en la informática actual está fuera de cualquier tipo de duda.

Dentro de la plataforma .NET XML tiene un papel principal, gran parte de la

arquitectura de .NET trabaja internamente con XML, ADO.NET, WebServices,

SOAP, ASP.NET.

3.2. Lenguaje de Marcado para Sistema Biológicos (SBML)

Las representaciones de modelos son útiles para diferentes propósitos. Los

diagramas gráficos de procesos biológicos son usados para la presentación visual a

las personas, pero al nivel de software, un formato diferente se necesita para

cuantificar a un modelo al punto que pueda simularse y analizarse. Es entonces

donde el SBML juega su papel.

SBML son las siglas en inglés de Systems Biology Markup Language (lenguaje de

marcado para sistemas biológicos). Es el nombre de un formato libre y abierto,

basado en XML que se utiliza para representar modelos cuantitativos de interés

biológico, que aboga por la especificación consistente de los mismos, facilitando el

desarrollo de software y el intercambio de modelos (Hucka, et al., 2008). SBML puede

representar redes metabólicas, rutas de señalización celular, redes de regulación

génicas, y muchas otras clases de sistemas.

Page 71: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

60

SBML no constituye un esfuerzo por definir un lenguaje universal para representar

modelos cuantitativos, es más un formato común intermedio, una lengua franca, que

habilita la comunicación de los aspectos más esenciales de los modelo. La adopción

del SBML ofrece variados beneficios, incluidos: (1) El uso de herramientas múltiples,

sin necesidad de volver a escribir los modelos para cada una de ellas, (2)

habilitándolos para ser compartidos y publicados, de forma que otros investigadores

los puedan usar, incluso en ambientes de software diferentes, (3) asegurando la

supervivencia de los modelos, y el esfuerzo intelectual puesto en estos, más allá de la

vida del software usado para crearlos (Sbml Web Site, 2009).

Los Componentes de un Modelo

La definición de un modelo SBML nivel dos consta de las siguientes listas de

componentes, siendo estas opcionales (Sbml Web Site, 2009):

Definición de Función: Una función matemática que puede ser en todo el

modelo.

Definición de Unidad: Designación de una nueva unidad de medida, o

redefinición de una ya existente.

Tipo de Compartimiento: Define el tipo de el/los recipientes donde las

sustancias químicas estarán localizadas.

Tipo de Especies: Define el tipo de entidad que participa en las reacciones

químicas, por lo general iones y moléculas, otras pueden ser agregadas.

Compartimiento: Recipiente de un tipo particular, y tamaño finito, donde

pueden localizarse las especies de un SBML.

Especies: Concentración de Especies del mismo tipo y localizadas en el mismo

Compartimiento.

Parámetro: Es una cantidad, con un nombre genérico, puede designar

indistintamente constantes o variables, puede abarcar todo el modelo, o solo

una reacción en específico.

Regla: Expresión matemática agregada las reacciones definidas en un modelo.

Restricción: Medio para detectar condiciones fuera de los límites durante la

simulación.

Page 72: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

61

Reacción: Una declaración que describe alguna transformación, transporte o

proceso obligatorio que pueden cambiar la cantidad de una o más especies.

Evento: Una declaración que describe un cambio instantáneo, discontinuo en

un juego de variables de cualquier tipo.

3.3. Plataforma .NET

.NET es un framework de Microsoft que hace énfasis en la transparencia de redes,

con independencia de plataforma de hardware y que permita un rápido desarrollo de

aplicaciones. Basado en ella, la empresa intenta desarrollar una estrategia horizontal

que integre todos sus productos, desde el sistema operativo hasta las herramientas

de mercado.

.NET podría considerarse una respuesta de Microsoft al creciente mercado de los

negocios en entornos Web, como competencia a la plataforma Java de Oracle

Corporation y a los diversos frameworks de desarrollo web basados en PHP. Su

propuesta es ofrecer una manera rápida y económica, a la vez que segura y robusta,

de desarrollar aplicaciones y/o soluciones, permitiendo una integración más rápida y

ágil entre empresas y un acceso más simple y universal a todo tipo de información

desde cualquier tipo de dispositivo. La plataforma .NET proporciona (Recio, et al.,

2007):

Interoperabilidad transparente entre tecnologías.

Fácil migración desde tecnologías existentes.

Un completo soporte de tecnologías de Internet independientes de la

plataforma y basadas en estándares, incluyendo HTTP, XML y SOAP10.

Algunos de los lenguajes desarrollados para el marco de trabajo .NET son: C#, Visual

Basic, Delphi, C++, J#, Perl, Python, Fortran, Prolog (existen al menos dos

implementaciones, el P# y elProlog.NET), Cobol y PowerBuilder (Microsoft

Corporation, 2010). Visual Studio .NET es la herramienta definitiva para la rápida

generación de aplicaciones .NET a escala empresarial y aplicaciones de escritorio de

alto rendimiento, es un entorno de desarrollo integrado para sistemas operativos

Windows. Permite a los desarrolladores crear aplicaciones de escritorio, sitios y

10

Del inglés Simple Object Access Protocol

Page 73: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

62

aplicaciones web, así como servicios web en cualquier entorno que soporte la

plataforma .NET (a partir de la versión 2002). Así se pueden crear aplicaciones que

se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles.

3.3.1. Lenguaje de programación C Sharp (C#)

El lenguaje de programación C#.NET es una actualización técnica de otros lenguajes

de programación más antiguos como lo son el C, C++, Java, Visual Basic, Delphi, etc.

(Hernández Díaz, 2011) . C# es un lenguaje orientado a objetos, desarrollado y

estandarizado por Microsoft como parte de su plataforma .NET, que después fue

aprobado como un estándar por la ECMA11 e ISO.

Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la

plataforma.NET, similar al de Java aunque incluye mejoras derivadas de otros

lenguajes (entre ellos Delphi) (Hernández Díaz, 2011) . Algunas características de C#

son:

Provee el beneficio de un ambiente elegante y unificado.

No maneja apuntadores, para emular la función de los apuntadores se utilizan

delegates lo cuál provee las bases para el .NET event model.

La Plataforma .NET provee un colector de basura que es responsable de

administrar la memoria en los programas C#.

El manejo de errores está basado en excepciones.

Soporta los conceptos como encapsulamiento, herencia y polimorfismo de la

programación orientada a objetos.

Soporta los modificadores de acceso private, protected, public y agrega un

cuarto modificador internal.

Es orientado a objetos.

Elimina los ficheros de cabecera.

Es orientado a componentes, la propia sintaxis de C# incluye elementos

propios del diseño de componentes que otros lenguajes tienen que simular

11

Del inglés European Manufacturers Association.

Page 74: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

63

Fundamentación del Uso de C#

La perfección de los lenguajes de programación avanza a grandes pasos, pero

teniendo en cuenta las razones que a continuación se exponen se escogió C# como

lenguaje para la implementación de HYDRA dFBA:

Da soporte para lectura y escritura de documentos XML, así como para su

transformación, filtrado, integración con bases de datos y creación de servicios

Web entre otras tareas más complejas.

Recolección de basura automática.

Eliminación del uso de punteros.

No hay necesidad de declarar funciones y clases antes de definirlas.

Soporta definición de clases dentro de otras.

Todos los valores son inicializados antes de ser usados (automáticamente se

inicializan al valor estandarizado, o manualmente se pueden inicializar desde

constructores estáticos).

No se pueden utilizar valores no booleanos para condicionales. Es mucho más

limpio y menos propenso a errores.

Concepto formalizado de los métodos get y set, con lo que se consigue código

mucho más legible.

Con respecto a algunos lenguajes como por ejemplo Java el rendimiento es,

por lo general, mucho mayor.

Tipos de datos: en C# existe un rango más amplio y definido de tipos de datos

que los que se encuentran en C, C++ o Java.

Propiedades: un objeto tiene propiedades, y debido a que las clases en C#

pueden ser utilizadas como objetos, C# permite la declaración de propiedades

dentro de cualquier clase.

Es orientado a objetos, de una forma más pura y clara que en otros lenguajes

como C++.

Permite controlar la aparición de errores durante la ejecución de la aplicación

capturando y haciendo tratamiento de las excepciones (try - catch).

Permite personalizar los mensajes que brinda el sistema en dependencia de

las necesidades.

Page 75: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

64

Un entorno completamente visual es proporcionado para la creación de las interfaces,

de una forma rápida y sencilla y con una apariencia visual muy profesional, además

de brindar de una serie de componentes en la pestaña de Herramientas,

imprescindibles para esta tarea.

3.4. Implementación de la interfaz de usuario

El diseño de la interfaz de usuario es una tarea que ha adquirido relevancia en el

desarrollo de un sistema informático. La calidad de la interfaz de usuario puede ser

uno de los motivos que conduzca a un sistema al éxito o al fracaso (Meyer, 1998).

Con la implementación de la interfaz para el sistema que tratamos, se persigue darle

cumplimiento a un grupo de aspectos tales como: consistencia, retroalimentación,

minimizar posibilidades de error, proveer recuperación de errores, y minimizar

memorización.

Se ha propuesto para la presente aplicación una interfaz sencilla pero atractiva, que

cumpla con los estándares para las herramientas de la plataforma HYDRA, y que a la

vez posea un estilo propio, que la identifique y proporcione una vista agradable e

informativa. Para lograr estos propósitos se tuvieron en cuenta algunos elementos

como las propiedades de los colores y de la tipografía. Se utilizaron los colores claros,

donde predominan el blanco, el gris y diferentes tonos de verde, siendo este el color

característico. Se hizo uso de los contrastes para resaltar elementos importantes, y

de los degradados, con fines estéticos. Toda la información es mostrada en listas,

tablas o gráficos, ordenada lógica, jerárquica y/o alfabéticamente, con los

identificativos correspondientes, en color negro, y con fondo blanco, con un formato

de fuente estándar para todos los componentes: letra Microsoft Sans Serif, tipo

normal, tamaño 8.5pt.

Los distintos componentes utilizados en la aplicación fueron cuidadosamente

seleccionados de manera que cumplieran con el diseño de interfaz que se deseaba

mostrar y le fueron agregadas todas las funcionalidades requeridas por el usuario del

sistema. Cada componente mantiene informado al usuario en cuanto a su uso y

estado mediante los llamados Tooltips12, que guiarán al usuario inexperto en las

funcionalidades de la aplicación. Se hace un uso intensivo de una barra de estado

12

Consejos de herramientas que se visualizan al detener el mouse sobre ellas.

Page 76: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

65

con la intensión de mantener informado al usuario del estado y el progreso de

operaciones que por su costo computacional, pueden tomar tiempo. Se cuenta con

un logotipo propio, específicamente diseñado para la aplicación, el cual se muestra en

la interfaz inicial.

Leer grandes archivos, visualizar considerables cantidades de información, y la

realización de costosos cálculos matemáticos, son necesarios para proveer los

servicios que brinda la herramienta. Por lo anterior se hizo imprescindible el empleo

de Threads13 para mantener funcional la interfaz cuando alguna de estas tareas está

en curso. De este modo los resultados de la simulación son mostrados a medida de

que se van obteniendo, se evitan los estados inconscientes y los bloqueos del

sistema y se le otorga mayor interactividad y retroalimentación a la solución.

Los errores que pudiera cometer el usuario al introducir los datos en el sistema, son

validados directamente en el momento de la captación, haciendo las aclaraciones

pertinentes a través de mensajes en lenguaje natural. En el sistema se impide la

ocurrencia de muchos de los errores de entrada de datos validándolos por interfaz.

3.4.1. Interfaz de usuario

Todas las ventanas y/o interfaces muestran una estructura visual similar, fácil de

manejar para los usuarios, altamente especializadas en el servicio que proveen y

consecuentes con los principios de diseño anteriormente establecidos. Para todas las

interfaces así como la ayuda y cualquier comunicación con el usuario se hace empleo

del idioma Ingles.

13

Del inglés hilo, en programación hilos de ejecución.

Page 77: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

66

3.4.2 Interfaz Inicial

Al iniciarse el sistema se muestra la interfaz inicial (Figura 3.1), desde la cual será

posible cargar un Modelo, ya sea mediante el “Menú” o la “Barra de Herramientas

Estándar”. Si algún modelo fue exitosamente cargado con anterioridad, este se

muestra en el “Historial de Modelos”, facilitando la operación. La “Barra de Estado”

servirá de retroalimentación al usuario durante el proceso de cargado de un Modelo, y

el “Explorador del Modelo” estará habilitado en el instante en que el proceso termine,

permitiendo la navegación dentro del mismo. La “Ayuda Lateral”, describe estas y

otras opciones, y la “Barra de Herramientas Especializada” estará deshabilitada hasta

que alguna simulación se haya completado.

Figura 3.1: Interfaz inicial HYDRA dFBA.

Menú Barra Herramientas Estándar Barra Herramientas Especializada

Historial Modelos

Ayuda Lateral

Barra de Estado

Explorador del Modelo

Page 78: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

67

3.4.3 Interfaz para la presentación del Modelo

En la Figura 3.2 se muestran los componentes empleados para mostrar al usuario la

información del Modelo, esta se hace visible al terminar de ejecutarse la lectura de

algún Modelo. Se encuentra habilitado el “Explorador de Modelo” que permite

navegar dentro de este, a través de los Compartimientos, las Especies o las

Reacciones del mismo (Anexo VII). Se muestra un resumen cuantitativo e información

específica. Se brinda una vía para llegar hasta el área de simulación (Figura 3.3).

Figura 3.2: Interfaz una vez cargado el Modelo.

3.4.4. Interfaz del área de simulación

Una vez cargado un Modelo se puede acceder al área de simulación (Figura3.3) la

cual brinda las herramientas y la información requeridas para esta tarea. Es mediante

esta que el usuario introduce los parámetros iniciales, biomas, duración del intervalo

de tiempo y cantidad de intervalos; y cualquier restricción adicional sobre los límites

y/ o la concentración de los substratos de intercambio. A partir de esta interfaz, y

después de haber ejecutado el análisis simulado, se puede acceder a una serie de

herramientas (Anexo VIII) útiles al usuario. Se cuenta con una ayuda lateral

especializada en esta vista así como la posibilidad de navegar hacia la pantalla

anterior (Figura 3.2). La “Barra de Estado” es igualmente empleada en esta interfaz.

Resumen Modelo

Área de Simulación

Explorador del Modelo

Page 79: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

68

Figura 3.3: Interfaz para la simulación del análisis dinámico.

3.4.5. Otras interfaces

Después de finalizada alguna simulación se cuenta con la información necesaria para

habilitarle al usuario un grupo de herramientas que le serán de gran utilidad en su

trabajo, estas son: Área de Gráficos, Distribución de Flujos, Historial de Biomasa y

Matriz de Concentraciones (Anexo VIII). La vía para acceder a estas es a través del

“Menú Herramientas” (Figura 3.4) o de la “Barra Herramientas Especializadas”

(Figura 3.5).

Figura 3.4 Menú Herramientas.

Figura 3.5: Barra Herramientas Especializada.

Parámetros Iniciales

Substratos

Límites y Concentraciones

Barra Herramientas de Simulación

Resultados

Page 80: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

69

3.5. Tratamiento de errores

El sistema ha sido diseñado sobre la base de: los errores mejor evitarlos que

tratarlos. No obstante la solución cuenta con la capacidad para lidiar con estos en

caso de que ocurran. Siendo consecuentes con lo anterior:

Se aplicó un filtro en los cuadros de diálogos empleados para abrir archivos,

de modo que solo muestre los .xml.

Los diferentes componentes solo son activados cuando se cuenta con la

información que deben mostrar o q necesitan para operar adecuadamente.

Se examinan cuidadosamente todos los elementos que conforman al Sistema

Biológico antes de crear el Modelo y habilitárselo al usuario.

Se concibió un historial de archivos, que se crea dinámicamente y solo

almacena aquellos cuya valides fue aceptada.

Cada uno de los campos que el usuario pueda usar para entrar información,

tienen habilitados solo los caracteres válidos y acordes con esta información.

Toda la información recibida del usuario es comprobada, antes de usarla en

las simulaciones y/o al sobrescribirla al Modelo.

El sistema cuenta con todo un tratamiento y manejo de excepciones.

Los mensajes de error (Figura 3.6) usan el formato estándar de Windows, el

identificativo de error, una cruz roja, el texto con la información del error y alguna

posible solución, y el aviso acústico.

Figura 3.6: Interfaz de tratamiento de excepciones.

3.6. Estándares de Codificación

Si bien es cierto que programar es una tarea ardua, entender, actualizar y/o extender

lo que otro programador ha realizado con anterioridad, puede ser incluso más

engorroso y en ocasiones imposible.

Page 81: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

70

El uso de un estilo uniforme facilita, la lectura del código por parte de los

programadores, particularmente en las etapas de mantenimiento y los ciclos de

depuración de errores. Esto se traduce en un evidente aumento de la eficiencia. El

uso de estándares está justificado porque la mente humana se adapta a ellos y

encuentra rápidamente la manera de reconocer patrones familiares, asimilando de

forma rápida y sin grandes esfuerzos su significado.

En el sistema implementado se le otorgó esa uniformidad al código aplicando los

siguientes estándares:

Los nombres de las variables siempre en minúscula. Si el nombre fuere

compuesto la segunda palabra comienza en mayúscula, sin caracteres

auxiliares para separarlas.

Los nombres de los métodos comenzando en mayúscula siempre excepto

cuando es un nombre compuesto, en tal caso se aplica el procedimiento

inverso al de las variables.

Las propiedades con letra inicial mayúscula así sea compuesto o no el nombre.

Ninguno de los anteriores se compone de más de dos palabras, en idioma

inglés, y siempre lo más cercano posible a la información que almacenan, que

representan o a la función que realizan.

Al interior de cada clase el código se agrupa en regiones, denotadas según la

información que guardan, “Fields”, “Properties”, “Methods”, “Events”, etc.

El código se encuentra ampliamente comentariado, sobre todo los

procedimientos más complicados y los más abstractos.

Otros conceptos como el espacio entre operadores, la organización de las llaves,

paréntesis y corchetes; interlineado y signos de puntuación, son manejados por

Microsoft Visual Studio 2010.

Page 82: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

71

3.7. Modelo lógico de datos

El modelo lógico de los datos se muestra a través del diagrama de clases

persistentes (Figura 3.7), representando los objetos que perduran en el tiempo y las

relaciones entre ellos.

Figura 3.7: Vista del Modelo Lógico de Datos

class Logical

*

1

1.. * 1

1.. *

1

*

1

*

1.. *

1.. *

1

1.. *

1

1.. *

11.. *

1

1.. *

1

Page 83: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

72

3.8. Modelo Físico de los Datos

Dado que HYDRA dFBA no contempla el uso de una base de datos para el

almacenamiento y/o lectura de la información, se explica detalladamente la estructura

física que tiene un archivo .xml con datos de un Sistema Biológico.

Como se puede ver en la Figura 3.8 se cuenta con el nivel y la versión de SBML

empleado para estructurar el archivo, cada archivo SBML contiene información de un

Modelo, el cual es identificado por Id y Nombre. Principalmente un Modelo contiene

una lista de Compartimientos una de Especies y otra de Reacciones. Cada una de

estas cuenta con un identificativo (Id), y atributos específicos

Las Reacciones a su vez están conformadas por una lista de Reactantes, una de

Productos y otra de Parámetros. Los dos primeros no son más que Especies,

denotadas por su Id y un atributo nuevo que es la Estequiometría, la cual indica la

cantidad de estos que está presente en la expresión que rige la reacción . Los

Parámetros incluyen a los límites, inferiores y superiores y al coeficiente objetivo, que

a los fines de nuestro sistema siempre señalará a la ecuación de Biomasa.

Page 84: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

73

Figura 3.8: Estructura física del archivo xml que contiene la información sobre el Sistema

Biológico.

Page 85: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

74

3.9. Modelo de Implementación

El modelo de implementación describe cómo los elementos del modelo de diseño, se

implementan en términos de componentes. Describe también cómo se organizan los

componentes de acuerdo con los mecanismos de estructuración disponibles en el

entorno de implementación, en el lenguaje o lenguajes de programación utilizados y

cómo dependen los componentes unos de otros (Rumbaugh, et al., 2000).

El modelo de componentes del sistema propuesto es el siguiente:

Figura 3.9: Modelo de Componentes para HYDRA dFBA.

Page 86: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

75

3.10. Modelo de Despliegue

El modelo de despliegue define la arquitectura física del sistema por medio de nodos

interconectados. Estos nodos son elementos de hardware sobre los cuales pueden

ejecutarse los elementos de software. (Rumbaugh, et al., 2000).En la Figura 3.10 se

muestra el modelo de despliegue para el sistema que se analiza.

Figura 3.10: Modelo de despliegue HYDRA dFBA En el nodo Computadora Personal (PC) se ejecuta el proceso HYDRA dFBA.exe,

nombre que recibe el ejecutable de la herramienta. Nótese que se cuenta con un solo

nodo, dado que el sistema no requiere de conectividad. Otros elementos presentes

son el archivo .xml con la información del Sistema Biológico, el cual será leído por el

sistema, los archivos que pueden ser salvados desde el software, ya sean imágenes

o datos y el fichero que se encarga de almacenar el historial de modelos cargados.

Page 87: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

76

3.11. Implementación de la Ayuda

Toda aplicación informática debe contar con una ayuda que guie al usuario inexperto

en su uso, para de esta forma facilitar el trabajo con la herramienta. La ayuda de

HYDRA dFBA fue implementada con Help Maker. Esta es una herramienta de gran

utilidad para los desarrolladores de software, posee multitud de características y es

sencilla de usar. Entre las características de Help Maker, se destaca su capacidad

para generar archivos de diversos tipos (WinHelp, HTML Help, Website Help y PDF),

insertar hipervínculos, imágenes, objetos OLE, etc.

La Ayuda del sistema está diseñada mediante tópicos que corresponden con las

opciones de la aplicación (Figura 3.11), en cada uno de estos tópicos se realiza una

descripción detallada del funcionamiento del sistema, y al igual que la interfaz está

disponible en idioma Ingles.

Figura 3.11: Distribución de los temas de la Ayuda

Page 88: Análisis dinámico del balance de flujos metabólicos (DFBA)

CAPÍTULO III

77

Conclusiones del capítulo

Ha sido desarrollado el flujo de trabajo de Implementación para el sistema HYDRA

dFBA basado en la metodología RUP, describiéndose las tecnologías y herramientas

empleadas y obteniéndose los correspondientes artefactos. El sistema quedó

expresado en términos de componentes, así como las relaciones entre cada uno de

estos, y el nodo donde serán ejecutados, debido a que no se requiere conectividad.

Se definieron e implementaron los estándares para la interfaz gráfica de usuario, la

codificación y el tratamiento de errores. Se implementó la ayuda de la aplicación.

Page 89: Análisis dinámico del balance de flujos metabólicos (DFBA)

CONCLUSIONES

78

CONCLUSIONES

En la bibliografía consultada se evidenció que si bien hace diez años que se

cuenta con la extensión dinámica para el FBA (dFBA), esta es usada a diario

por la comunidad científica, siendo una útil herramienta para el trabajo con

redes metabólicas.

En el estudio que se realizó de los sistemas afines se encontró que, en

contraste con su probada utilidad, no existe un gran número de herramientas

que incorporen el dFBA entre sus prestaciones, a excepción de COBRA

Toolbox, no fue posible encontrar otro que permitiera aplicarlo, al menos no en

su estado puro.

Siguiendo la guía del Rational Unified Process (RUP) y haciendo uso del

Unified Modeling Language (UML) se diseñó y modeló un proyecto de

software orientado a obtener una herramienta computacional para simular en

redes metabólicas el dFBA, mediante una aproximación estática (SOA).

Como resultado del proyecto de software se desarrolló y obtuvo una

herramienta computacional que permite simular en redes metabólicas el dFBA,

mediante una aproximación estática (SOA).

Para la creación de la interfaces gráficas de usuario (GUI) se aplicaron

principios de diseño que garantizaron un producto atractivo, gráfico, amigable,

interactivo, etc., que en conjunción con la ayuda y el manual de usuarios

acercan el software a sus usuarios finales.

Atendiendo a los costos y al tiempo de producción, se puede afirmar que el

desarrollo del software fue factible.

Page 90: Análisis dinámico del balance de flujos metabólicos (DFBA)

RECOMENDACIONES

79

RECOMENDACIONES

Luego de hacer un análisis del trabajo desarrollado se propone lo siguiente:

Ampliar las funcionalidades de la herramienta con la implementación de la

aproximación dinámica (DOA) para el dFBA.

Extender los servicios prestados para modelos en formato de texto (.txt), que

son ampliamente usados.

Page 91: Análisis dinámico del balance de flujos metabólicos (DFBA)

REFERENCIAS BIBLIOGRÁFICAS

80

REFERENCIAS BIBLIOGRÁFICAS

Bajic, V. B., et al. (2003). «From informatics to bioinformatics». Proceedings of the

first Asia–Pacific bioinformatics conference on bioinformatics, Adelaide.

Borodina I, Nielsen J. 2005. From genomes to in silico cells via metabolic networks.

s.l. : Curr Opin Biotechnol, 2005.

Brazález, Alfonso, García de Jalón, Javier y Rodríguez, José Ignacio. 2001.

Aprenda Matlab. Madrid : Universidad Politécnica de Madrid, 2001.

Craig, Larman. 2004. UML y Patrones Introducción al análisis y diseño orientado a

objetos (I, II). La Habana : Editorial Félix Varela, 2004.

Eknoyan, G. 1999. Santorio Sanctorius (1561- 1636) - Founding father of metabolic

balance studies. 1999.

Enciclopedia Médica. 2006. Enciclopedia Médica. s.l. : Medline Plus, 2006.

Fell, D. 1996. Understanding the Control of Metabolism. Protland Press. 1996.

Fowler, Martin y S, K. 1999. UML Distilled Second Edition A Brief Guide. 1999.

Frederik P, Brooks. 1987. No Silver Bullet. Essence and Accidents in Software

Engineering. s.l. : IEEE Computer, 1987.

GLPK Proyect. 2010. Reference Manual for GLPK Version 4.45. 2010.

Hernández Díaz, Ana Beatriz . 2011. Sistema Automatizado para la Gestión de

Expedientes de Profesores. Pinar del Río : UPR “HERMANOS SAÍZ MONTES DE

OCA”, 2011.

Hernández, Enrique. El Lenguaje Unificado de Modelado (UML).

Hucka, Michael; Hoops, Stefan y Keating, Sarah Le. 2008. Nature Precedings.

Nature Precedings. [En línea] 2008. [Citado el: 14 de 12 de 2011.]

http://dx.doi.org/10.1038/npre.2008.2715.1. 2008.2715.1.

Page 92: Análisis dinámico del balance de flujos metabólicos (DFBA)

REFERENCIAS BIBLIOGRÁFICAS

81

Jacobson, Ivar; Booch, Grady y Rumbaugh, James. 2000. El Proceso Unificado de

Desarrollo de Software. 2000.

Kompala, D.S. 1984. Bacterial growth on multiple substrates. Experimental

verification of cybernetic models. Ph.D. thesis. Purdue University,West Lafayette, IN.

1984.

López, M, Romero, G. R y Vega, M. 2007. Informe de vigilancia tecnológica.

España : s.n., 2007.

Mahadevan, Radhakrishnan; Edwards, Jeremy S. y Doyle, Francis J. 2002.

Dynamic Flux Balance Analysis of Diauxic Growth in Escherichia coli. Biophysical

Juornal Volume 28. 09 de 2002.

McDaniel R, Weiss R. 2005. Advances in synthetic biology: on the path from

prototypes to applications. Biotechnology, 16: 476-83.

Mesarovic, M. D. 1968. Systems Theory and Biology-View of a Theoretician, in

System Theory and Biology. s.l. : M. D. Mesarovic, 1968.

Metabolism. The Online Etymology Dictionary. [En línea] [Citado el: 25 de 10 de

2011.]

Meyer, B. 1998. Construcción de software orientado a objetos. s.l. : Prentice-Hall,

1998.

Microsoft Corporation. 2010. MSDN. [En línea] Microsoft Corporation, 2010. [Citado

el: 25 de Enero de 2012.] http://msdn.microsoft.com/es-s/vcsharp/default.aspx.

Molpeceres, Alberto. 2002. Proceso de Desarrollo: Rup, XP y FDD. 2002.

National Center for Biotechnology Information. 2001. Bioinformatic. 2001.

Cuthrell, J. E y Biegler, L. T. 1987. On the optimization of differential. 33:1257–

1270, s.l. : AIChE J. , 1987.

Orth, Thiele y Palsson. 2010. What is flux balance analysis. 2010. volume 28

number 3.

Page 93: Análisis dinámico del balance de flujos metabólicos (DFBA)

REFERENCIAS BIBLIOGRÁFICAS

82

Pacheco Suárez, Yarlenis. 2011. Servicio Web Cliente orientado a la obtención de la

información biológica disponible en la Base de Datos Kegg. Pinar del Río : UPR

“HERMANOS SAÍZ MONTES DE OCA”, 2011.

Peralta, Mario. 2004. Estimación del esfuerzo basada en casos de uso. 2004.

Recio, F y Provencio, D. 2007. Plataforma .Net. 2007.

Riel, A. 1996. Object-Oriented Design Heuristics. s.l. : Addison-Wesley, 1996.

Rumbaugh, James; Jacobson, Ivar y Booch, Grady. 2000. El Lenguaje Unificado

de Modelado. Manual de Referencia. Madrid : ADDISON WESLEY, Pearson, 2000.

Santiago, María de Lourdes. Desarrollando aplicaciones Informáticas con el Proceso

de Desarrollo Unificado.

Savageau, M. A., E. O. , Voit y D. H., Irvine. 1987. Biochemical systems theory and

metabolic control theory: 1. Fundamental similarities and differences. Math. Biosci.

1987, 86:127–145.

Sbml Web Site. 2009. The Systems Biology Markup Language. [En línea] 18 de

Mayo de 2009. [Citado el: 14 de Diciembre de 2011.]

http://sbml.org/More_Detailed_Summary_of_SBML.

Sbml Web Site. 2009. The Systems Biology Markup Language. [En línea] 18 de

Mayo de 2009. [Citado el: 14 de Diciembre de 2011.]

http://sbml.org/Basic_Introduction_to_SBML.

Smith E, Morowitz H. 2004. Universality in intermediary metabolism. s.l. : Proc Natl

Acad Sci U S A , 2004.

Snoep JL, Bruggeman F, Olivier BG, Westerhoff HV. 2006. Towards building the

silicon cell: A modular approach. BioSystems, 83: 207-16.

Sparx, Geoffrey. 2008. Enterprise Architect User Guide. s.l. : Sparx Systems, 2008.

Stephanpoulos, G. 1999. Metabolic fluxes and metabolic engineering. Metab. 1999,

Vols. 1:1–11.

Page 94: Análisis dinámico del balance de flujos metabólicos (DFBA)

REFERENCIAS BIBLIOGRÁFICAS

83

The Rational egde: e-zine for the rational community. [En línea] [Citado el: 05 de 01

de 2012.] http://www.therationaledge.com/.

Triana Dopico, Julián, y otros. 2011. HYDRA: Una plataforma informática orientada

al diseño, análisis y visualización de redes metabólicas. Universidad de Pinar del Río.

Pinar del Río : s.n., 2011. 48-827-1-SP.

Varma, A y B. O, Palsson. 1994. Stoichiometric flux balance models quantitatively

predict growth and metabolic by-product secretion in wild-type Escherichia coli

W3110. s.l. : Appl. Environ. Microbiol., 1994.

Varner, J y D, Ramkrishna. 1999. Metabolic engineering from a cybernetic

perspective I. Theoretical preliminaries. 1999, 15: 407–425.

Yang X. S., 2008. Introduction to Computational Mathematics, World Scientific

Publishing.

Page 95: Análisis dinámico del balance de flujos metabólicos (DFBA)

BIBLIOGRAFÍA

84

BIBLIOGRAFÍA

Blaxter, Loraine; Hughes, Christina; Tight, Malcolm. Primera edición 2000. Cómo

se hace una Investigación.

Borodina I, Nielsen J. 2005. From genomes to in silico cells via metabolic networks.

s.l. : Curr Opin Biotechnol, 2005.

Brazález, Alfonso, García de Jalón, Javier y Rodríguez, José Ignacio. 2001.

Aprenda Matlab. Madrid : Universidad Politécnica de Madrid, 2001.

C#: Ventajas y desventajas. Disponible en

http://software.guides4it.com/ES/t/171327.aspx. Recuperado en marzo del 2012.

Craig, Larman. 2004. UML y Patrones Introducción al análisis y diseño orientado a

objetos (I, II). La Habana : Editorial Félix Varela, 2004.

Creación de Reportes con Crystal Reports. Disponible en

http://vbcodigopocketpc.blogspot.com/2009/01/creacin-de-reportes-con-crystal-

reports.html. Recuperado en enero del 2012.

Eknoyan, G. 1999. Santorio Sanctorius (1561- 1636) - Founding father of metabolic

balance studies. 1999.

Enciclopedia Médica. 2006. Enciclopedia Médica. s.l. : Medline Plus, 2006.

Fell, D. 1996. Understanding the Control of Metabolism. Protland Press. 1996.

Fowler, Martin y S, K. 1999. UML Distilled Second Edition A Brief Guide. 1999.

Frederik P, Brooks. 1987. No Silver Bullet. Essence and Accidents in Software

Engineering. s.l. : IEEE Computer, 1987.

GLPK Proyect. 2010. Reference Manual for GLPK Version 4.45. 2010.

Hernández Díaz, Ana Beatriz . 2011. Sistema Automatizado para la Gestión de

Expedientes de Profesores. Pinar del Río : UPR “HERMANOS SAÍZ MONTES DE

OCA”, 2011.

Page 96: Análisis dinámico del balance de flujos metabólicos (DFBA)

BIBLIOGRAFÍA

85

Hernández, Enrique. El Lenguaje Unificado de Modelado (UML).

Hucka, Michael; Hoops, Stefan y Keating, Sarah Le. 2008. Nature Precedings.

Nature Precedings. [En línea] 2008. [Citado el: 14 de 12 de 2011.]

http://dx.doi.org/10.1038/npre.2008.2715.1. 2008.2715.1.

Jacobson, Ivar; Booch, Grady y Rumbaugh, James. 2000. El Proceso Unificado de

Desarrollo de Software. 2000.

Kompala, D.S. 1984. Bacterial growth on multiple substrates. Experimental

verification of cybernetic models. Ph.D. thesis. Purdue University,West Lafayette, IN.

1984.

López, M, Romero, G. R y Vega, M. 2007. Informe de vigilancia tecnológica.

España : s.n., 2007.

Mahadevan, Radhakrishnan; Edwards, Jeremy S. y Doyle, Francis J. 2002.

Dynamic Flux Balance Analysis of Diauxic Growth in Escherichia coli. Biophysical

Juornal Volume 28. 09 de 2002.

Mesarovic, M. D. 1968. Systems Theory and Biology-View of a Theoretician, in

System Theory and Biology. s.l. : M. D. Mesarovic, 1968.

Metabolism. The Online Etymology Dictionary. [En línea] [Citado el: 25 de 10 de

2011.]

Meyer, B. 1998. Construcción de software orientado a objetos. s.l. : Prentice-Hall,

1998.

Microsoft Corporation. 2010. MSDN. [En línea] Microsoft Corporation, 2010. [Citado

el: 25 de Enero de 2012.] http://msdn.microsoft.com/es-s/vcsharp/default.aspx.

Molpeceres, Alberto. 2002. Proceso de Desarrollo: Rup, XP y FDD. 2002.

National Center for Biotechnology Information. 2001. Bioinformatic. 2001.

Cuthrell, J. E y Biegler, L. T. 1987. On the optimization of differential. 33:1257–

1270, s.l. : AIChE J. , 1987.

Page 97: Análisis dinámico del balance de flujos metabólicos (DFBA)

BIBLIOGRAFÍA

86

Orth, Thiele y Palsson. 2010. What is flux balance analysis. 2010. volume 28

number 3.

Pacheco Suárez, Yarlenis. 2011. Servicio Web Cliente orientado a la obtención de la

información biológica disponible en la Base de Datos Kegg. Pinar del Río : UPR

“HERMANOS SAÍZ MONTES DE OCA”, 2011.

Peralta, Mario. 2004. Estimación del esfuerzo basada en casos de uso. 2004.

Recio, F y Provencio, D. 2007. Plataforma .Net. 2007.

Reyes Chirino, R. 2010. Diseño de bases de datos biológicas, un paso hacia la

automatización del proceso de construcción de modelos a escala genómica. 2010.

Riel, A. 1996. Object-Oriented Design Heuristics. s.l. : Addison-Wesley, 1996.

Rodríguez, Eduardo A. 2008 .Procesos de software.

Rumbaugh, James; Jacobson, Ivar y Booch, Grady. 2000. El Lenguaje Unificado

de Modelado. Manual de Referencia. Madrid : ADDISON WESLEY, Pearson, 2000.

Santiago, María de Lourdes. Desarrollando aplicaciones Informáticas con el Proceso

de Desarrollo Unificado.

Savageau, M. A., E. O. , Voit y D. H., Irvine. 1987. Biochemical systems theory and

metabolic control theory: 1. Fundamental similarities and differences. Math. Biosci.

1987, 86:127–145.

Sbml Web Site. 2009. The Systems Biology Markup Language. [En línea] 18 de

Mayo de 2009. [Citado el: 14 de Diciembre de 2011.]

http://sbml.org/More_Detailed_Summary_of_SBML.

Sbml Web Site. 2009. The Systems Biology Markup Language. [En línea] 18 de

Mayo de 2009. [Citado el: 14 de Diciembre de 2011.]

http://sbml.org/Basic_Introduction_to_SBML.

Smith E, Morowitz H. 2004. Universality in intermediary metabolism. s.l. : Proc Natl

Acad Sci U S A , 2004.

Sparx, Geoffrey. 2008. Enterprise Architect User Guide. s.l. : Sparx Systems, 2008.

Page 98: Análisis dinámico del balance de flujos metabólicos (DFBA)

BIBLIOGRAFÍA

87

Stephanpoulos, G. 1999. Metabolic fluxes and metabolic engineering. Metab. 1999,

Vols. 1:1–11.

The Rational egde: e-zine for the rational community. [En línea] [Citado el: 05 de 01

de 2012.] http://www.therationaledge.com/.

Triana Dopico, Julián, y otros. 2011. HYDRA: Una plataforma informática orientada

al diseño, análisis y visualización de redes metabólicas. Universidad de Pinar del Río.

Pinar del Río : s.n., 2011. 48-827-1-SP.

Grupo Intertech/UPR. 2011. Herramientas Computacionales Integrales para el

Diseño, Modelización y Análisis en Biología de Sistemas: Aplicaciones a la

Producción de Biocombustibles. 2011.

Varma, A y B. O, Palsson. 1994. Stoichiometric flux balance models quantitatively

predict growth and metabolic by-product secretion in wild-type Escherichia coli

W3110. s.l. : Appl. Environ. Microbiol., 1994.

Varner, J y D, Ramkrishna. 1999. Metabolic engineering from a cybernetic

perspective I. Theoretical preliminaries. 1999, 15: 407–425.

Page 99: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

88

ANEXOS

ANEXO I ANÁLISIS DE FACTIBILIDAD

1. Cálculo de los Puntos de Casos de Uso (PCU) sin ajustar : En esta instancia se calculan los Puntos de Casos de Uso sin ajustar a partir de la

siguiente ecuación:

Donde,

PCU: Puntos de Casos de Uso sin ajustar.

FPA: Factor de Peso de los Actores sin ajustar.

FPCU: Factor de Peso de los Casos de Uso sin ajustar.

1.1. Factor de Peso de los Actores sin ajustar (FPA)

Se determina teniendo en cuenta la cantidad de actores y su complejidad, un actor

puede ser simple (1), medio (2) o complejo (3). Un actor tiene valor de complejidad 1

si se trata de otro sistema que interactúa mediante una interfaz de programación,

tiene valor de complejidad 2 si es otro sistema que interactúa mediante un protocolo o

una interfaz basada en texto y 3 si es una persona que interactúa mediante interfaz

gráfica. HYDRA dFBA cuenta con 1 actor (usuario): el cual interactúa con el sistema

mediante una interfaz gráfica, de ahí que su FAP tiene valor 3.

1.2. Factor de Peso de los Casos de Uso sin ajustar (FPCU)

Se calcula mediante un análisis de la cantidad de Casos de Uso presentes en el

sistema y la complejidad de cada uno de ellos. La complejidad de un Caso de Uso se

determina a partir de la cantidad de transacciones que este posee. Un Caso de Uso

será de tipo Simple cuando posee menos de cuatro transacciones (peso cinco),

Medio cuando posee de cuatro a siete transacciones (peso diez) y Complejo cuando

posee más de siete transacciones (peso quince).

El sistema cuenta con siete casos de usos de complejidad simple, uno de complejidad

media y ocho de complejidad alta (Tabla 4.1), por tanto su FPCU tiene un valor 165.

Page 100: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

89

Una vez obtenidos los valores de FPA y FPCU, los Puntos de Casos de Uso sin

ajustar resultan

Simples Medios Complejos

Cargar Sistema Biológico Explorar Detalles de la reacción

Modificar Limites de la Reacción

Cerrar Sistema Biológico Correr Simulación

Consultar Ayuda Consultar Gráficos

Explorar Modelo Consultar Gráficos de Substratos

Gestionar Área de Simulación

Salvar Imagen de Gráficos

Gestionar Substratos Concentración constate

Solicitar Distribución de Flujos.

Solicitar Historial Biomasa Solicitar Matriz de Concentración

Salvar Datos

Tabla 4.1: Clasificación de los Casos de Uso según su complejidad.

Page 101: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

90

Paso 2: Cálculo de Puntos de Casos de Uso ajustados.

Después que se tienen los Puntos de Casos de Uso sin ajustar, estos se deben

ajustar:

Donde,

: Puntos de Casos de Uso ajustados

: Puntos de Casos de Uso sin ajustar

: Factor de complejidad técnica

: Factor de ambiente

2.1 Factor de complejidad técnica (FCT)

Se calcula mediante la cuantificación del peso de un conjunto de factores que

determinan la complejidad técnica del sistema, estos factores se cuantifica con un

valor de cero a cinco. El Factor de complejidad técnica se calcula mediante la

siguiente ecuación:

Después de realizar estos cálculos (Tabla 4.2), el FCT para HYDRA dFBA resultó ser

0.965

Métrica Descripción Peso Valor FCT Justificación

FCT01 Sistema distribuido. 2.00 0.00 0.00 El sistema es centralizado.

FCT02

Objetivos de

performance o tiempo

de respuesta.

1.00 4.00 5.00

La velocidad es limitada por

la capacidad de cómputo

del hardware.

FCT03 Eficiencia del usuario

final. 1.00 2.00 2.00

Escasas restricciones de

eficiencia.

FCT04 Procesamiento interno

complejo. 1.00 5.00 5.00

Existe un procesamiento

interno complejo de los

datos.

Page 102: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

91

FCT05 El código debe ser

reutilizable. 1.00 4.00 4.00

Algoritmos y procesos

deben ser reutilizables.

FCT06 Facilidad de

instalación. 0.50 5.00 2.50

Se requiere que la

aplicación sea fácil de

instalar.

FCT07 Facilidad de uso. 0.50 4.00 2.00 Se requiere que la

aplicación sea fácil de usar.

FCT08 Portabilidad. 2.00 5.00 10.00

Se brindarán ambas

opciones, instalador y

versión portable.

FCT09 Facilidad de cambio. 1.00 3.00 3.00

Se requiere un costo

moderado de

mantenimiento.

FCT10 Concurrencia. 1.00 0.00 0.00 No hay concurrencia.

FCT11

Incluye objetivos

especiales de

seguridad.

1.00 3.00 3.00 Seguridad normal.

FCT12 Provee acceso directo

a terceras partes. 1.00 0.00 0.00 No provee acceso directo.

FCT13

Facilidades especiales

de entrenamiento a

usuarios.

1.00 0.00 0.00

No se requieren facilidades

especiales de

entrenamiento a usuarios.

Total: 36.50

Tabla 4.2: Factor de complejidad técnica (FCT)

2.2 Factor de ambiente (FA)

Se estima a partir de un grupo de factores relacionados con las habilidades y el

entrenamiento del equipo de desarrollo. Al igual que el cálculo del FCT, se trata de un

Page 103: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

92

conjunto de factores que se cuantifican con valores de cero a cinco. El Factor de

ambiente se calcula mediante la siguiente ecuación: –

Al realizar los cálculos para FA, se obtuvo el valor 0.71 (Tabla 4.3). Una vez obtenido

el FCT y el FA, se calcula el PCUA, además de ya conocer desde el paso 1 los

puntos de casos de uso sin ajustar (PCU).

Métrica Descripción Peso Valor FA Justificación

FA01

Familiaridad con el

modelo de proyecto

utilizado.

1.50 3.00 4.50 Conocimientos medios del

modelo utilizado.

FA02 Experiencia en la

aplicación. 0.50 2.00 1.00

Se ha trabajado con este

tipo de aplicaciones, pero el

concepto es nuevo.

FA03 Experiencia en

orientación a objetos. 1.00 5.00 5.00

Se ha programado

orientado a objetos.

FA04 Capacidad del

analista líder. 0.50 5.00 2.50

El analista líder tiene buena

preparación y experiencia.

FA05 Motivación. 1.00 5.00 5.00 Altamente motivado.

FA06 Estabilidad de los

requerimientos. 2.00 4.00 8.00

No hay grandes cambios en

los requerimientos.

Page 104: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

93

FA07 Personal part-time. -1.00 0.00 0.00 Full-time.

FA08 Dificultad del lenguaje

de Programación. -1.00 3.00 -3.00

Se usará C# como lenguaje

de programación.

Total: 23.00

Tabla 4.3: Factor de Ambiente (FA)

Paso 3: Cálculo del Esfuerzo de Implementación (E):

Se convierten los Puntos de Casos de Uso Ajustados a esfuerzo de desarrollo. El

esfuerzo en horas-hombre viene dado por:

Donde,

Esfuerzo estimado en horas-hombre

: Puntos de Casos de Uso ajustados

: Factor de Conversión

El Factor de Conversión ( ), denota la cantidad de horas-hombre/Punto de Casos

de Uso y se determina según el siguiente criterio:

Se contabilizan cuántos factores de los que afectan al factor de ambiente están

por debajo del valor medio (tres), para los factores E1 a E6.

Se contabilizan cuántos factores de los que afectan al factor de ambiente están

por encima del valor medio (tres), para los factores E7 y E8.

Si el total es dos o menos, se utiliza el factor de conversión veinte horas-

hombre/Punto de Casos de Uso.

Si el total es tres o cuatro, se utiliza el factor de conversión 28 horas-

hombre/Punto de Casos de Uso.

Page 105: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

94

Según este criterio, se obtuvo que existe uno por debajo de tres para los factores E1

a E6 y cero por encima de tres para los factores E7 y E8, por tanto el total es uno y se

utiliza como FC 20 horas-hombre/Punto de Casos de Uso.

Se calcula el esfuerzo estimado en horas-hombre:

Conociendo que la implementación representa un 40% del tiempo de desarrollo de un

software, se obtiene el esfuerzo total y la distribución por cada una de las etapas del

proceso de desarrollo (Tabla 4.4).

Actividad Porcentaje

% Horas-Hombres

Análisis 5 407.08

Diseño 25 2035.38

Implementación 40 3256.60

Pruebas 20 1628.30

Sobrecarga (otras actividades) 10 814.50

Total: 8141.50

Tabla 4.4: Esfuerzo del proyecto

Paso 4: Estimación del tiempo de desarrollo del proyecto

A partir del esfuerzo se puede estimar el tiempo de desarrollo aproximado del proyecto:

Donde,

: Tiempo de desarrollado del proyecto

: Esfuerzo total

: Cantidad de hombres que desarrollan el proyecto.

En la construcción de HYDRA dFBA participó una persona, por tanto:

Page 106: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

95

Paso 5: Estimación del costo de desarrollo del proyecto

El costo total se obtiene mediante la siguiente ecuación:

Donde,

: Costo total

: Costo del proyecto

Donde,

: Costo por hombre - hora

Donde,

: Coeficiente que tiene en cuenta los costos indirectos (1,5 y 2,0)

: Tarifa Horaria Promedio. El salario promedio de las personas que trabajan en el

proyecto dividido entre 160 horas.

El salario promedio para el desarrollador fue $100, de ahí se obtiene igual a

0.625, por lo tanto:

Con los resultados anteriores se obtiene:

Page 107: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

96

ANEXO II: LICENCIA CeCILL V2

The purpose of this Free Software license agreement is to grant users the right to

modify and redistribute the software governed by this license within the framework of

an open source distribution model.

The exercising of these rights is conditional upon certain obligations for users so as to

preserve this status for all subsequent redistributions.

In consideration of access to the source code and the rights to copy, modify and

redistribute granted by the license, users are provided only with a limited warranty and

the software's author, the holder of the economic rights, and the successive licensors

only have limited liability.

In this respect, the risks associated with loading, using, modifying and/or developing

or reproducing the software by the user are brought to the user's attention, given its

Free Software status, which may make it complicated to use, with the result that its

use is reserved for developers and experienced professionals having in-depth

computer knowledge. Users are therefore encouraged to load and test the suitability of

the software as regards their requirements in conditions enabling the security of their

systems and/or data to be ensured and, more generally, to use and operate it in the

same conditions of security. This Agreement may be freely reproduced and published,

provided it is not altered, and that no provisions are either added or removed

herefrom.

This Agreement may apply to any or all software for which the holder of the economic

rights decides to submit the use thereof to its provisions.

CeCILL stands for Ce(a) C(nrs) I(nria) L(ogiciel) L(ibre)

Version 2.0 dated 2006-09-05.

Texto completo disponible en: http://www.cecill.info".

Page 108: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

97

ANEXO III: MATRIZ DE TRAZABILIDAD REQUERIMIENTOS-CASOS DE USO

Ca

rgar

Sis

tem

a B

ioló

gic

o

Ce

rra

r S

iste

ma

Bio

lóg

ico

Co

ns

ult

ar

Ay

ud

a

Co

ns

ult

ar

grá

fic

o d

e s

ub

str

ato

s

Co

ns

ult

ar

grá

fic

os

Co

rre

r sim

ula

ció

n

Ex

plo

rar

Mo

de

lo

Ex

plo

rar

deta

lle

s d

e la

re

ac

ció

n

Ge

sti

on

ar

are

a d

e s

imu

lació

n

Ge

sti

on

ar

su

bstr

ato

s c

on

co

nce

ntr

ac

ión

co

nsta

nte

Mo

dif

icar

lím

ite

s d

e l

a R

eac

ció

n

Sa

lva

r d

ato

s

Sa

lva

r im

ag

en

del g

ráfi

co

So

lic

ita

r D

istr

ibu

ció

n d

e F

lujo

s

So

lic

ita

r H

isto

rial d

e B

iom

asa

So

lic

ita

r M

atr

iz d

e C

on

cen

tra

ció

n

R.F. 1 Leer datos

del Sistema

Biológico

X

R.F. 10 Mostrar

información

detallada de las

Reacciones

X

R.F. 10.1 Salvar

información

detallada de las

Reacciones

X

R.F. 11 Actualizar el

Límite Inferior de las

Reacciones

X

R.F. 12 Actualizar el

Límite Superior de

las Reacciones

X

R.F. 13 Habilitar

área de simulación X

R.F. 14 Listar

substratos para

reacciones de

intercambio

X

Page 109: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

98

R.F. 15 Listar

reacciones de

intercambio

X

R.F. 16 Mostrar

ayuda lateral para el

área de simulación

X

R.F. 17 Recibir

Reacciones de

Intercambio

constantes

X

R.F. 18 Quitar

Reacciones de

Intercambio

X

R.F. 19 Recibir del

usuario Biomasa

Inicial

X

R.F. 2 Normalizar el

Id de las Especies

del Modelo

X

R.F. 20 Recibir del

usuario Intervalo de

Tiempo

X

R.F. 21 Recibir del

usuario Número de

Intervalos

X

R.F. 22 Permitir al

usuario cambiar la

concentración de

substrato

X

R.F. 24 Mostrar los

resultados de la

simulación

X

R.F. 25 Salvar los

resultados de la

simulación

X

R.F. 26 Interrumpir

la simulación por

solicitud del usuario

R.F. 27 Graficar la

concentración de

Biomasa

X

R.F. 28 Graficar la

concentración de los

substratos

X

Page 110: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

99

R.F. 29 Salvar los

gráficos en formato

(.jpg)

X

R.F. 3 Normalizar el

Id de las Reacciones

del Modelo

X

R.F. 30 Mostrar la

Distribución de

Flujos

X

R.F. 31 Salvar la

Distribución de

Flujos

X

R.F. 32 Mostrar un

Historial de Biomasa X

R.F. 33 Salvar

Historial de Biomasa X

R.F. 34 Mostrar

Matriz de

Concentración

X

R.F. 36 Salvar

Matriz de

Concentración

X

R.F. 37 Abandonar

el área de

simulación

X

R.F. 38 Cerrar el

Modelo abierto X

R.F. 39 Guardar un

historial Modelos

recientes

X

R.F. 4 Construir la

Matriz

Estequeométrica del

Modelo

X

R.F. 40 Consultar la

Ayuda X

R.F. 5 Buscar las

Reacciones de

Intercambio del

Modelo

X

R.F. 6 Buscar la

Reacción de

Biomasa del Modelo

X

R.F. 7 Llevar las

Reacciones a su X

Page 111: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

100

forma matemática

R.F. 8 Mostrar

resumen del

Sistema Biológico

X

R.F. 9 Mostrar datos

del Sistema

Biológico

X

R.F.23 Correr la

simulación X

ANEXO IV ESPECIFICACIÓN DE LOS CASOS DE USO MÁS SIGNIFICATIVOS

Caso de Uso: Cargar Sistema Biológico

Actor: Usuario (inicia)

Propósito: Obtener del Sistema Biológico datos necesarios para

realizar la simulación.

Resumen:

El caso de uso se inicia cuando el Usuario decide cargar

un Sistema Biológico, haciendo uso de alguna de las tres

opciones disponibles para ello (1) a través del “Menú File”,

(2) directamente desde la barra de herramientas

”Standar", ambas descritas en la sección “Buscar

Archivo”, (3) haciendo uso del historial de modelos

recientes, sección “Modelos Recientes”. El sistema crea

un modelo virtual con los datos que necesita y le informa

al usuario que modelo fue leído, finalizando así el curso

normal de los eventos.

Referencias: R.F 1 R.F 8.

Precondiciones:

Ningún otro Sistema Biológico puede estar abierto.

Para usar la opción Modelo Recientes, algún Modelo

debe haber sido previamente abierto.

Poscondiciones: Se cuenta con parte de la información necesaria para

realizar las simulaciones.

Page 112: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

101

Interfaz 1

Interfaz 1.1

Interfaz 1.2

Interfaz 1.3

B A

C

Page 113: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

102

Interfaz 2

Page 114: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

103

Interfaz 3

Curso Normal de los Eventos

Sección: Buscar archivo.

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona la

opción “Open Sbml Model”

desde la barra de

herramientas “Estándar

toolbox” (B) o desde el

menú “File” (A).

1.1. El sistema muestra el cuadro de dialogo “Open

Sbml Model” (Interfaz 2), para que el usuario

busque el archivo (.xml) que contiene la

información del Sistema Biológico. Se cuenta

con un filtro "Xml files (*.xml), para minimizar el

número de estados erróneos.

2. El Usuario recorre la ruta

hasta el archivo que desea

abrir y se lo indica al

sistema.

2.1. El sistema lee los datos requeridos del archivo

(ver R.F. del 1 al 1.3.5.8).

2.2. El sistema normaliza el Id de las Especies del

Modelo (R.F. 2).

2.3. El sistema normaliza el Id de las Reacciones del

Modelo (R.F. 3).

D E

H

F

G

Page 115: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

104

2.4. El sistema construye la Matriz Estequeométrica

del Modelo (R.F. 4).

2.5. El sistema busca las Reacciones de Intercambio

del Modelo. (R.F. 5).

2.6. El sistema busca la Reacción de Biomasa del

Modelo (R.F. 6).

2.7. El sistema lleva las Reacciones a su forma

matemática (R.F. 7).

2.8. El sistema actualiza la lista de Modelos

Recientes (R.F. 30) (C).

2.9. El sistema muestra en pantalla un resumen del

Modelo leído (R.F. 8) (H), y habilita las

opciones:

a-) Solicitar Área de Simulación (E, F). (C. U. S)

b-) Explorar Modelo (G). (C. U. S)

c-) Cerrar Modelo (D). (C. U. S)

2.10. Durante el tiempo que dure el proceso de

cargado del Modelo, el sistema mantendrá al

usuario informado del progreso de las

actividades, mediante el uso de barras de

progreso y etiquetas de texto. (Interfaz 1.1, 1.2,

1.3).

Sección : Modelos recientes

1. El Usuario selecciona el link

que hace referencia al

Sistema Biológico que

desea cargar, desde el

historial de modelos

recientes (C).

1.1. El sistema realiza los pasos del 2.1 al 2.10 de

la sección “Buscar archivo”.

Cursos Alternos

Page 116: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

105

Mensaje 1

Mensaje 2

Mensaje 3

Mensaje 4

Page 117: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

106

Mensaje 5

Mensaje 6

Mensaje 7

Mensaje 8

Page 118: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

107

Mensaje 9

Mensaje 10

1. Sección “Buscar

archivo” línea 2.1

1.1. Si el archivo indicado por el usuario no es un archivo

xml válido, se muestra el Mensaje 1 y se interrumpe el

curso normal de eventos.

1.2. Si el archivo indicado por el usuario no es un archivo

Sbml válido, o pertenece a un nivel y/o versión no

soportada por el sistema se muestra el Mensaje 2 y

se interrumpe el curso normal de eventos.

1.3. Si el archivo indicado por el usuario no contiene

información sobre ningún modelo biológico, se

muestra el Mensaje 3 y se interrumpe el curso normal

de eventos.

1.4. Si en el archivo indicado por el usuario no se

encuentra información referente a los

Compartimientos, se muestra el Mensaje 4 y se

interrumpe el curso normal de eventos.

1.5. Si en el archivo indicado por el usuario la información

sobre los Compartimientos no se encuentra en el

formato esperado, se muestra el Mensaje 5 y se

Page 119: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

108

interrumpe el curso normal de eventos.

1.6. Si en el archivo indicado por el usuario no se

encuentra información referente a la Especies, se

muestra el Mensaje 6 y se interrumpe el curso normal

de eventos.

1.7. Si en el archivo indicado por el usuario la información

sobre las Especies no se encuentra en el formato

esperado, se muestra el Mensaje 7 y se interrumpe el

curso normal de eventos.

1.8. Si en el archivo indicado por el usuario no se

encuentra información referente a las reacciones, se

muestra el Mensaje 8 y se interrumpe el curso normal

de eventos.

1.9. Si en el archivo indicado por el usuario la información

sobre las reacciones no se encuentra en el formato

esperado, se muestra el Mensaje 9 y se interrumpe el

curso normal de eventos.

2. Sección “Modelos

recientes” línea 2.1

2.1. Si el archivo al que señala el link seleccionado por el

usuario, fue movido, renombrado, eliminado y/o no se

tiene acceso a la ruta en que este se localiza, se

muestra el Mensaje 10 y se interrumpe el curso

normal de eventos.

Prioridad: Alta.

Caso de Uso: Correr Simulación

Actor: Usuario (inicia)

Propósito: Obtener los resultados de la simulación y habilitar el

uso de los servicios que necesitan de esos.

Resumen:

Se inicia cuando el usuario introduce los datos

necesarios, biomasa, intervalo de tiempo y número

de intervalos, opcionalmente puede seleccionar de

la lista de reacciones de intercambio cuales de estas

Page 120: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

109

van a poseer una concentración de substratos

constante (CU Gestionar substratos con

concentración constante) y le solicita al sistema

realizar la simulación con los mismos, el sistema

verifica la validez e integridad de estos y comienza

realizar la simulación hasta el número de intervalos

indicado por el usuario, o hasta que los nutrientes se

agoten. Los resultados que se van obteniendo para

cada iteración son presentados dinámicamente al

usuario. Una vez terminada la simulación, por

cualquiera de los motivos antes expuestos se le

hace saber al usuario. Para finalizar el caos de uso

el sistema activa las herramientas que harán uso de

estos resultados.

Referencias:

R.F 19 24.

Casos de uso Asociados:

o Solicitar Matriz de Concentración.

o Solicitar Distribución de Flujos.

o Consultar Gráficos.

o Salvar Datos.

o Abortar Simulación en Curso.

o Gestionar substratos con concentración

constante.

o Solicitar Historial de Biomasa.

Page 121: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

110

Poscondiciones:

El área de simulación debe estar visible.

Los vectores de tiempo y biomasa para la

simulación son obtenidos.

La opción para consultar la Matriz de

concentración es activada (CU Solicitar Matriz de

Concentración).

La opción para consultar la distribución de flujos

es activada (CU Solicitar Distribución de Flujos).

La opción para consultar los gráficos es activada

(CU Consultar Gráficos).

La opción para salvar los datos de la simulación

es activada (CU Salvar Datos).

Si es la primera ejecución del caso de uso, la

opción para consultar el historial de biomasa es

activada (CU Solicitar Historial de Biomasa).

Interfaz 1

A

B

C

D

E

F

G H

I J

K

L M N O

P

Page 122: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

111

Mensaje 1

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario entra los valores

para la biomasa inicia (A), el

intervalo de tiempo (B) y el

número de intervalos (C).

2. El usuario gestiona los

substratos con concentración

constante (D) (opcional).

3. El usuario ajusta los límites

inferiores (Lb) (E) y los

valores de concentración (F)

para los substratos de

intercambio, a su gusto.

4. El usuario acciona el botón

de iniciar Run dfba (G).

4.1. El sistema crea un nuevo hilo de ejecución

(Thread), para que el proceso pueda

ejecutarse independientemente, sin bloquear

la interfaz de usuario.[motivo por el cual se

deben deshabilitar las opciones que puedan

crear conflictos con el proceso de simulación]

4.2. El sistema deshabilita el botón Run dFBA (G).

4.3. El sistema chequea que los parámetros

iniciales (A, B, C) entrados por usuario

tengan el formato requerido.

4.4. El sistema chequea que los valores para el Lb

(E) y la Concentración (F) tengan el formato

requerido.

4.5. El sistema actualiza en el modelo biológico los

límites inferiores (Lb) de las reacciones de

intercambio, entrados por el usuario,

validando que su formato sea correcto.

4.6. El sistema crea el vector de concentración

para los substratos de intercambio, validando

que su formato sea correcto.

4.7. El sistema deshabilita las opciones de la

interfaz (L, M, N, O) que requieren de los

resultados de la simulación (si es la primera

Page 123: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

112

corrida, estas están deshabilitadas por

defecto).

4.8. El sistema activa el botón para abortar (H) la

simulación en curso si el usuario así lo desea.

4.9. El sistema comienza a realizar la simulación,

mostrando los valores de tiempo (I) y biomasa

(J) para cada una de las iteraciones, a medida

que estos son obtenidos (tiempo real), y

mediante la barra de estado (K) muestra el

progreso del proceso.

4.10. El sistema construye la matriz de

concentración, almacena los vectores de

tiempo y biomasa, como parte del resultado

de la simulación, el cual será usado para otros

servicios, adicionan los vectores de tiempo y

biomasa al historial de biomasa, el cual

trascenderá todas las simulaciones realizadas

sobre un mismo modelo.

4.11. El sistema muestra un mensaje de

confirmación para que se conozca que el

proceso de simulación concluyo

satisfactoriamente (Mensaje 1).

5. El usuario acepta el Mensaje

1

5.1. El sistema desactiva la opción de abortar

simulación y la barra de estado (H, K).

5.2. El sistema activa la opción para iniciar una

nueva simulación (G).

5.3. El sistema activa las opciones:

o Salvar resultados de la simulación (P).

o Consultar gráficos (L).

o Consular distribución de flujo (M).

o Consultar Historial de biomasa (N).

o Consultar Matriz de concentración (O).

Page 124: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

113

Cursos Alternos

Mensaje 2

Mensaje 3

Mensaje 4

Mensaje 5

Page 125: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

114

Mensaje 6

Mensaje 7

Mensaje 8

1. Línea 4.3

1.1. Si el valor para la biomasa inicial (A) no tiene

el formato requerido, se interrumpe el curso

normal de eventos y se muestra el Mensaje 2.

1.2. Si el valor para el intervalo de tiempo (B) no

tiene el formato requerido, se interrumpe el

curso normal de eventos y se muestra el

Mensaje 3.

1.3. Si el valor para el numero de intervalos (C) no

tiene el formato requerido, se interrumpe el

curso normal de eventos y se muestra el

Mensaje 4.

Page 126: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

115

2. Línea 4.4 2.1. Si alguno de los valores para los límites

inferiores (E) no tiene el formato requerido, se

interrumpe el curso normal de eventos y se

muestra el Mensaje 5, indicando donde se

localiza el error.

2.2. Si alguno de los valores para las

concentraciones (F) no tiene el formato

requerido, se interrumpe el curso normal de

eventos y se muestra el Mensaje 6, indicando

donde se localiza el error.

3. Línea 4.11

3.1. Si el agotamiento de alguno de los substratos

(Concentración =0), influye directamente en el

crecimiento de la biomasa resultante

(crecimiento =0), se interrumpe el proceso de

simulación y esta se da por concluida,

computándose solo los resultados que se

tiene hasta el momento, se muestra el

Mensaje 7. El curso normal de eventos,

continua una vez que el usuario acepta el

mensaje, el paso 4.11 no es realizado.

4. Líneas 4.8 – 4.10 4.1. Si durante el transcurso de la simulación el

usuario acciona el botón Abortar (H), el

sistema interrumpe el proceso de simulación y

esta se da por concluida, computándose solo

los resultados que se tiene hasta el momento,

se muestra el Mensaje 8. El curso normal de

eventos, continua una vez que el usuario

acepta el mensaje, el paso 4.11 no es

realizado.

Prioridad: Alta.

Page 127: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

116

Caso de Uso: Consultar gráficos

Actor: Usuario (inicia)

Propósito: Acceder a las herramientas para graficar la

biomasa resultante de la simulación.

Resumen:

El caso de Uso inicia, cuando, una vez

ejecutado el caso de uso Correr simulación, el

usuario selecciona de la interfaz principal la

opción gráficos (Charts); el sistema busca en el

resultado de la simulación, los vectores de

tiempo y de biomas, y muestra una nueva

ventana, donde estos son mostrados en forma

de gráfico (biomasa/tiempo), el gráfico puede

ser visualizado en barras, columnas, área o

línea de pasos, según el deseo del usuario, y en

el color escogido por este.

Referencias:

R.F 27.

Casos de Usos asociados:

o Consultar gráficos de substratos.

o Salvar imagen del gráfico.

Precondiciones: Se tiene que haber realizado alguna

simulación sobre el modelo abierto.

Poscondiciones: La concentración de biomasa es graficada e

función del tiempo y presentada al usuario.

Page 128: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

117

Interfaz 1

Interfaz 2

Curso Normal de los Eventos

A B C D E F

G

H

I

J

A1

Page 129: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

118

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona de la

Interfaz Principal (Interfaz 1) la

opción gráficos (Charts) (A1).

1.1. El sistema busca en los resultados de la

última simulación realizada sobre el modelo

abierto, los vectores de tiempo y de

biomasa.

1.2. El sistema busca en la matriz de

concentración de la última simulación los

nombres de todos los substratos graficables

(concentración distinta de cero en al menos

dos iteraciones).

1.3. El sistema muestra la Interfaz 2, donde se

visualiza:

o Gráfico (de barras por defecto) (I), donde

se representa la concentración de

biomasa (H), en función del tiempo (G).

o Opción para gráfico de Barras (A).

o Opción para gráfico de Área (B).

o Opción para gráfico de Columnas (C).

o Opción para gráfico de Línea de Pasos

(D).

o Opción para salvar el gráfico como

imagen (E). (CU Salvar Imagen del

gráfico).

o Opción para cambiar el color (F).

o Lista de los substratos graficables (J).

Para graficar los substratos. (CU

Consultar Gráficos de Substratos).

Prioridad: Media.

Page 130: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

119

Caso de Uso: Consultar gráficos de substratos

Actor: Usuario (inicia)

Propósito: Graficar los substratos graficables.

Resumen:

El caso de uso inicia, cuando, una vez

ejecutado el caso de uso Consultar gráficos, el

usuario decide consultar gráficos para los

substratos de intercambio. El usuario selecciona

de la lista el substrato que desea graficar, ante

lo cual el sistema busca en la matriz de

concentraciones la columna que se corresponde

con dicho elemento, y lo representa en un

gráfico de concentración/tiempo, el gráfico

puede ser visualizado en barras, columnas, área

o línea de pasos, según el deseo del usuario, y

en el color escogido por este, finalizando de

esta forma el caso de uso.

Referencias:

R.F 28.

Casos de Usos asociados:

o Consultar gráficos.

o Salvar imagen del gráfico.

Precondiciones:

Se tiene que haber ejecutado el caso de uso

Consultar Gráficos

Tiene que haber al menos un substrato

graficable.

Poscondiciones:

La concentración del substrato seleccionado

es graficada e función del tiempo y

presentada al usuario.

Page 131: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

120

Interfaz 1

A1

Page 132: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

121

Interfaz 2

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona de la

interfaz para el área de los

gráficos (Interfaz 1) la lista de los

substratos graficables (A1), y de

ellos el que desea graficar.

1.1. El sistema busca en la matriz de

concentración de la última simulación la

columna los valores de tiempo y

concentración que se corresponden con

el substrato seleccionado.

1.2. El sistema muestra la Interfaz 2, donde

se visualiza:

A

B D E F

H

I G

C

Page 133: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

122

o Gráfico de substratos (de barras por

defecto) (I), donde se representa la

concentración del substrato

seleccionado (G), en función del

tiempo (H).

o Opción para gráfico de Barras (A).

o Opción para gráfico de Área (B).

o Opción para gráfico de Columnas (C).

o Opción para gráfico de Línea de

Pasos (D).

o Opción para salvar el gráfico como

imagen (E). (CU Salvar Imagen del

gráfico).

o Opción para cambiar el color (F).

Prioridad: Media.

Caso de Uso: Salvar imagen del gráfico.

Actor: Usuario (inicia)

Propósito: Salvar el gráfico como imagen (.jpg).

Resumen:

El caso de Uso inicia, cuando, después de ejecutarse el

caso de uso Consultar gráficos y/o el caso de uso

Consultar gráficos de substratos, el usuario decide salvar

una copia del grafico en pantalla, como imagen (.jpg) en

el disco duro. El sistema garantiza que el usuario escoja

la ruta y el nombre deseados, y crea la imagen,

finalizando el caso de uso.

Referencias:

R.F 29.

Casos de Usos asociados:

o Consultar gráficos.

o Consultar gráficos de substratos.

Precondiciones: Se tiene que haber ejecutado el casos de uso

Page 134: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

123

Consultar gráficos.

Poscondiciones: La imagen del grafico es salvada.

Interfaz 1

A B

Page 135: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

124

Interfaz 2

Mensaje 1

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona de la Interfaz

para el área de gráficos (Interfaz 1), la

opción para salvar el grafico como

imagen(A, B).

1.1. El sistema muestra el cuadro de

dialogo para que el usuario

especifique el nombre y la ruta donde

desea que se salve la imagen del

gráfico.

2. El usuario introduce el nombre para el

archivo e indica la ruta done desea

salvarlo.

2.1. El sistema crea el archivo, cierra el

cuadro de dialogo e indica al usuario

que la operación se realizó

(Mensaje 1).

Prioridad: Baja.

Caso de Uso: Solicitar distribución de flujos.

Actor: Usuario (inicia)

Propósito:

Mostrar en pantalla la distribución de flujos para

la iteración(s) solicitada por el usuario, pueden

ser todas las iteraciones.

Resumen:

El caso de Uso inicia, cuando, el usuario

selecciona la opción “Flux Distribution” de la

interfaz principal, el sistema muestra la ventana

Page 136: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

125

correspondiente desde la cual el usuario podrá

especificar que iteraciones desea, y pedirle al

sistema que las muestre, una vez visualizadas

se activa la opción para exportarlas a un

archivo Excel.

Referencias:

R.F 30.

Casos de Usos asociados:

o Correr simulación.

o Salvar datos.

Precondiciones: Se necesita que alguna simulación haya

sido corrida.

Poscondiciones:

La distribución de flujo para cada una de las

reacciones del modelo, en las iteraciones

solicitadas, es mostrada en pantalla.

La opción para exportarla a un archivo Excel

es activada.

A

Page 137: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

126

Interfaz 1

Interfaz 2

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona la opción

“Flux Distribution” (A) de la

interfaz 1.

1.1. El sistema muestra la interfaz 2, con los

recursos necesarios para que el usuario

solicite el servicio en cuestión.

2. El usuario introduce el (los

números de las iteración(s)

deseada(s), separados por

punto y coma (;), en el campo

de texto de la ventana (B), y

acciona el botón “Run” (C).

2.1. El sistema verifica que el formato de las

entradas sea correcto.

2.2. El sistema valida que las iteraciones

solicitadas se encuentren en el rango de las

que se realizaron durante la simulación.

2.3. El sistema desactiva el campo de texto y el

botón “Run” mientras la operación se

BC

H

D E

F G

Page 138: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

127

completa, ya que esta se ejecuta en un hilo

de ejecución alternativo.

2.4. El sistema muestra en la primera columna

(D) los nombres de cada una de las

reacciones, y en las contiguas (E), los

valores de flujo para cada una de las

iteraciones solicitadas.

2.5. Mientras la operación se están realizando

el sistema muestra una barra de progreso

(F) indicando el estado de la misma y la

información correspondiente (G).

2.6. El sistema activa la opción para salvar los

datos (H).

Cursos Alternos:

Mensaje 1

Mensaje 2

Curso Normal de eventos Línea 2.1 1.1. Si el formato de las entradas no es

correcto el sistema muestra el Mensaje 1,

limpia el campo de texto e interrumpe el

Page 139: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

128

curso normal de los eventos.

Curso Normal de eventos Línea 2.2 1.1. Si alguna(s) iteración(s) solicitadas por el

usuario no se encuentra en el rango de

las realizadas durante la simulación, el

sistema muestra el Mensaje 2, limpia el

campo de texto e interrumpe el curso

normal de los eventos.

Prioridad: Media.

Caso de Uso: Solicitar historial de biomasa.

Actor: Usuario (inicia)

Propósito:

Mostrar en pantalla el historial de biomasa, con

los resultados de cada una de las simulaciones

realizadas sobre el modelo que se encuentre

actualmente abierto.

Resumen:

El caso de Uso inicia, cuando, el usuario

selecciona la opción “Biomass History” de la

interfaz principal, el sistema muestra la ventana

correspondiente desde la cual el usuario puede

analizar los resultados de todas las

simulaciones realizadas sobre el modelo

abierto, una vez visualizadas se activa la

opción para exportarlas a un archivo Excel.

Referencias:

R.F 32.

Casos de Usos asociados:

o Salvar datos.

Precondiciones: Se necesita que alguna simulación haya

sido corrida.

Poscondiciones: El historial de biomas es mostrado en

pantalla.

Page 140: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

129

La opción para exportarlo a un archivo Excel

es activada.

Interfaz 1

A

Page 141: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

130

Interfaz 2

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona la opción

“Biomass History” (A) de la

interfaz 1.

1.1. El sistema busca el historial de biomasa,

donde están guardados los resultados de

todas las simulaciones que se han

realizado sobre el modelo abierto.

1.2. El sistema muestra la interfaz 2, donde en

la primera columna se encuentra el vector

de tiempo (C) y en las restantes los valores

de biomasa (D).

1.3. El sistema activa la opción (B) para salvar

DC

B

Page 142: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

131

el historial en un archivo Excel.

Prioridad: Media.

Caso de Uso: Solicitar matriz de concentración.

Actor: Usuario (inicia)

Propósito:

Mostrar en pantalla la matriz de concentración,

con los valores para los substratos de las

reacciones de intercambio.

Resumen:

El caso de Uso inicia, cuando, el usuario

selecciona la opción “Concentration Matrtix” de

la interfaz principal, el sistema muestra la

ventana correspondiente desde la cual el

usuario puede disponer de los valores de

concentración en el tiempo, para los substratos

de las reacciones de intercambio, una vez

visualizadas se activa la opción para exportarlas

a un archivo Excel.

Referencias:

R.F 34.

Casos de Usos asociados:

o Salvar datos.

o Correr simulación.

Precondiciones: Se necesita que alguna simulación haya sido

corrida.

Poscondiciones:

La matriz de concentración es mostrada en

pantalla.

La opción para exportarla a un archivo Excel

es activada.

Page 143: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

132

Interfaz 1

Interfaz 2

A

D

C

B

Page 144: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

133

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona la opción

“Concentration Matrix” (A) de la

interfaz 1.

1.1. El sistema busca en los resultados de la

simulación, la matriz de concentración.

1.2. El sistema recorre la matriz eliminando

aquellas columnas en la que todos sus

valores son cero.

1.3. El sistema muestra la interfaz 2, donde en la

primera columna se encuentra el vector de

tiempo (C) y en las restantes los valores de

concentración para los substratos (D).

1.4. El sistema activa la opción (B) para salvar

la matriz en un archivo Excel.

Mensaje 1

Cursos Alternos

Curso normal de eventos Línea

1.2

1.1. Si todas las columnas de las matriz de

concentración son cero el sistema muestra

el Mensaje 1 e interrumpe el curso normal

de los eventos.

Prioridad: Media.

Caso de Uso: Salvar datos

Actor: Usuario (inicia)

Page 145: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

134

Propósito: Exportar a un archivo Excel (Microsoft Office

2010), datos visualizados en pantalla.

Resumen:

El caso de Uso inicia, cuando, el usuario

selecciona la opción salvar datos, el sistema

comienza a exportar los datos para el archivo, el

usuario es informado en todo momento del

progreso del proceso, mediante la barra de

estado. El caso de uso finaliza con la

visualización del archivo Excel con los datos ya

estructurado.

Referencias:

R.F 10.1, R.F 31, R.F 31, R.F 33, R.F 36.

Casos de Usos asociados:

o Explorar detalles de la reacción.

o Solicitar historial de biomasa.

o Solicitar matriz de concentración.

o Correr simulación.

o Solicitar distribución de flujo.

Precondiciones: Se tiene que haber ejecutado alguno de los

casos de uso asociados.

Poscondiciones: La información deseada es exportada a un

archivo Excel.

Curso Normal de los Eventos

Acciones del Actor Respuesta del Sistema

1. El Usuario selecciona la opción

salvar en la interfaz

correspondiente.

1.1. El sistema comienza a exportar los datos

para el archivo Excel.

1.2. El sistema muestra en la barra de estado el

progreso del proceso.

1.3. El sistema abre el archivo un vez que todo

los datos fueron exportados.

Prioridad: Media.

Page 146: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

135

ANEXO V: DIAGRAMAS DE COLABORACIÓN DE LOS CASOS DE USO MAS

SIGNIFICATIVOS

C.U Cargar Sistema Biológico.

sd Cargar Sistema Biológico

StartF SbmlIn

SbmlModel

Compartment

Specie

Reaction

Stoichiometry

Usuario

1:

1.1:

1.2:

1.3:

1.4 :

1.5:

1.6:

2:

Page 147: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

136

C.U Correr Simulación.

C.U Consultar Gráficos.

sd Correr simulación

StartF dFb a

Fba

«library»

Simulation::

GLPKSharp.dll

Concentration

SbmlModel

Biomass

SimResults

BiomassHistory

Usuario

(from Actors)

1:

1.1:

1.2: 1.3:

1.4 :

1.5:

1.6:

1.7: 1.8:

2:

sd Consultar gráficos

GrphicsF

SimResults

Usuario

(from Actors)

GraphicsStartF

1:

1.1:

1.2:

1.3:

2:

Page 148: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

137

C.U Consultar Gráficos de Substratos.

C.U Salvar Imagen del Gráfico.

C.U Solicitar Historial de Biomasa

sd Consultar gráfico de substratos

GrphicsF

SimResultsUsuario

(from Actors)

GraphicsStartF

1:

1.1:

1.2:

1.3:

2:

sd Salv ar imagen del gráfi...

«<<Image>>»

Image.jpg

SaveImage SaveImageUsuario

(from Actors)

StartF

graphic

1:

1.1:

1.2:

1.3:

1.4 :

2:

2.1:

sd Solicitar Historial de Biomasa

Usuario

(from Actors)

StartF BiomassHystoryF BiomassHistoryBiomassHistory

1: 1.1: 1.2: 1.3:

2:

Page 149: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

138

C.U Solicitar Distribución de Flujos.

C.U Solicitar Matriz de Concentración.

sd Solicitar Distribución de Fluj ...

FluxF SimResultsUsuario

(from Actors)

FluxDistributionStartF

1: 1.1:

1.2:

1.3:

2:

sd Solicitar Matriz de Concentraci...

ConcentrationMatrixF SimResultsUsuario

(from Actors)

ConcentMatrixStartF

1: 1.1: 1.2:

1.3:

2:

Page 150: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

139

ANEXO VI: DIAGRAMAS DE SECUENCIA DE LOS CASOS DE USO MÁS

SIGNIFICATIVOS

C.U Cargar Sistema Biológico (Curso normal de eventos).

Page 151: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

140

C.U Cargar Sistema Biológico (Seccion: Archivos recientes).

Page 152: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

141

C.U Correr Simulación.

Page 153: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

142

C.U Consultar Gráficos.

Page 154: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

143

C.U Consultar Gráficos de Substratos.

Page 155: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

144

C.U Salvar Imagen del Gráfico.

C.U Solicitar Historial de Biomasa

Page 156: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

145

C.U Solicitar Distribución de Flujos.

Page 157: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

146

C.U Solicitar Matriz de Concentración.

C.U Salvar Datos.

Page 158: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

147

ANEXO VII: INTERFACES DE LA APLICACIÓN

Interfaz del Explorador del Modelo (sección de los Compartimientos).

Page 159: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

148

Interfaz del Explorador del Modelo (sección de las Especies).

Page 160: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

149

Interfaz del Explorador del Modelo (sección de las Reacciones).

Page 161: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

150

Interfaz del Explorador del Modelo (Listado de todas las Reacciones del

Modelo).

Page 162: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

151

ANEXO VIII: INTERFACES DE LAS HERRAMIENTAS ESPECIALIZADAS DE LA

APLICACIÓN.

Interfaz del Área de Gráficos.

Page 163: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

152

Interfaz para la Distribución de Flujos de la Red.

Page 164: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

153

Interfaz del Historial de Biomasa.

Interfaz de la Matriz de concentración.

Page 165: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

154

ANEXO VIIII: MÉTRICAS DEL CÓDIGO DE LA APLICACIÓN

Métrica Valor

Maintainability Index 82

Cyclomatic Complexity 831

Depth of Inheritance 7

Class Coupling 206

Lines of Code 5,058

Page 166: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

155

ANEXO X: CASOS DE PRUEBA

Caso de

Uso:

Cargar Sistema Biológico.

Caso de

prueba:

Cargar un sistema biológico desde un archivo .xml, que no está

estructurado según las directivas del sbml.

Entrada:

El usuario necesita cargar el sistema biológico desde el archivo.

El archivo pasa el filtro del cuadro de dialogo “Open Sbml Model”, por

ser .xml.

El archivo no es un formato sbml válido.

Resultado:

Se muestra un mensaje de error informándole al usuario que el

formato no es el esperado/soportado por el sistema.

Condiciones:

El sistema se mantiene en su estado original.

No se permite que se ejecuten los casos de uso relacionados con

“Cargar Sistema Biológico”, los cuales necesitan la información del

mismo.

Page 167: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

156

Caso de

Uso:

Consultar Gráfico de Substratos

Caso de

prueba:

Consultar los gráficos para substratos, cuando no hay substratos

graficables.

Entrada:

El usuario desea consultar los gráficos de substratos, una vez

terminada la simulación.

El grafico de biomasa se encuentra disponible, pero ningún substrato

graficable fue hallado.

Resultado:

El gráfico para los substratos se muestra vacío y sin posibilidades de

selección (A) de algún substrato.

Condiciones: No se obtienen gráficos para los substratos.

A

Page 168: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

157

Caso de

Uso:

Correr simulación

Caso de

prueba:

Correr una simulación, con los parámetros iniciales en un formato

incorrecto.

Entrada:

1.1. El usuario intenta correr una simulación, con el parámetro

inicial (biomasa) en un formato que no es el esperado por el

sistema.

1.2. El usuario intenta correr una simulación, con el parámetro

inicial (Time Step) en un formato que no es el esperado por el

sistema.

1.3. El usuario intenta correr una simulación, con el parámetro

inicial (n Steps) en un formato que no es el esperado por el

sistema.

1.4. El usuario intenta correr una simulación, con un valor de

concentración para alguno de los substratos de intercambio,

en un formato que no es el esperado.

1.5. . El usuario intenta correr una simulación, con un valor de Lb

para alguno de los substratos de intercambio, en un formato

que no es el esperado.

Resultado:

1.1. Se muestra el mensaje:

1.2. Se muestra el mensaje:

Page 169: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

158

1.3. Se muestra el mensaje:

1.4. Se muestra, en correspondencia con el substrato que sea, el

mensaje:

1.5. Se muestra, en correspondencia con el substrato que sea, el

mensaje:

Condiciones:

No se inicia la simulación, mientras que los parámetros permanezcan

incorrectos, ni se ejecutan los casos de uso relacionados con este y

necesitan de la información que en las simulaciones se genera.

Page 170: Análisis dinámico del balance de flujos metabólicos (DFBA)

ANEXOS

159

Caso de

Uso:

Modificar límites de la Reacción

Caso de

prueba:

Modificar los límites de la reacción, cuando los valores entrados no

están en el formato esperado.

Entrada:

1.1. El usuario intenta modificar el límite inferior (Lb) de una

reacción, pero el valor entrado no está en el formato esperado.

1.2. El usuario intenta modificar el límite superior (Ub) de una

reacción, pero el valor entrado no está en el formato esperado.

Resultado:

1.1. El sistema muestra el mensaje:

1.2. El sistema muestra el mensaje:

Condiciones: Los límites de la reacción conservan su valor por defecto.