colegio de postgraduados...colegio de postgraduados, 2009. abstract this work proposes an algorithm...

65
i COLEGIO DE POSTGRADUADOS INSTITUCIÓN DE ENSEÑANZA E INVESTIGACIÓN EN CIENCIAS AGRÍCOLAS CAMPUS MONTECILLO POSTGRADO DE SOCIOECONOMÍA, ESTADÍSTICA E INFORMÁTICA ESTADÍSTICA ALGORITMOS DE EVOLUCIÓN DIFERENCIAL PARA LA ESTIMACIÓN DE MODELOS DE MARKOV OCULTOS, USADOS EN LA IDENTIFICACIÓN DE EXONES EVELIO HERNÁNDEZ JUÁREZ TESIS PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS MONTECILLO, TEXCOCO, EDO. DE MEXICO. 2009

Upload: others

Post on 01-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

i

COLEGIO DE POSTGRADUADOS

INSTITUCIÓN DE ENSEÑANZA E INVESTIGACIÓN EN CIENCIAS AGRÍCOLAS

CAMPUS MONTECILLO

POSTGRADO DE SOCIOECONOMÍA, ESTADÍSTICA E INFORMÁTICA

ESTADÍSTICA

ALGORITMOS DE EVOLUCIÓN DIFERENCIAL PARA LA

ESTIMACIÓN DE MODELOS DE MARKOV OCULTOS, USADOS EN LA

IDENTIFICACIÓN DE EXONES

EVELIO HERNÁNDEZ JUÁREZ

TESIS

PRESENTADA COMO REQUISITO PARCIAL

PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS

MONTECILLO, TEXCOCO, EDO. DE MEXICO.

2009

Page 2: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

ii

La presente tesis titulada: ALGORITMOS DE EVOLUCIÓN DIFERENCIAL PARA LA

ESTIMACIÓN DE MODELOS DE MARKOV OCULTOS, USADOS EN LA

IDENTIFICACIÓN DE EXONES, realizada por el alumno: Evelio Hernández Juárez, bajo la

dirección del Consejo Particular indicado, ha sido aprobada por el mismo y aceptada como

requisito parcial para obtener el grado de:

MAESTRO EN CIENCIAS

SOCIOECONOMÍA, ESTADÍSTICA E INFORMÁTICA

ESTADÍSTICA

CONSEJO PARTICULAR

CONSEJERO ________________________________

Dr. Gustavo Ramírez Valverde

ASESOR ________________________________

Dr. Irineo López Cruz

ASESOR ________________________________

Dr. Javier Suárez Espinosa

ASESOR ________________________________

Dr. Paulino Pérez Rodríguez

MONTECILLO, TEXCOCO, EDO. DE MEXICO. NOVIEMBRE DE 2009.

AGRADECIMIENTOS

Page 3: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

iii

Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico brindado en

la realización de mis estudios.

Al Colegio de Postgraduados, por la oportunidad de continuar mi preparación personal y

profesional.

A los integrantes del consejo particular por su orientación y apoyo en este trabajo.

Al Dr. Gustavo Ramírez Valverde, por su gran apoyo y por el tiempo dedicado.

A mis padres y hermanos, por el apoyo y confianza que me han brindado siempre.

A mis maestros y a todas aquellas personas que de forma directa o indirecta contribuyeron a la

culminación de este trabajo.

Page 4: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

iv

DEDICATORIA

A Ernesto y Rosario. ¿Qué sería de mi vida sin ustedes?

Page 5: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

v

INDICE

I. INTRODUCCIÓN………………………………………………………… …………… 1

II. OBJETIVOS…….………………………………………………………………….…. 2

III. MARCO CONCEPTUAL……….………………………………………………….. 3

3.1. ADN……..………………………………………………………………….. 3

3.1.1. TRANSCRIPCIÓN Y TRADUCCIÓN ………………………… 5

3.1.2. PREDICCIÓN DE GENES………………………………………… 8

3.2. PROCESOS ESTOCÁSTICOS……...……………………………………. 11

3.2.1 PROPIEDAD MARKOVIANA….………………………………….. 11

3.2.2. MODELOS DE MARKOV OCULTOS……...…………………….. 13

3.2.2.1. ELEMENTOS DE UN HMM……...………………………. 14

3.2.2.2. LOS TRES PROBLEMAS BASICOS DE UN HMM……. 15

3.3. EVOLUCIÓN DIFERENCIAL….………………………………………… 25

3.3.1. ESTRUCTURA DE LA POBLACIÓN…………………...……… 25

3.3.2. MUTACIÓN………………………..………………….…………… 26

3.3.3. RECOMBINACIÓN………………………..…….……….……….. 26

3.3.4. SELECCIÓN………………………..…………………….………… 27

3.3.5. VARIANTES DE ED………………………..…………………….… 27

IV. MATERIALES Y METODOS…………………………………………….…………… 31

4.1. IMPLEMENTACION DEL ALGORITMO ED……………………………... 31

4.2. DESCRIPCIÓN DE LOS EXPERIMENTOS………………………….......... 34

4.2.1. EXPERIMENTO A…………………………………………………… 34

4.2.2. EXPERIMENTO B…………………………………………………… 35

4.2.3. EXPERIMENTO C…………………………………………………. 36

4.2.4. EXPERIMRNTO D…………………………………………………. 36

V. RESULTADOS Y DISCUSIÓN………………………………………….…………….. 38

5.1 EXPERIMENTO A…………………………………………………………….. 38

5.2. EXPERIMENTO B……………………………………………….…………… 39

5.3. EXPERIMENTO C……………………………………………………………. 40

5.4. EXPERIMENTO D………………………………………………………….... 40

Page 6: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

vi

VI. CONCLUSIONES…………………………………………………………………….. 43

VII. ANEXOS………..……………………………………………………………………… 44

VI. REFERENCIAS………………………………………………………………….……. 54

Page 7: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

vii

ALGORITMOS DE EVOLUCIÓN DIFERENCIAL PARA LA ESTIMACIÓN DE

MODELOS DE MARKOV OCULTOS, USADOS EN LA IDENTIFICACIÓN DE

EXONES.

EVELIO HERNÁNDEZ JUÁREZ, M. C.

COLEGIO DE POSTGRADUADOS, 2009.

RESUMEN.

En éste trabajo se propone un algoritmo basado en evolución diferencial (ED) para estimar al

conjunto de parámetros que caracteriza un modelo de Markov oculto (HMM). Dicho modelo se

usa para distinguir en un gen, regiones codificantes de proteínas (exones) de regiones no

codificantes (intrones), empleando para ello solo información de la secuencia.

Muchos de los parámetros en los HMM pueden ser desconocidos y deben ser estimados, para lo

cual se emplea máxima verosimilitud. El algoritmo de reestimación de Baum-Welch es la técnica

más empleada para estimar dichos parámetros; sin embargo este algoritmo lleva solo a máximos

locales. Al implementar el algoritmo basado en ED tanto en secuencias simuladas como reales, se

obtuvieron mejores estimaciones de los parámetros en términos de verosimilitud, que los que

produce la técnica de Baun-Welch.

Palabras clave: Regiones codificantes, Evolución Diferencial, Modelos de Markov ocultos.

Page 8: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

viii

DIFFERENTIAL EVOLUTION ALGORITHMS FOR ESTIMATION OF HIDDEN

MARKOV MODELS, USED IN THE IDENTIFICATION OF EXON

EVELIO HERNÁNDEZ JUÁREZ, M. C.

COLEGIO DE POSTGRADUADOS, 2009.

ABSTRACT

This work proposes an algorithm based on differential evolution (DE) to estimate the parameter

set that characterizes a Hidden Markov Model (HMM). Such model is used to distinguish in a

gene, protein-coding regions (exons) from non coding regions (introns) by using only information

of the sequence.

Most of parameters in HMM may be unknown and must be estimated, for which maximum

likelihood is used. Baum-Welch re-estimation algorithm is the most widely used technique to

estimate such parameters; however this algorithm leads only local maximums. Best estimations

of the parameters in terms of likelihood were obtained than Baum-Welch’s technique, when

algorithm based on ED was used on simulated sequences and real sequences.

Key words: Coding regions, Differential Evolution, Hidden Markov Models.

Page 9: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

1

I. INTRODUCCIÓN.

Toda secuencia de ADN esta formada por cuatro nucleótidos, cada uno se caracteriza por una

base distinta: Adenina (A), Citosina (C), Guanina (G) y Timina (T). Para organismos eucariontes,

en un gen además de las regiones codificantes de proteínas (exones) se encuentran regiones no

codificantes llamadas intrones. (Lewin, 2006)

Los modelos de Markov ocultos (HMM por sus siglas en ingles) son procesos estocásticos en los

que los estados no son observables, y solo se expresan a través de un conjunto de emisiones que

si son observables; estos modelos fueron usados para al reconocimiento de voz (Rabiner, 1989),

posteriormente se mostró su eficacia para la modelación de secuencias biológicas (Durbin et al.,

1998). Por otra parte, han revelado un buen desempeño en la predicción de la estructura biológica

de secuencias (Asai et al., 1993). Y en 2004 fueron usados para la predicción de la estructura

secundaria de proteínas (Won, J.-K. et al).

Un HMM queda completamente definido por un conjunto de parámetros , los cuales son

desconocidos y deben ser estimados. Una de las formas para realizar dicha estimación es máxima

verosimilitud, es decir, se debe escoger de tal forma que maximice la probabilidad OP ,

donde O representa una secuencia de observaciones.

Para seleccionar , regularmente se usa el algoritmo de reestimación de Baum-Welch; Rabiner

(1989) menciona que la efectividad de esta metodología depende del valor inicial de los

parámetros, el cual comúnmente se escoge de manera aleatoria, por tanto este algoritmo suele

converger a óptimos locales; también comenta que en la mayoría de las aplicaciones de interés la

superficie de optimización es muy compleja y tiene muchos máximos locales.

Según Storn y Price (1995) evolución diferencial (ED) es un método de búsqueda estocástica que

converge al óptimo global y comparado con otras metodologías, requiere menor tiempo

computacional. En el presente trabajo se propone un algoritmo basado en ED para estimar los

parámetros de un modelo de Markov oculto, el cual se usa para distinguir si cada nucleótido en

un gen es codificante o no, usando solo información de la secuencia.

Page 10: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

2

II. OBJETIVOS.

Diseñar un algoritmo basado en ED, para encontrar valores de los parámetros de un HMM

que maximicen la función OP .

Comparar el algoritmo propuesto contra el algoritmo Baum-Welch, bajo los siguientes

criterios:

a) valor de OP .

b) número de observaciones clasificadas correctamente.

Probar al algoritmo propuesto en secuencias reales de ADN, en cuanto al número de bases

clasificadas correctamente.

Page 11: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

3

III. MARCO CONCEPTUAL.

3.1 ADN.

Ringo (2004) afirma que el ácido desoxirribonucleico, frecuentemente abreviado como ADN (y

también DNA, del inglés Deoxyribonucleic Acid), es una macromolécula que contiene la

información genética usada en el desarrollo y el funcionamiento de los organismos vivos

conocidos y de algunos virus.

Singer (1993) menciona que el ADN de todos organismos esta formado por los mismos

componentes llamados nucleótidos, y cada uno de estos, a su vez, está formado por un azúcar,

una base nitrogenada y un grupo fosfato que actúa como enganche entre los nucleótidos.

Los grupos fosfato, forman enlaces fosfodiéster entre los átomos de carbono tercero (3′) y quinto

(5′) de dos anillos adyacentes de azúcar. La formación de enlaces asimétricos implica que cada

hebra de ADN tiene una dirección. En una doble hélice, la dirección de los nucleótidos en una

hebra (3′ → 5′) es opuesta a la dirección en la otra hebra (5′ → 3′).

Las cuatro bases nitrogenadas que se encuentran en el ADN son adenina (A), citosina (C),

guanina (G) y timina (T). Ringo (2004) asevera que cada una de estas se clasifican en dos

grupos: las bases púricas o purinas (adenina y guanina) formadas por dos anillos unidos entre sí,

y las bases pirimidínicas o pirimidinas (citosina y timina), derivadas de la pirimidina las cuales

cuentan con un solo anillo que las une.

En los ácidos nucléicos existe una quinta base pirimidínica, denominada uracilo (U), que

normalmente ocupa el lugar de la timina en el ácido ribonucleico (ARN).

La doble hélice de ADN se mantiene estable mediante la formación de puentes de hidrógeno

entre las bases asociadas a cada una de las dos cadenas entrelazadas (hebras).

Los puentes de hidrógeno pueden romperse y formarse de nuevo de forma relativamente sencilla.

Por esta razón, las dos hebras de la doble hélice pueden separarse bien por fuerza mecánica o por

alta temperatura (Clausen-Schaumann, 2000).

Page 12: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

4

Cada tipo de base en una hebra forma un enlace únicamente con un tipo de base en la otra hebra,

lo que se denomina "complementariedad de las bases". Según esto, las purinas forman enlaces

con las pirimidinas, de forma que A se enlaza sólo con T, y C sólo con G. La organización de dos

nucleótidos apareados a lo largo de la doble hélice se denomina apareamiento de bases.

Las bases nitrogenadas tienen una serie de características que les confieren unas propiedades

determinadas. Una característica importante es su carácter aromático, ello les confiere la

capacidad de absorber luz en la zona ultravioleta del espectro en torno a los 260 nm, lo cual

puede ser aprovechado para determinar la concentración existente de los ácidos nucléicos. (Berg,

2002)

Según Lewin (2006) el gen es la unidad fundamental de la herencia y cada uno de estos es parte

de una secuencia continua de ADN. La secuencia de nucleótidos en el ADN es importante no por

propia estructura, si no por que codifica una secuencia de aminoácidos que constituyen la

correspondiente proteína. La relación entre una secuencia de ADN y la secuencia correspondiente

de proteínas es llamada código genético.

Según Singer (1993) las investigaciones de mediados de los años 50 revelaron las características

moleculares del código genético y cómo este se traduce durante la síntesis de proteínas. Además

comenta que el código genético se reveló constante, prácticamente el mismo en todos los

organismos y las reglas generales para traducir los mensajes codificados genéticamente resultaron

ser también universales.

En el mismo texto Singer (1993) continúa, con la afirmación: el diccionario genético contiene

sesenta y cuatro codones, cada uno de los cuales está compuesto por tres nucleótidos contiguos

en una cadena de ADN (Fig. 1), sesenta y uno de estos codones especifican aminoácidos, y cada

triplete codifica un único aminoácido.

Page 13: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

5

Fig. 1. El código genético. Tomada de Griffiths, et al (2002).

Uno de estos tripletes (AUG) además de codificar al aminoácido metionina, señala el inicio de las

secuencias de ADN que codifican proteínas. Cualquiera de los tres tripletes restantes (UAA,

UAG o UGG) puede señalar el final de la cadena codificada. Algunos aminoácidos pueden ser

especificados por más de un codón, pero ningún codón especifica a más de un aminoácido.

3.1.1 TRANSCRIPCIÓN Y TRADUCCIÓN.

De acuerdo con Lewin (2006) la expresión de un gen en forma de proteína requiere que el ADN

sea transcrito a ARN (Fig. 2). Este proceso es catalizado por ARN polimerasas, que son enzimas

que sintetizan cadenas de ARN, copiando la secuencia de nucleótidos de una de la hebras del

ADN, siguiendo las reglas de apareamiento entre bases complementarias. Los genes que

codifican proteínas producen ARN mensajeros (ARNm) llamados así porque transportan el

mensaje contenido en el ADN e intervienen directamente en la síntesis de proteínas.

Fig. 2 Transcripción de dos genes. Tomada de Griffiths, et al (2002).

Page 14: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

6

Singer (1993) comenta que algunos genes no codifican proteínas, en lugar de ARNm, su

transcripción produce moléculas de ARN que son necesarias para la maduración de los diferentes

tipos de ARN y para la traducción de las secuencias de los ARNm para generar proteínas.

El proceso mediante el cual una secuencia de nucleótidos es traducida a una cadena proteica es

complejo e implica un gran número de pasos iterativos. Los ribosomas que contienen más de

cincuenta proteínas diferentes y tres clases de ARN catalizan la traducción a proteínas de los

ARNm. El ensamblaje de una cadena de proteínas empieza cuando los ribosomas se unen al

ARNm. La cadena de proteínas se alarga aminoácido por aminoácido, uno por vez a medida que

el ribosoma se desplaza codón por codón a lo largo de ARNm (Fig. 3).

Fig. 3 Adición de un aminoácido a la cadena polipeptídica creciente durante la traducción del ARNm.

Tomada de Griffiths, et al (2002).

Cada aminoácido esta unido a un ARN de transferencia (ARNt) apropiado, que contiene un

triplete (anticodon) que es complementario al triplete codificante en el ARNm (Fig. 4). El

apareamiento entre el codón y el anticodón coloca al aminoácido correcto en su sitio y permite la

unión de los nuevos aminoácidos al extremo en crecimiento de la cadena proteica. Cada vez que

un ribosoma recorre la longitud total de la secuencia codificante del ARNm se sintetiza una

molécula completa de la proteína correspondiente.

Page 15: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

7

Fig. 4. a) Secuencia especifica de ARNt de la alanina de levadura. b) Esquema de la estructura

tridimensional real del ARNt de la fenilalanina de levadura. Tomadas de Griffiths, et al (2002).

Lewin (2006) menciona que en procariontes ambos procesos transcripción y traducción ocurren

en el mismo sitio ya que estos organismos carecen de un núcleo definido (Fig. 5 a). En

organismos eucariontes el resultado inmediato de la transcripción es llamado pre-ARNm y debe

ser transportado al citoplasma para que se lleve a cabo la traducción. El pre-ARNm requiere un

proceso para generar el ARNm maduro (Fig. 5 b).

Fig. 5. a) Transcripción y traducción en procariontes. b) Transcripción y traducción en eucariontes.

Tomadas de Lewin (2006).

a) b)

a) b)

Page 16: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

8

Un paso crucial en el proceso de la expresión de un gen es la edición del ARNm, ya que el pre-

ARNm contiene regiones que no codifican proteínas (intrones), en el proceso de edición estas

regiones son eliminadas y así se genera el ARNm maduro, el cual consta solo de secuencias que

codifican proteínas (exones).

3.1.2. PREDICCIÓN DE GENES.

Según Mount (2004) el propósito de la predicción de genes es identificar regiones de ADN que

codifican proteínas.

De acuerdo con Rogic (2000) existen varios métodos para el descubrimiento experimental de los

genes, pero son lentos y costosos. En consecuencia se han desarrollado métodos computacionales

para el descubrimiento de genes.

Las secuencias de ADN que codifican proteínas no son cadenas aleatorias de codones, si no una

lista en un orden específico de estos, el cual refleja el origen evolutivo de un gen y las

restricciones asociadas con la expresión de los genes, esto puede ser usado para encontrar

regiones de ADN que codifican proteínas.

Según Mount (2004) el método más simple para encontrar secuencias de ADN que codifican

proteínas es buscar marcos de lectura abiertos (ORF, por sus siglas en inglés). El punto de inicio

de la traducción de una secuencia de nucleótidos se conoce como marco de lectura (Lewin,

2006). Un marco de lectura que consiste de exclusivamente de tripletes que representan

aminoácidos se llama marco de lectura abierto.

Hay seis posibles marcos de lectura en cada secuencia de ADN, tres inicios en las posiciones 1, 2

y 3 en dirección 5’ a 3’ de una hebra, y otros tres inicios en la dirección 5’ a 3’ de la hebra

complementaria (Mount, 2004).

Una secuencia que se traduce en una proteína tiene un marco de lectura que inicia con un codón

especial de iniciación (AUG) y se extiende como una serie de tripletes que representan

aminoácidos hasta que se llega a uno de tres codones de finalización (Lewin, 2006).

Page 17: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

9

Se han establecido diferentes enfoques para la búsqueda de genes, Rogic (2000) los describe

como sigue:

BÚSQUEDA DE SIMILITUDES DE SECUENCIAS.

Se basa en la conservación de las secuencias, y se utiliza para buscar en las regiones similares

entre la secuencia de interés no caracterizada y las secuencias ya caracterizadas en una base de

datos.

Si una secuencia de consulta es similar a una secuencia ya caracterizada (ADN o proteínas), se

puede asumir que estas dos secuencias son homólogas, es decir, tienen origen evolutivo común.

ESTADÍSTICAS CODIFICANTES Y DETECCIÓN DE SEÑALES.

El segundo enfoque computacional para la predicción de estructuras genéticas en secuencias de

ADN genómico, integra estadísticas codificantes con detección de señales en un marco, a este

tipo de búsqueda también se le conoce como encontrar genes ab initio. Las estadísticas

codificantes son medidas indicativas de una función de codificación de proteínas, estas medidas

están basadas en el supuesto de que las regiones codificantes se comportan de manera

estadísticamente diferente a las regiones no codificantes.

Las metodologías para detectar señales intentan imitar los procesos que ocurren dentro de la

célula. Están destinadas a identificar señales, por lo general subsecuencias de varios nucleótidos

que son reconocidos por la maquinaria celular y son los indicadores de ciertos procesos. Las

señales que suelen ser modeladas por los programas predicción de genes son: elementos

promotores, codones de iniciación o de parada, sitios de edición (splice sites). Se han usado

muchos métodos de reconocimiento de patrones para detectar señales incluyendo secuencias de

consenso simple, matrices ponderadas, redes neuronales, y árboles de decisión.

Las señales en secuencias de ADN contienen poca información, suelen ser degeneradas y poco

específicas, ya que es casi imposible distinguir realmente las señales procesadas por la célula de

las que aparentemente no son funcionales. Por lo tanto, las metodologías para detectar señales no

Page 18: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

10

son suficientes para dilucidar la estructura del gen y es necesario combinarlas con métodos que

usan estadísticas codificantes con el fin de obtener un poder predictivo satisfactorio.

Existen programas computacionales que usan tanto búsqueda de señales como estadísticas

codificantes, tales como GeneMark.hmm (Lukashin y Borodovski, 1998), GENSCAN (Burge,

1997) y HMMgene (Krogh, 1997), estos están basados modelos de Markov ocultos de quinto

orden.

Además de los anteriores, en la literatura se han reportado diferentes métodos y programas

computacionales que ofrecen alternativas para la predicción de genes, por ejemplo:

Nielsen y Krogh (1998) generaron un modelo basado en HMM que puede ser utilizado para

predecir la ubicación del sitio de inicio del proceso de edición.

Stanke y Waack (2003) desarrollaron un nuevo programa, llamado AUGUSTUS, para la

predicción ab initio de los genes que codifican proteínas en la genomas eucariontes. El programa

se basa en modelos de Markov ocultos y se integra una serie de métodos conocidos y

submodelos.

Parra, et al. (2003) describen un programa de predicción de genes (SGP2), que combina la

predicción de genes ab initio con búsquedas entre dos secuencias del genoma para proporcionar

predicciones sensibles y específicas. Además Parra y sus colaboradores sugieren que la

conservación de secuencias a nivel de proteínas en el genoma del ratón puede ayudar a eliminar

algunos de los falsos positivos en el genoma humano.

“Todavía tenemos un largo camino por recorrer antes de que podamos descifrar la estructura

exónica precisa de cada gen en el genoma humano, usando solamente metodología

computacional”(Guigo, 2000).

Page 19: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

11

3.2. PROCESOS ESTOCÁSTICOS.

Taylor (1998) define un proceso estocástico como una familia de variables aleatorias tX ,

donde t es un parámetro que corre sobre un conjunto fijo de índices T. En una situación común, el

índice t corresponde a unidades discretas de tiempo, y el conjunto de índices es ,2,1,0T . En

general tX representa una característica de interés medible en el tiempo t.

El conjunto S de todos los posibles valores asociados a un proceso estocástico se define como

espacio de estados. El valor asociado a kX es el estado del proceso en el tiempo k. Si S contiene

valores discretos el proceso estocástico se denomina discreto; de otra forma, el proceso

estocástico es continuo. Cualquier secuencia de valores asociados a un proceso estocástico se

define como una realización del proceso.

3.2.1 PROPIEDAD MARKOVIANA.

Andrei Andreivich Markov (1856-1922) fue un matemático ruso que postuló el principio de que

existen ciertos procesos estocásticos cuyo futuro depende únicamente de su presente y son

independientes de su pasado.

Considere un sistema el cual, en puntos específicos del tiempo, se encuentra exactamente en uno

de un conjunto de N estados, NSSS ,,, 21 , mutuamente excluyentes.

De manera formal, se dice que un proceso estocástico tX tiene la propiedad markoviana si:

011 0111 ,,,, kkktitjt SXSXSXSXSXP

t

itjt SXSXP 1

para ,2,1,0t y toda sucesión 110 ...,,,,, tkkkji .

Es decir, la probabilidad condicional de cualquier evento futuro, dados cualquier evento pasado y

el evento actual, es independiente del evento pasado y solo depende del estado actual del proceso.

Así, un proceso de markov {Xt} es un proceso estocástico con la propiedad markoviana.

Page 20: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

12

Siguiendo el texto de Davis (1986), las probabilidades condicionales itjt SXSXP 1

para

Nji ,2,1, y ,2,1,0t se llaman probabilidades de transición y se denotaran por ija .

Si para cada i y j se cumple que:

ijitjt SXSXPSXSXP 011

para toda ,2,1,0t

Entonces se dice que las probabilidades de transición (de un paso) son estacionarias. Es decir,

las probabilidades de transición no cambian con el tiempo.

La existencia de probabilidades de transición estacionarias (de un paso) también implica que,

para cada i, j y n ( ,2,1,0n )

ijnitjnt SXSXPSXSXP 0 , para toda ,2,1,0t

Estas probabilidades condicionales se denotan por )(n

ija y se conocen como probabilidades de

transición de n pasos. Así, )(n

ija es simplemente la probabilidad condicional de que la variable

X , comenzando en el estado iS , se encuentre en el estado jS , después de n pasos (unidades de

tiempo).

Nótese: que para 0n , )0(

ija es solo ij SXSXP 00 y esto es igual a 1 si i=j y es 0 si ji .

Y para n=1 )1(

ija es simplemente la probabilidad de transición de un paso.

Las probabilidades de transición deben satisfacer:

i) 10 )( n

ija ,2,1,0n

ii) N

j

n

ija1

)( 1 ,2,1,0n

Una forma conveniente de representar las )(n

ija es a través de una matriz

)()(

1

)(

0

)(

1

)(

11

)(

10

)(

0

)(

01

)(

00

)(

n

NN

n

N

n

N

n

N

nn

n

N

nn

n

aaa

aaa

aaa

A

para ,2,1,0n

Que se conoce como matriz de transición

Page 21: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

13

Prawda (1984) define una cadena de Markov como sigue:

Un proceso estocástico tQ es una cadena de Markov finita si cumple con cada una de las

siguientes propiedades.

a) Posee la propiedad de Markov.

b) El espacio de estados es finito.

c) Las probabilidades de transición son estacionarias.

d) Se conocen las probabilidades iniciales ii SQP 1 , para toda i.

Para redondear conceptos considérese el siguiente ejemplo de un modelo de Markov con tres

estados: El almuerzo en el comedor de una universidad se puede catalogar diariamente como

1S =Bueno, 2S =Regular o 3S =Malo. Se postula que el tipo de almuerzo está caracterizado por la

matriz de transición A:

4.01.05.0

3.04.03.0

5.03.02.0

ijaA

Dado este modelo y sabiendo que el almuerzo en el día 1 ( 1t ) fue bueno, se puede preguntar

¿Cuál es la probabilidad de que el almuerzo sea bueno los próximos 2 días, al siguiente sea malo

y después regular? Es decir se quiere la probabilidad de observar la secuencia 2311 ,,, SSSS

correspondiente a los tiempos 5,4,3,2t , dado el modelo anterior. Si se denota al estado en el

tiempo t como tq , entonces:

ASqSqSqSqSqP ,,,, 1125341312

3425133412131112 SqSqPSqSqPSqSqPSqSqP

32131111 aaaa

002.0)1.0()5.0()2.0()2.0(

3.2.2. MODELOS DE MARKOV OCULTOS (HMM).

Un modelo de Markov considera que cada estado corresponde a un evento físicamente

observable. Los HMM extienden el concepto para incluir el caso donde la observación es una

función probabilística del estado, es decir, en el modelo hay un proceso subyacente que no es

Page 22: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

14

observable, y solo puede ser visto a través de otro conjunto de procesos estocásticos que

producen la secuencia de observaciones.

En el ejemplo del almuerzo, considérese que el cocinero tiene dos estados de ánimo: Feliz y

Enojado. El problema es que nadie ve al cocinero, por lo que no se conoce su estado de ánimo, la

única manifestación de este son las observaciones, es decir, si el almuerzo es: Malo, Regular o

Bueno.

Así, si el cocinero está feliz:

P(Almuerzo Bueno)= )1(1b

P(Almuerzo Regular)= )2(1b

P(Almuerzo Malo)= )3(1b

y si está enojado:

P(Almuerzo Bueno)= )1(2b

P(Almuerzo Regular)= )2(2b

P(Almuerzo Malo)= )3(2b

MacDonald (1997) indica que en un HMM cada secuencia de observaciones TOOO ,, 21 es una

realización de tamaño T de un proceso estocástico de espacio de estados finito. Este proceso es

generado por dos mecanismos probabilísticos: primero, una cadena de Markov tQ con N

posibles estados y segundo, un conjunto de distribuciones de probabilidad, una para cada estado

de tQ , que produce observaciones de un conjunto finito de tamaño M.

3.2.2.1. ELEMENTOS DE UN HMM.

De acuerdo con Rabiner (1989), un HMM está caracterizada por:

1) N, el número de estados en modelo. Si bien los estados están ocultos, para muchas

aplicaciones existe frecuentemente información acerca del estado o conjunto de estados

del modelo. Se denotara a los estados como NSSSS ,,, 21 , y al estado en el tiempo t

como tq .

Page 23: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

15

2) M, el número de distintas observaciones (emisiones) por estado, dichas emisiones son la

parte observable del sistema modelado y se denotaran como MvvvV ,,, 21 . Y a la

observación en el tiempo t como tO .

3) La distribución de probabilidades de transición de los estados ijaA donde

itjtij SqSqPa 1 , Ni 1

4) La distribución de probabilidades de emisión para cada estado, )(kbB j donde

jtkj SqtenvPkb )(

Mk

Nj

1

1

5) La distribución inicial de los estados i , donde

ii SqP 1 , Ni 1

Así, para una completa especificación de un HMM se requiere de cada uno de los parámetros

mencionados. Por conveniencia, se usará la notación compacta ),,( BA para indicar el

conjunto completo de parámetros del modelo, los valores de N y M están implícitos en el tamaño

de las matrices A y B. En adelante nos referiremos a un modelo con el conjunto de parámetros ,

simplemente como el modelo .

3.2.2.2. LOS TRES PROBLEMAS BASICOS DE UN HMM.

Según Rabiner (1989) existen tres problemas que deben resolverse para hacer aplicaciones de un

HMM. Estos problemas son los siguientes:

Problema 1.

Dada una secuencia de observaciones TOOOO ,, 21 y el modelo ),,( BA , ¿Cómo

calcular de forma eficiente OP , es decir, como calcular la probabilidad de la secuencia de

observaciones, dado el modelo?

Problema 2.

Dada una secuencia de observaciones TOOOO ,, 21 y el modelo ),,( BA , ¿Cómo

escoger una secuencia de estados TqqqQ ,, 21 , que explique las observaciones?

Page 24: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

16

Nótese que los problemas 1 y 2 implican que se debe conocer el conjunto de

parámetros ),,( BA , y se debe recalcar que estos son desconocidos y deben estimarse.

Problema 3.

Dada una secuencia de observaciones TOOOO ,, 21 ¿Cómo estimar los parámetros del

modelo?

Si se estima por máxima verosimilitud, la solución involucra la evaluación y maximización de

la probabilidad OP (la cual puede ser denotada por TL ) con respecto a las matrices A, B y .

Solución del problema 1.

La probabilidad buscada es evaluada usualmente por el algoritmo Forward-Backward.

Se enlistan a continuación cuatro propiedades del proceso tO las cuales se usaran mas adelante:

1) Para Tt ,,2,1 :

tTtttttT qOOOPqOOOPqOOOP ,,,,,,,,, 212121 (1a)

(para el caso en el que t=T , 1,,, 21 tTtt qOOOP )

2) Para 1,,2,1 Tt

12121121 ,,,,,,,,,, tTttttttT qOOOPqOOOPqqOOOP (1b)

3) Para 11 Tlt

lTlllttTll qOOOPqqqOOOP ,,,,,,,, 111 (1c)

4) Para Tt ,,2,1

tTtttttTtt qOOOPqOPqOOOP ,,,,,, 211 (1d)

Las pruebas de estas propiedades se pueden encontrar en MacDonald (1997) en el Apéndice A

(pág. 203).

Según MacDonald (1997) el algoritmo Forward-Backward, consiste esencialmente en el cálculo

de la probabilidad Forward )(it y la probabilidad Backward )(it , estas se definen para todo

estado Si ,y para todo t de 1 hasta T como sigue:

Page 25: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

17

ittt SqOOOPi ,,)( 21

es decir, )(it es la probabilidad de observar la secuencia parcial tOOO 21, , y el estado iS en el

tiempo t, dado el modelo .

,,)( 21 itTttt SqOOOPi

Es decir, la probabilidad de la secuencia parcial desde t+1 hasta el final, dado el estado iS en el

tiempo t y el modelo . Por facilidad en la notación en adelante se omitirá .

Nótese ahora que para Tt ,,2,1 :

itTttitttt SqOOOPSqOOOPii 2121 ,,,)()(

itTttittit SqOOOPSqOOOPSqP ,,,,,, 2121

Usando la propiedad (1a), tenemos

itTittt SqOOOPSqPii ,,,)()( 21

itT SqOOOP ,,,, 21 (2)

entonces

TT

N

i

itT

N

i

tt LOOOPSqOOOPii ,,,,,,,)()( 21

1

21

1

De esta forma, sí es posible evaluar las probabilidades Forward y Backward para todo t, se tienen

T diferentes formas de calcular la probabilidad deseada.

Para encontrar todas las )(it y )(it nótese que:

1)( iT y )(,)( 1111111 ObSqOPSqPSqOPi iiiii para todo i

y se usan estos valores para iniciar los dos algoritmos recursivos derivados a continuación, los

cuales son validos para 1,,2,1 Tt .

Primero considere:

jttt SqOOOPj 11211 ,,,,)(

N

i

jtitt SqSqOOOP1

1121 ,,,,,

Page 26: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

18

jtitt

N

i

jtit SqSqOOOPSqSqP 1121

1

1 ,,,,,

jtitt

N

i

itjtit SqSqOOOPSqSqPSqP 1121

1

1 ,,,,

Usando (1b) y la definición de probabilidad de transición, aij, tenemos

jttittij

N

i

it SqOPSqOOOPaSqP 1121

1

,,,

Como )( 111 tjjtt ObSqOP , se llega a:

)(,,,, 1

1

21 tjij

N

i

itt ObaSqOOOP

)()()( 1

1

1

tj

N

i

ijtt Obaij

Del desarrollo anterior note que como )(it es la probabilidad de observar tOOO ,,, 21 y el

estado iS en el tiempo t, el producto ijt ai )( es entonces la probabilidad de observar la

secuencia tOOO ,,, 21 , y el estado jS en el tiempo t+1, proveniente del estado iS en el tiempo

t. Sumando este producto sobre todos los posibles estados para el tiempo t resulta la probabilidad

de tener jS en el tiempo t+1 y la secuencia tOOO 21, . Una vez hecho esto y jS conocido, se

puede ver que )(1 jt se obtiene calculando la probabilidad de la observación Ot+1 en el estado

j, es decir, la probabilidad )( 1tj Ob .

Segundo,

itTttt SqOOOPi 21,)(

it

itTtt

SqP

SqOOOP

,,, 21

N

j it

jtitTtt

SqP

SqSqOOOP

1

121 ,,,,,

N

j it

jtit

jtitTttSqP

SqSqPSqSqOOOP

1

1

121

,,,,,

Page 27: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

19

Usando (1c), y la definición de aij se tiene que:

ij

N

j

jtTtt aSqOOOP 1

121 ,,,

Y por (1d), se llega a:

ijjtTtt

N

j

jtt aSqOOOPSqOP 132

1

11 ,,,

N

j

ijttj ajOb1

11 )()(

Note que estando en iS en el tiempo t y tomando en cuenta la secuencia de observaciones para el

tiempo t+1, se deben considerar todos los posibles estados jS en el tiempo t+1, además de la

probabilidad de transición de iS a jS ( ija ) así como la probabilidad de observar Ot+1 en el estado

j ( )( 1tj Ob ) y también la secuencia parcial de observaciones del estado j ( )(1 jt ).

Solución del problema 2.

La dificultad de este problema yace en la definición de secuencia óptima de estados, es decir,

existen varios criterios de optimalidad. Por ejemplo un criterio seria escoger los estados tq que

sean individualmente más probables, dados el modelo y la secuencia de observaciones. Este

criterio maximiza el número esperado de estados correctos. Para implementar esta solución se

define la variable

,)( OSqPi itt

Es decir la probabilidad de estar en el estado iS en el tiempo t dados la secuencia de

observaciones TOOOO ,, 21 y el modelo , esta probabilidad se puede expresar en término

de variables Forward-Backward como:

N

i

tt

ttttt

ii

ii

OP

iii

1

)()(

)()()()()(

donde )(it da información de la secuencia parcial tOOO ,, 21 y del estado iS en el tiempo t,

Page 28: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

20

mientras que )(it informa del resto de la secuencia Ttt OOO ,, 21 dado el iS en t. El factor

N

i

tt ii1

)()( hace a )(it tal que:

N

i

t i1

1)(

Usando )(it es posible encontrar el estado tq en el tiempo t con mayor verosimilitud individual,

como:

)(maxarg1

iq tNi

t Tt 1

Otra posible solución sería una secuencia que maximice el número de pares correctos de estados

),( 1tt qq , o de tripletas de estados ),,( 21 ttt qqq , etc. A pesar de que estos criterios parecen

razonables para algunas aplicaciones, lo más usual es encontrar la mejor secuencia de estados

TqqqQ ,, 21 , es decir, maximizar ,OQP lo cual es equivalente a maximizar OQP , .

Una técnica formal para resolver lo anterior, está basada en programación dinámica y es llamado

Algoritmo de Viterbi, la descripción siguiente fue tomada de Rabiner (1989).

Para encontrar la mejor secuencia de estados TqqqQ ,, 21 , para una secuencia de

observaciones TOOOO ,, 21 se necesita definir:

),(max)( 2121,,, 121

ttqqq

t OOOiqqqPit

es decir, )(it es la máxima probabilidad de obtener las primeras t observaciones y terminar en

el estado iS .

Por inducción se tiene que:

)(])(max[)( 11 tjijti

t Obaij (3)

Para actualizar la secuencia de estados necesitamos el argumento que maximiza (3) para cada t y

j. Esto se hace mediante el arreglo )( jt . El procedimiento completo es como sigue:

1) Inicialización:

)()( 11 Obi ii Ni 1

Page 29: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

21

0)(1 i

2) Inducción:

)(])([max)( 11

tjijtNi

t Obaij Nj

Tt

1

2

])([maxarg)( 11

ijtNi

t aij Nj

Tt

1

2

3) Término

)]([max*1

iP TNi

)]([maxarg1

* iq TNi

T

4) Secuencia de estados.

)( *

11

* ttT qq , 1,,2,1 TTt

Solución del problema 3.

Se describe a continuación el algoritmo de Baum-Welch, el cual mediante reestimación de los

parámetros ofrece una solución al problema en cuestión. Se presenta el análisis mostrado en

MacDonald (1997).

Considérese la probabilidad de que el estado inicial sea Si, dadas las observaciones

T

iTTi

L

SqOOOPOOOSqP

121

211

,,,,,,,

Usando la ecuación (2), para t=1 tenemos que

iT SqOOOPii 12111 ,,,,)()(

Entonces:

T

TiL

iiOOOSqP

)()(,,, 11

211

(4)

Así, la ecuación (4), calculada sobre las estimaciones actuales de los parámetros, provee una

reestimación de i (que se denotara como ___

i ), es decir:

T

iL

ii )()( 11___ (5)

Page 30: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

22

Ahora nótese que, dadas las observaciones, el número esperado de ocurrencias del estado Sj es:

T

T

t

ttT

t

TjtL

jj

OOOSqP

1

1

21

)()(

,,,

(6)

Y el número esperado de ocurrencias del estado Sj para las cuales kt vO es

T

t

Tjtkt OOOSqvOP1

21 ,,,,

kt vOt

Tjt OOOSqP:

21 ,,,

T

vOt

tt

L

jjkt

:

)()(

(7)

Así, el cociente de (7) entre (6) es la proporción esperada de ocurrencias del estado Sj para las

cuales se observo vk. La siguiente expresión, calculada sobre las estimaciones actuales de los

parámetros, dan una nueva estimación de )(kb j .

T

t

tt

vOt

tt

j

jj

jj

kb kt

1

:________

)()(

)()(

)(

(8)

De forma similar se puede ver que el número esperado de transiciones desde el estado Si, dadas

las observaciones, es

T

T

t

ttT

t

TjtL

jj

OOOSqP

1

11

1

21

)()(

,,,

y el número esperado de transiciones de Si a Sj es

1

1

211 ,,,,T

t

Tjtit OOOSqSqP

1

1

211 ,,,,,T

t T

Tjtit

L

OOOSqSqP

jtit

T

t

jtitT

T

SqSqPSqSqOOOPL

1

1

1

121 ,,,,,1

Page 31: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

23

itjtit

T

t

jtitT

T

SqSqPSqPSqSqOOOPL

1

1

1

121 ,,,,1

ijit

T

t

jtitT

T

aSqPSqSqOOOPL

1

1

121 ,,,,1

Pero las propiedades (1b) y (1d) implican que:

jtitT SqSqOOOP 121 ,,,,

jtTttitt SqOOOPSqOOOP 12121 ,,,,,,

jtTttjttitt SqOOOPSqOPSqOOOP 1321121 ,,,,,,

)()(

11 jObSqP

ittj

it

t

Por tanto, el número esperado de transiciones de Si a Sj es

1

1

11 )()(T

t

ttjt

T

ijjObi

L

a

El resultado de la nueva estimación de aij es el siguiente cociente, evaluado en las estimaciones

actuales de los parámetros:

1

1

1

1

11____

)()(

)()(

T

t

tt

T

t

ttjtij

ij

jj

jObia

a

(9)

Así, sí se define el modelo actual ),,( BA y se usan las formulas (5), (8) y (9) para estimar

al modelo y se define al modelo de reestimación como ),,(________

BA , entonces se tiene el modelo

propuesto por Baum, para el cual existen dos opciones:

1) el modelo inicial define un punto crítico en la función de verosimilitud, en este caso

__

2) el modelo __

es más verosímil que el modelo , en el sentido que OPOP

__

, es

decir, se tiene un nuevo modelo __

, con el cual es más probable que haya sido producida

la secuencia de observaciones.

Page 32: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

24

Con base en este procedimiento, si se usa__

de forma iterativa en lugar de y se repite el

proceso de reestimación, se puede mejorar OP , hasta cumplir algún criterio de termino.

Las formulas de reestimación se pueden derivar directamente por maximización de la función

auxiliar de Baum:

____

,log,),( QOPOQPQQ

sobre __

. Baum et. al. en 1970 probaron que la maximización de ),(__

Q , lleva a un incremento

en la verosimilitud, es decir:

OPOPQ

____

),(max__

Eventualmente la función de verosimilitud converge a un punto crítico.

Notas acerca del procedimiento de reestimación:

Las formulas de reestimación pueden ser interpretadas como una implementación del algoritmo

EM, en el cual el paso E es el calculo de la función auxiliar ),(__

Q y el paso M es la

maximización sobre __

. Por lo tanto las ecuaciones de reestimación de Baum-Welch son en

esencia el algoritmo EM para este problema particular. Un aspecto importante del procedimiento

de reestimación es que las restricciones estocásticas (mostradas en las ecuaciones 34 a, b y c) de

los parámetros del HMM se satisfacen automáticamente en cada iteración.

11

N

i

i (10a)

11

N

j

ija Nj 1 (10b)

1)(1

M

k

j kb Nj 1 (10c)

Page 33: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

25

Rabiner (1989) indica que el algoritmo Baum-Welch lleva solo a un máximo local y que en la

mayoría de las aplicaciones de interés la superficie de optimización es muy compleja y tiene

muchos máximos locales.

Por ello surge la necesidad de explorar métodos de búsqueda global, tales como los algoritmos de

evolución diferencial.

3.3. EVOLUCIÓN DIFERENCIAL.

Rainer Storn y Kenneth Price (1995) presentaron una técnica estocástica de búsqueda

directa para resolver problemas de minimización de funciones no lineales y no

diferenciables, a la cual llamaron Evolución diferencial (ED).

A continuación se presenta la descripción de un algoritmo ED, presentada en Price, et al

(2005).

3.3.1. ESTRUCTURA DE LA POBLACIÓN.

ED emplea una población de NP vectores de parámetros de tamaño D. La población para

cada generación denotada por gxP , , está compuesta de vectores gix , los cuales contienen las

variables del problema.

max,, ,...,1,0,1...,,2,1, ggNPixP gigx

1...,,1,0,,,, Djxx gijgi

Donde el índice max,...,1,0 gg , indica la generación a la que pertenece el vector, el índice

1...,,2,1 NPi , diferencia a cada vector dentro de la población y cada variable dentro de un

vector se distingue por el índice 1...,,1,0 Dj .

Una vez generada (al azar) la población inicial, ED mediante un proceso de mutación genera una

población intermedia gvP , , de NP vectores mutantes, giv , .

max,, ,...,1,0,1...,,2,1, ggNPivP gigv

1...,,1,0,,,, Djvv gijgi

Page 34: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

26

Cada vector en la población actual se combina con un vector mutante y se produce una población

de prueba, guP ,, con NP vectores, giu , .

max,, ,...,1,0,1...,,2,1, ggNPiuP gigu

1...,,1,0,,,, Djuu gijgi

Durante la recombinación, los vectores de prueba reemplazan a la población mutante, y así para

cada generación se tienen solo dos poblaciones.

3.3.2. MUTACIÓN.

En el proceso de mutación se eligen vectores de la población actual, y se suma la diferencia

ponderada de dos de ellos a un tercero. La ecuación (11) muestra como se combinan tres vectores

diferentes seleccionados para crear un vector mutante giv , :

grgrgrgi xxFxv ,2,1,0, , max,...,1,0,1...,,2,1 ggNPi (11)

El factor de escala F, es un número real positivo que controla la razón con la cual la población

evoluciona. A pesar de que F no tiene un límite superior, comúnmente no se toma un valor mayor

a 1. El vector 0rx se puede escoger de diferentes maneras, por ahora asumiremos que se escoge

al azar, los vectores grgr xyx ,2,1 se eligen aleatoriamente, con la condición de que deben ser

todos diferentes entre sí y diferentes al índice i.

3.3.3. RECOMBINACIÓN.

Mediante la recombinación ED construye vectores de prueba giu , , en los que cada entrada giju ,,

se escoge de uno de dos valores gijx ,, o gijv ,, , es decir, ED cruza cada vector de la población

gxP , con un vector mutante, bajo el siguiente criterio:

maneraotradex

jjoCRrandsivu

gij

randjgij

gij

,,

,,

,, (12)

Para max,...,1,0,1...,,2,1 ggNPi . La probabilidad de cruzamiento 1,0CR es definida por

el usuario. Para determinar cuáles elementos del vector de prueba serán tomados del vector

mutante se compara el valor de CR con un valor generado de la distribución uniforme continua

1,0 , denotado por jrand , 1...,,1,0 Dj . Si el número aleatorio es menor o igual que CR se

Page 35: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

27

toma como toma el valor del vector mutante gijv ,,, caso contrario se copia en valor

gijx ,,.

Además se escoge un índice randj , para el cual el valor de prueba sea tomado del vector mutante

es decir, gijrandgijrand vu ,,,, , lo anterior es con el propósito de que el vector de prueba giu , difiera

al menos en un valor del vector actual gix , .

Para elegir los parámetros que hasta ahora se han mencionado, Storn y Price (1997) mencionan

que de acuerdo a su experiencia es razonable escoger NP entre 5*D y 10*D, y necesariamente

debe ser mayor que 4. Para el valor de F, usualmente un buen inicio es 0.5, si la población

converge prematuramente F o NP deben incrementarse. Un buen inicio para CR, es 0.1, valores

más grandes de este parámetro incrementen la velocidad de convergencia.

Price (1999) comenta F y CR afectan la velocidad de convergencia y la robustez de la búsqueda

del proceso, los valores óptimos de estos parámetros dependerán de las características de la

función objetivo y del tamaño de la población NP, los valores adecuados de F, CR y NP pueden

determinarse mediante prueba y error después de pocos intentos.

3.3.4. SELECCIÓN.

Si el vector de prueba giu , , obtiene un valor de la función objetivo menor o igual (considerando

un problema de minimización), que el que valor obtenido por el vector gix , , este último es

reemplazado por el vector de prueba para la siguiente generación, en caso contrario conserva su

lugar en la población por lo menos una generación más. La ecuación (39) muestra el proceso

descrito:

maneraotradex

xfufsiux

gi

gigigi

gi

,

,,,

1, max,...,1,0,1...,,2,1 ggNPi (13)

Una vez que se genera la nueva población el proceso de mutación, recombinación y selección se

repite hasta cumplir un criterio de término.

3.3.5. VARIANTES DE EVOLUCIÓN DIFERENCIAL.

Existen diferentes estrategias de ED basadas en las combinaciones de los esquemas de mutación

y recombinación que existen, Storn y Price (1997) introducen la notación:

Page 36: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

28

zyxED /// ,

donde

x especifica la manera de escoger al vector 0rx , puede ser rand, donde se elige de forma

aleatoria o best, se escoge al vector de la población con el mejor valor de la función a

optimizar, dependiendo de si el problema es de maximización o minimización.

y es el número de pares de vectores con los que se genera la diferencia que se suma a

0rx .

z representa al esquema de recombinación, los más comunes son bin, este es el esquema

representado en la ecuación (12) y exp, este esquema se representa con la ecuación

siguiente:

maneraotradex

jjoCRranddesdevu

gij

randjgij

gij

,,

,,

,,

En diversas publicaciones han sido presentadas variantes para los algoritmos ED. Desde un inicio

Storn y Price (1995) presentan dos esquemas, el primero ED/rand/1/bin, es el descrito

anteriormente, y el segundo denotado (Storn, 1996) como ED/rand-to best/1/bin, determina al

vector giv , , como sigue:

grgrgigbestgigi xxFxxxv ,2,1,,,,

este esquema introduce otra variable de control , la cual tiene las mismas características que F.

Posteriormente Price, et al (2005), presenta diferentes variantes de los esquemas, y un

estudio comparativo entre algunas de estas, las estrategias que compara son:

ED/rand/1/bin (este es el algoritmo clásico)

ED/best/1/bin

ED/target-to best/1/bin

ED/rand/1/either-or.

Una descripción detallada de estas variantes se puede encontrar en Price, et. al. (2005).En el

mismo texto se menciona que ED/best/1/bin y ED/target-to best/1/bin convergen más rápido

que ED/rand/1/bin, pero este último es más confiable, ya que falla solo con una de las 10

funciones con las que se probaron los algoritmos y en menor grado con otra de dichas

Page 37: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

29

funciones. ED/rand/1/either-or destaca por ser tanto rápido como confiable.

En Velázquez (2006) se presenta un estudio comparativo empleando las estrategias de

Evolución Diferencial listados en la cuadro 1. El estudio consistió en efectuar 100

ejecuciones independientes por cada modelo mostrado para cada una de trece funciones de

prueba.

Cuadro 1: Estrategias ED. Donde p es el número de pares de la diferencia y randj es un

valor entero tomado aleatoriamente entre 0 y el número de variables de decisión D.

ESTRATEGIA MODELO

ED/rand/p/bin

contrariocasoenx

jjoCRrandsixxFxu

ji

p

k

randjgrjgrjgrj

gijkk

,

1

,2,,1,,0,

,,

ED/rand/p/exp

contrariocasoenx

jjoCRranddesdexxFxu

ji

p

k

randjgrjgrjgrj

gijkk

,

1

,2,,1,,0,

,,

ED/best/p/bin

contrariocasoenx

jjoCRrandsixxFxu

ji

p

k

randjgrjgrjgbestj

gijkk

,

1

,2,,1,,,

,,

ED/best/p/exp

contrariocasoenx

jjoCRranddesdexxFxu

ji

p

k

randjgrjgrjgbestj

gijkk

,

1

,2,,1,,,

,,

ED/current-to-

rand/p

p

k

grgrgigrgigi kkxxFxxKxu

1

,2,1,,0,, )(

ED/current-to-

best/p

p

k

grgrgigbestgigi kkxxFxxKxu

1

,2,1,,,, )(

ED/current-to-

rand/p/bin

contrariocasoenx

jjoCRrandsixxFxxKxu

ji

p

k

randjgrjgrjgijgrjgij

gijkk

,

1

,2,,1,,,,0,,,

,,

)(

Page 38: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

30

La conclusión que obtiene es que los modelos ED/rand/l/bin y ED/best/l/bin son los

que muestran los mejores rendimientos en término de resultados y de número de

evaluaciones de la función objetivo.

Page 39: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

31

IV. MATERIALES Y METODOS.

4.1. IMPLEMENTACION DEL ALGORITMO.

En éste trabajo se propone un algoritmo basado en Evolución Diferencial, para determinar el

conjunto de parámetros de un HMM que hagan máxima OP . Para fines prácticos se busca

minimizar el valor negativo del logaritmo natural de la probabilidad de la secuencia de

observaciones O dado un modelo , OPln , lo cual es equivalente a maximizar OP .

La minimización se lleva a cabo con respecto a todos los posibles conjuntos de parámetros

),,( BA , y está sujeta a las restricciones propias del modelo, las cuales son especificadas en

las ecuaciones (10a), (10b) y (10c).

Se debe recordar que un HMM está caracterizada por:

N, el número de estados en modelo.

M, el número de distintas emisiones por estado.

La distribución de probabilidades de transición de los estados, ijaA .

La distribución de probabilidades de emisión para cada estado, )(kbB j .

La distribución inicial de los estados, .

Los algoritmos de Evolución Diferencial son un método de búsqueda que utiliza un número NP

de individuos (vectores de parámetros) como población para cada generación, donde NP es fijo

durante todo el proceso.

La población inicial se genera de forma aleatoria, ya que debe cubrir el espacio paramétrico. El

programa con el cual se construyen los individuos de la población inicial fue diseñado con el uso

del software R.2.7.0, el código computacional implementado para generar dicho conjunto de

vectores con las restricciones requeridas se presentan en el Anexo 1.

Dado que ED usa una representación vectorial de los individuos de la población, cada se

reordena como un vector, el cual contiene en sus primeras N entradas al vector , después la

Page 40: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

32

primera hilera de la matriz A, en seguida la segunda hilera, y así sucesivamente hasta llegar a la

N-esima hilera de esta matriz, y posteriormente, de forma análoga contendrá las hileras de la

matriz B. Existe una correspondencia entre la representación vectorial y el arreglo de un vector y

dos matrices ),,( BA , por lo que se puede pasar de un arreglo a otro en cualquier momento.

Una vez generada la población inicial de NP vectores, se procede a utilizar alguna de las

estrategias de evolución diferencial para generar una población de prueba. De acuerdo con lo

mencionado en Price, et. al. (2005) y con las recomendaciones de Velázquez (2006) y se decidió

usar algoritmo estándar ED/rand/1/bin.

Como la estrategia empleada para generar la población de prueba usa la diferencia de dos

vectores de parámetros seleccionados al azar como fuente de variación para un tercer vector, los

individuos resultantes en dicha población, en general no cumplirán las restricciones del modelo,

por lo que es necesario un proceso verificación de soluciones factibles y ajuste, el cual se

describe a continuación considerando el arreglo ),,( BA :

i) Si algún componente del modelo es menor que 0, a este componente se le asigna el

valor de 0.

ii) Si algún componente del modelo es mayor que 1, se le asigna a este el valor 1, y al

resto de los componentes de la hilera a la que corresponde se le asigna 0.

iii) Si la suma de alguna hilera es mayor que 1, se le resta a cada componente de esta

hilera el exceso entre el número de componentes.

iv) Si la suma de alguna hilera es menor que 1, se le suma a cada componente el

defecto entre el número de componentes.

Este ajuste resta efectividad al mecanismo de búsqueda del algoritmo, lo que implica un mayor

número de iteraciones, sin embargo es necesario para encontrar un modelo consistente con las

restricciones del problema. El programa computacional que realiza el proceso de ajuste se

presenta en el Anexo 2.

Page 41: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

33

Una vez que cada miembro de la población de prueba es una solución factible, se compara

mediante la función de aptitud cada individuo de esta población con el individuo que lo generó, y

el que obtiene mejor desempeño es que pasa a la siguiente generación.

Esta nueva población será la que genere otra población de prueba para la cual se repite el

procedimiento hasta que se cumpla una condición de término, que para nuestro caso es un

número máximo de iteraciones.

En la Fig. 6 se muestra un diagrama de flujo que ilustra el algoritmo usado.

Fig. 6. Diagrama de flujo del algoritmo generado en el presente trabajo.

Para el desarrollo del algoritmo se parte de la función “DEoptim” la cual forma parte del paquete

del mismo nombre (Ardia, 2007) para el software R.2.7.0, a la función mencionada se le

agregaron las funciones de los anexos 1 y 2, además de adecuaciones para el funcionamiento de

dicho algoritmo. En el anexo 3, se presenta la totalidad del código computacional usado,

programado para el software R.2.7.0. Al algoritmo lo denotaremos por EDHMM.

Page 42: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

34

4.2. DESCRIPCIÓN DE LOS EXPERIMENTOS.

Se realizaron cuatro experimentos con fin de comparar el algoritmo propuesto contra el

algoritmo Baum-Welch en términos del valor de la función OPln y de la cantidad de

observaciones clasificadas en el estado al que corresponden.

4.2.1. EXPERIMENTO A. Mejor valor de OPln , secuencias simuladas.

Para este experimento se simulan secuencias de observaciones de un HMM usando el

procedimiento descrito en Rabiner (1989), el cual se presenta a continuación:

Dados valores de N, M, A, B y

1) Escoger un estado inicial iSq 1 de acuerdo con la distribución inicial .

2) Hacer 1t .

3) Escoger tt vO de acuerdo con la distribución de probabilidad de emisión, es decir,

)(kb j .

4) Hacer la transición a un nuevo estado jt Sq 1 de acuerdo a la distribución de

probabilidades de transición de los estados, por estado, es decir, ija .

5) Hacer 1 tt ; regresar al paso 3 si Tt ; de otra forma terminar el proceso.

Para las secuencias se usan dos estados (N=2) y cuatro emisiones por estado (M=4), al usar estos

parámetros se pretende simular secuencias de ADN, en especifico genes, en los cuales se tienen

dos estados ocultos (exón e intrón) y cuatro emisiones observables por estado (Adenina, Citocina,

Guanina y Timina), ver Fig. 7. Los valores correspondientes a A, B, y son escogidos de manera

aleatoria.

Una vez que se tienen las secuencias simuladas se usa tanto EDHMM como Baum-Welch para

determinar, con cada algoritmo, el modelo que hace mínimo el valor de la función de interés. Se

usa cada algoritmo 10 veces en cada secuencia y se registran los valores de OPln obtenidos

en cada repetición.

Page 43: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

35

Fig. 7. Esquema con estados ocultos y emisiones observables de las secuencas simuladas.

4.2.2. EXPERIMENTO B. MEJOR VALOR DE OPln , CASINO DESHONESTO.

Para este experimento se tomo una secuencia de 300 tiradas del ejemplo del casino

ocasionalmente deshonesto presentada por Durbin, et al. (1998). El ejemplo se describe a

continuación:

Un casino tiene dos dados:

Dado justo en el que 6

1)6()5()4()3()2()1( PPPPPP

Dado cargado en el que 10

1)5()4()3()2()1( PPPPP y

6

1)6( P

El casino alterna entre el dado justo y el cargado.

El juego:

Apostamos $1.

Tiramos (siempre con un dado justo).

El casino tira (tal vez con un dado justo tal vez con un dado cargado).

El número más alto gana $2.

La Fig. 8 muestra el esquema del juego.

Page 44: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

36

Fig. 8. Esquema del juego del casino ocasionalmente deshonesto.

4.2.3. EXPERIMENTO C. BASES CLASIFICADAS CORRECTAMENTE, SECUENCIAS

SIMULADAS.

Con este experimento se pretende investigar si modelo al que corresponde el menor valor de

OPln , (de los dos encontrados, uno con cada algoritmo) es el que clasifica el mayor

número de observación en el estado al que corresponde. El experimento se describe a

continuación.

De la misma manera en la que se generan las secuencias del experimento A, se generaron

30 secuencias de tamaño 1000, y se usaron tanto EDHMM como Baum-Welch para

estimar el modelo.

Usando el algoritmo de Viterbi se escoge la secuencia de estados (intrón, exón) que mejor

explique las observaciones, dado el modelo encontrado con cada procedimiento.

Se comparan las secuencias de estados obtenidas con Viterbi, con las secuencias

simuladas de estados (que fungen como secuencias verdaderas) y se obtiene el número de

bases clasificadas correctamente.

Page 45: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

37

4.2.4. EXPERIMENTO D.

BASES CLASIFICADAS CORRECTAMENTE, SECUENCIAS REALES

De la página de Internet del NCBI (National Center for Biotechnology Information), se tomaron

dos secuencia de ADN de la mosca de la fruta (Drosophila melanogaster) , estas secuencias son

genes ya identificados y en la información adicional que contiene dicha referencia se muestra qué

partes del gen son exones y cuales son intrones. Con esta información se realizo un experimento

análogo al C.

Page 46: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

38

V. RESULTADOS Y DISCUSIÓN

Para todos los experimentos se uso evolución diferencial con los parámetros mostrados en el

cuadro 2.

Cuadro 2. Parámetros usados para ED en los experimentos.

Parámetro Valor

Estrategia RAND/1/BIN

NP 140

F 0.9

CR 0.1

Solo el parámetro número máximo de iteraciones fue diferente en cada experimento, debido a que

el incremento en el tamaño de la secuencia aumenta la complejidad al problema.

El algoritmo Baum-Welch que se usó en los experimentos fue tomado de la función HMMFit

incluida en paquete RHmm (Taramasco, 2008) para el software R.2.3.0.

5.1 EXPERIMENTO A.

El cuadro 3 muestra los diferentes resultados del valor de la función OPln obtenidos con

cada algoritmo, el dígito que se encuentra entre paréntesis corresponde al número de veces que el

algoritmo correspondiente encontró dicho valor. Así por ejemplo, la celda correspondiente al

experimento 3, para el algoritmo Baum-Welch se debe entender como: el algoritmo en cuestión

obtuvo cinco veces el valor 260.93, cuatro veces obtuvo 263.75 y una vez el valor 266.37.

Mientras que con el algoritmo EDHMM, para el mismo experimento con las diez repeticiones se

obtuvo el valor 260.93.

De acuerdo con el cuadro 3, el algoritmo propuesto en este trabajo obtiene para cada caso cuando

más el valor que se obtiene con el algoritmo Baum-Welch, y además se debe notar que con el

algoritmo EDHMM la totalidad de los ensayos llegan a un mismo valor, lo cual sugiere que este

valor es un serio candidato a ser el máximo global.

Page 47: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

39

Cuadro 3. Resultados del experimento A. Donde T es el tamaño de la secuencia.

Experimento T Baum-Welch EDHMM

1 20 16.05 (4)

16.17 (6) 16.048(10)

2 20 12.87 (10) 12.75(10)

3 200

260.93 (5);

263.75 (4);

266.37 (1)

260.93(10)

4 200

264.70 (5)

266.24 (1)

267.60 (2)

268.28 (2)

264.700(10)

El cuadro 4 muestra el número de iteraciones que se usaron en cada experimento con respecto al

tamaño de secuencia.

Cuadro 4. Numero de iteraciones por tamaño de secuencia.

T Numero de Iteraciones

20 500

200 5 000

5.2. EXPERIMENTO B.

Cabe señalar que el usar la secuencia que aparece en Durbin (1998) tiene como finalidad avalar

los resultados del experimento A, el cual usa secuencias simuladas, generadas por los autores de

este trabajo; además de hacer notar que el algoritmo EDHMM funciona con parámetros N y M

diferentes de los presentados en al experimento A.

El cuadro 5 muestra los valores obtenidos con cada algoritmo para el presente experimento, la

interpretación de cuadro es análoga a la del cuadro 4. El número de iteraciones requeridas por el

algoritmo EDHMM fue 5000.

Page 48: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

40

Nuevamente la convergencia del algoritmo basado en Evolución Diferencial fue mejor, pues las

10 optimizaciones produjeron el mismo índice de desempeño.

Cuadro 5. Resultados del experimento B.

Experimento T Baum-Welch EDHMM

1 300

513.72 (1)

514.26 (3)

514.61(2)

515.76(1)

517.55(1)

519.11(2)

513.72 (10)

5.3. EXPERIMENTO C.

Con los resultados de este experimento, los cuales se resumen en el cuadro 6, se corrobora que el

algoritmo EDHMM obtiene para cada caso, cuando más, el valor de la función OPln que se

obtiene con Baum-Welch y en la mayoría de las repeticiones obtiene un valor menor.

También debe notarse que salvo 5 casos (5, 13, 16, 19 y 22) EDHMM obtiene un mayor número

de bases clasificadas correctamente, que el algoritmo Baum-Welch.

Para este experimento se usaron los mismos parámetros mencionados en el cuadro 2, con un

número de iteraciones igual a 20,000.

5.4. EXPERIMENTO D.

Como puede observarse en el cuadro 7 los resultados de las simulaciones del experimento C son

comparables con los obtenidos con las secuencias reales. Para este par de secuencias se usaron

50,000 iteraciones en el algoritmo EDHMM.

Sin embargo nótese que los resultados difieren considerablemente para cada secuencia. Una

propuesta para mejorar los resultados es añadir información biológica que permita explicar de

mejor manera la variabilidad que existe en las secuencias de ADN.

Page 49: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

41

Cuadro 6. Resultados del experimento C. BCC es el número de bases clasificadas

correctamente.

Repetición EDHMM Baum-Welch

OPln BCC OPln BCC

1 1334.368 793 1334.39 742

2 1318.653 773 1331.09 500

3 1294.091 840 1294.23 829

4 1329.986 761 1329.99 761

5 1329.882 608 1329.9 642

6 1346.839 617 1346.84 617

7 1335.798 731 1336.77 698

8 1318.161 678 1318.17 678

9 1290.554 743 1290.56 743

10 1312.612 658 1312.61 650

11 1311.101 779 1311.12 778

12 1356.494 605 1356.51 605

13 1339.27 751 1339.28 756

14 1354.514 648 1356.13 488

15 1284.302 704 1284.3 704

16 1338.182 567 1340.45 596

17 1315.906 775 1329.25 510

18 1298.79 785 1298.79 785

19 1331.494 614 1331.49 688

20 1340.49 771 1349.26 771

21 1322.282 803 1333.65 517

22 1309.602 767 1309.61 772

23 1347.241 653 1347.27 644

24 1340.917 625 1340.9 625

25 1339.515 755 1346.29 445

26 1335.886 711 1346.21 487

27 1311.64 609 1311.62 609

28 1346.613 799 1352.21 713

29 1322.467 692 1322.47 683

30 1337.972 835 1337.98 835

Promedio 1326.52 715 1328.98 662.3

Page 50: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

42

Cuadro 7. Resultados del experimento D.

Secuencia T

EDHMM Baum-Welch

OPln BCC % OPln BCC %

1 1963 2697.270 1778 90.57 2703.06 1362 69.4

2 3816 5197.95 1564 67.1 5197.95 1564 67.1

Observaciones generales.

Debe mencionarse que el tiempo computacional requerido por el algoritmo EDHMM es

considerablemente superior al que se requiere con Baum-Welch. Ya que con el primero cada

optimización tarda alrededor de 2 horas, con el segundo solo toma unos minutos.

No se llevo a cabo un proceso formal de experimentación para determinar los parámetros NP, F y

CR usados en el algoritmo EDHMM, solo se partió de recomendaciones como las descritas en

Storn y Price (1997) y Price (1999) y a prueba y error se determinaron los parámetros que no

produjeron convergencia prematura.

En cuanto al número máximo de iteraciones, solo se hicieron intentos con valores inferiores a los

que después se tomaron como definitivos, y estos últimos se escogieron ya que después de

muchas generaciones ya no producían cambios en la función de interés.

Page 51: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

43

VI. CONCLUSIONES

El algoritmo propuesto (el cual está basado en evolución diferencial) provee soluciones

factibles para la estimación de los parámetros de un HMM.

En correspondencia con el marco teórico el algoritmo Baum-Welch suele converger a

óptimos locales, mientras que el algoritmo EDHMM muestra consistencia en los valores a

los que converge.

El conjunto de parámetros estimados por el algoritmo EDHMM ( ED ), obtiene para cada

repetición de los experimentos descritos, un valor de la función de interés menor o igual

al que se obtiene con el conjunto de parámetros escogidos con el algoritmo Baum-Welch,

BW , es decir BWED OPOP lnln .

En más del 80% de las secuencias analizadas, el algoritmo EDHMM clasifica de manera

correcta un mayor número de observaciones que algoritmo Baum-Welch.

El desempeño del algoritmo propuesto en datos reales, difiere considerablemente entre

secuencias.

Para obtener mejores resultados en términos de clasificación, para investigaciones futuras, se

sugiere incorporar información biológica al algoritmo EDHMM, ya que este solo usa información

de la secuencia.

Page 52: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

44

VII. ANEXOS

ANEXO 1. FUNCIÓN PARA R.2.7.0.

Sirve para generar de forma aleatoria vectores que cumplan con las restricciones de un

HMM.

lambda<-function(N,M) {

d<-sample(1:N)

P<-c(matrix(0,1,N))

P[d[1]]=runif(1)

if (N==2) {

P[d[2]]=1-P[d[1]] }

if (N>2) {

su=P[d[1]]

for (e in 2:(N-1)) {

P[d[e]]=runif(1)

while (su+P[d[e]]>1) {

P[d[e]]=runif(1) }

su=su+P[d[e]] }

P[d[N]]=1-su }

A<-matrix(0,N,N)

f<-matrix(0,N,N)

for (i in 1:N){

f[i,]<-sample(1:N) }

for(k in 1:N) {

A[k,f[k,1]]=runif(1)

if (N==2) {

A[k,f[k,2]]=1-A[k,f[k,1]] }

if (N>2) {

su=A[k,f[k,1]]

for (e in 2:(N-1)) {

A[k,f[k,e]]=runif(1)

Page 53: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

45

while (su+A[k,f[k,e]]>1) {

A[k,f[k,e]]=runif(1) }

su=su+A[k,f[k,e]] }

A[k,f[k,N]]=1-su } }

B<-matrix(0,N,M)

f<-matrix(0,N,M)

for (i in 1:N){

f[i,]<-sample(1:M) }

for(k in 1:N) {

B[k,f[k,1]]=runif(1)

if (M==2) {

B[k,f[k,2]]=1-B[k,f[k,1]] }

if (M>2) {

su=B[k,f[k,1]]

for (e in 2:(M-1)) {

B[k,f[k,e]]=runif(1)

while (su+B[k,f[k,e]]>1) {

B[k,f[k,e]]=runif(1) }

su=su+B[k,f[k,e]] }

B[k,f[k,M]]=1-su }

}

lambda<-conv.ML(P,A,B) }

ANEXO 2. FUNCIÓN PARA R.2.7.0

Lleva a cabo el proceso de ajuste.

arre<-function(X)

{

X=as.matrix(X)

c=ncol(X)

if(c==1){X<-t(X)}

Page 54: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

46

c<-ncol(X)

h<-nrow(X)

for (k in 1:h){#loop principal

x<-X[k,]

#si una entrada es mayor que 1

for (i in 1:c){

if (x[i]>1){

x[i]=1

for (j in 1:c){

if(j!=i){

x[j]=0 } } } } #si una entrada es menor que 0

for (i in 1:c){

if (x[i]<0){

x[i]=0

}

}

#si la suma es mayor que 1

while (sum(x)>1){

xx=x-((sum(x)-1)/c)

for (i in 1:c){

if (xx[i]<0){

xx[i]=0

}

}

x=xx

}

#si la suma es menor que 1

while (sum(x)<1){

for (w in 1:c){

x[w]=x[w]+((1-sum(x))/c)

}

}

X[k,]<-x

Page 55: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

47

}#fin del loop principal

arre<-X

}#fin de la función

ANEXO 3. FUNCIÓN EDHMM.

Previamente se definen funciones que se usan en el algoritmo principal EDHMM

fn.zeros <- function(nr, nc) matrix(rep.int(0, nr * nc),

nrow = nr)

conv.ML<-function(PP,AA,BB)

{

la1<-matrix(PP,1)

la2<-matrix(t(AA),1)

la3<-matrix(t(BB),1)

conv.ML<-c(la1,la2,la3)

}

conv.LM<-function(L,N,M)

{

P<-L[1:N]

A<-matrix(0,N,N)

B<-matrix(0,N,M)

for (i in 1:N)

{

A[i,]<-L[((i*N)+1):((i+1)*N)]

}

k<-((N+1)*N)+1

for (j in 1:N)

{

B[j,]=L[(k+((j-1)*M)):(k+(j*M)-1)]

Page 56: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

48

}

conv.LM<-list(P=P,A=A,B=B)

}

mlogver<-function(L,O,N,M)

{

PAB<-conv.LM(L,N,M)

B<-PAB$B

BB<-list(B[1,])

for(i in 2:N){

BB[[i]]<-B[i,]

}

MO<-HMMSet(PAB$P,PAB$A,dis="DISCRETE",BB, labels=NULL)

FB<-forwardbackward(MO,O)

mlogver<-(-FB$LLH)

}

arreglaL<-function(L)

{

PAB<-conv.LM(L,N,M)

P<-arre(PAB$P)

A<-arre(PAB$A)

B<-arre(PAB$B)

arreglaL<-conv.ML(P,A,B)

}

EDHMM<-function (OBS,N,M,VTR,itermax,initial,NP,F,CR,strategy,refresh,digits)

{

d <-N*(1+N+M)

Page 57: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

49

if (itermax <= 0) {

warning("'itermax' <= 0; set to default value 200\n",

immediate. = TRUE)

itermax <- 100

}

if (NP < 1) {

warning("'NP' < 1; set to default value 50\n", immediate. = TRUE)

NP <- 1500

}

if (F < 0 | F > 2) {

warning("'F' not in [0,2]; set to default value 0.8\n",

immediate. = TRUE)

F <- 0.8

}

if (CR < 0 | CR > 1) {

warning("'CR' not in [0,1]; set to default value 0.5\n",

immediate. = TRUE)

CR <- 0.2

}

if (strategy < 1 | strategy > 5) {

warning("'strategy' not in {1,...,5}; set to default value 2\n",

immediate. = TRUE)

strategy <- 2

}

refresh <- floor(refresh)

if (refresh > itermax) {

refresh <- 0}

#SE GENERA LA POBLACION INICIAL

pop <- fn.zeros(NP,d)

for(k in 1:NP){

pop[k,]<-lambda(N,M)

Page 58: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

50

}

popold <-fn.zeros(NP, d)

val <- rep.int(0, NP)

bestmem <- bestmemit <- rep.int(0, d)

nfeval <- NP

val <- apply(pop, 1,mlogver,OBS,N,M)

for(i in 1:length(val)){

if((is.na(val[i]))){val[i]=10000}

}

for(i in 1:length(val)){

if((is.nan(val[i]))){val[i]=10000}

}

bestval <- bestvalit <- min(val)

ibest <- match(bestvalit, val)

bestmem <- pop[ibest, ]

bestmemit <- matrix(bestmem, nrow = 1)

pm1 <- pm2 <- pm3 <- pm4 <- pm5 <- fn.zeros(NP, d)

bm <- ui <- mui <- mpo <- fn.zeros(NP, d)

rot <- seq(from = 0, by = 1, to = (NP - 1))

rotd <- seq(from = 0, by = 1, to = (d - 1))

rt <- fn.zeros(NP, NP)

rtd <- fn.zeros(d, d)

a1 <- a2 <- a3 <- a4 <- a5 <- fn.zeros(NP, NP)

ind <- fn.zeros(4, 4)

iter <- 1

while (iter <= itermax & bestval >= VTR) {

popold <- pop

ind <- sample(1:4)

a1 <- sample(1:NP)

rt <- (rot + ind[1])%%NP

a2 <- a1[rt + 1]

Page 59: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

51

rt <- (rot + ind[2])%%NP

a3 <- a2[rt + 1]

rt <- (rot + ind[3])%%NP

a4 <- a3[rt + 1]

rt <- (rot + ind[4])%%NP

a5 <- a4[rt + 1]

pm1 <- popold[a1, ]

pm2 <- popold[a2, ]

pm3 <- popold[a3, ]

pm4 <- popold[a4, ]

pm5 <- popold[a5, ]

bm <- matrix(rep.int(bestmemit[iter, ], NP), nrow = NP,

byrow = TRUE)

mui <- matrix(runif(NP * d), nrow = NP) < CR

mpo <- mui < 0.5

if (strategy == 1) {

ui <- bm + F * (pm1 - pm2)

ui <- popold * mpo + ui * mui

}

if (strategy == 2) {

ui <- pm3 + F * (pm1 - pm2)

ui <- popold * mpo + ui * mui

}

if (strategy == 3) {

ui <- popold + F * (bm - popold) + F * (pm1 - pm2)

ui <- popold * mpo + ui * mui

}

if (strategy == 4) {

ui <- bm + F * (pm1 - pm2 + pm3 - pm4)

ui <- popold * mpo + ui * mui

}

Page 60: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

52

if(strategy == 5){

ui <- pm5 + F * (pm1 - pm2 + pm3 - pm4)

ui <- popold * mpo + ui * mui

}

for (i in 1:NP) {ui[i, ] <- arreglaL(ui[i, ]) }

nfeval <- nfeval + NP

tempval <- apply(ui, 1,mlogver,OBS,N,M)

for(i in 1:length(tempval)){

if((is.na(tempval[i]))){tempval[i]=10000}

}

for(i in 1:length(tempval)){

if((is.nan(tempval[i]))){tempval[i]=10000}

}

ichange <- tempval <= val

val[ichange] <- tempval[ichange]

pop[ichange, ] <- ui[ichange, ]

bestval <- min(val)

bestvalit <- c(bestvalit, bestval)

ibest <- match(bestval, val)

bestmem <- pop[ibest, ]

bestmemit <- rbind(bestmemit, bestmem)

if (refresh > 0 & iter%%refresh == 0)

cat("iteration: ", iter, "value: ", round(bestval,digits),"\n")

iter <- iter + 1

}

Bestmodel<-conv.LM(bestmem,N,M)

B<-Bestmodel$B

BB<-list(B[1,])

for(i in 2:N){

BB[[i]]<-B[i,]

}

Page 61: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

53

BM<-HMMSet(Bestmodel$P,Bestmodel$A,dis="DISCRETE",BB, labels=NULL)

VIT<-viterbi(BM,OBS)

VITER<-VIT$states

DEHMM<-list(HMM.Optimo=BM,Sec.Optima=VITER,'-LV'= bestval)

}

Page 62: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

54

VIII. REFERENCIAS.

1. Ardia, D. (2008). The DEoptim Package. Differential Evolution Optimization. Version

1.2-1 (Disponible en línea en http://cran.r-project.org/web/packages/DEoptim/index.html)

(Revisado en abril de 2008).

2. Asai, K., Hayamizu, S. and Handa, K. (1993). Training HMM structure with genetic

algorithm for biological sequence analysis Comput. Appl. Biosci., 9, 141–146.

3. Baum, L.E., Petrie, T., Soules, G., and Weiss, N. (1970). A maximization technique

occurring in the statistical analysis of probabilistic function of Markov chains. Ann. Math.

Stat., vol 41, no. 1 pp. 164-171

4. Berg J., Tymoczko J. and Stryer L. (2002) Biochemistry. W. H. FREEMAN AND

COMPANY ISBN 0-7167-4955-6.

5. Burge, C. 1997. Identification of complete gene structure in human genomic DNA. PhD

thesis. Stanford University, Stanford, CA.

6. Clausen-Schaumann, H., Rief M, Tolksdorf, C. and Gaub, H. (2000). Mechanical stability

of single DNA molecules. Biophys J 78 (4): 1997–2007. PMID 10733978.

7. Davis, K. y P. McKeown. (1986). Modelos Cuantitativos para Administración. Ed.

IBEROAMERICA, México.

8. Durbin, R. M., Eddy, S. R., Krogh, A. and Mitchison, G. (1998). Biological Sequence

analysis. Cambridge University Press, Cambridge.

9. Griffiths, J. F, Miller, J.H., Susuki, D.T., Lewontin, R.C. and Gelbart, W. M. (2002).

Genetica. Séptima Edición. Mc GRAW-HILL INTERAMERICANA DE ESPAÑA.

Page 63: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

55

10. Guigo, R., Agarwal, P., Abril, J.F., Burset, M. and Fickett, J. W. (2000). An Assessment

of Gene Prediction Accuracy in Large DNA Sequences. Cold Spring Harbor Laboratory

Press.

11. Krogh, A. 1997. Two methods for improving performance of an HMM and their application

for gene-finding. In Proceedings of the Fifth International Conference on Intelligent Systems

for Molecular Biology (ed. Gaasterland, T., Karp, P., Karplus, K., Ouzounis, C., Sander, C.,

and Valencia, A.), pp. 179-186. AAAI Press, Menlo Park, CA.

12. Lewin, B. (2006). Genes IX. JONES AND BARTLETT PUBLISHERS. SUDBURY,

MASSACHUSETTS.

13. Lukashin, A.V. and Borodovsky, M. 1998. GeneMark.hmm: new solutions for gene-finding.

Nucleic Acids Res. 26: 1107-1115.

14. MacDonald, I. L. and Zucchini, W. (1997) Hidden Markov and Other Models for

Discrete-valued Times Series. London: Chapman and Hall.

15. Mount, D. W. (2004). Bioinformatics. Sequence and Genome Analysis. COLD SPRING

HARBOR LABORATORY PRESS.

16. Nielsen, H. and Krogh, A. (1998). Prediction of signal peptides and signal anchors by a

hidden Markov model. American Association for Artificial Intelligence. (www.aaai.org).

17. Parra, G., Agarwal, P., Abril, J.F., Wiehe, T., Fickett, J. W. and Guigo, R (2003)

Comparative Gene Prediction in Human and Mouse.Cold Spring Harbor Laboratory

Press.

18. Prawda, W. J. (1984) Métodos y Modelos de Investigación de operaciones. Ed. LIMUSA,

México.

19. Price K., V., (1999): An Introduction to Differential Evolution. In Corne, D., Dorigo, M., and

Glover, F. (eds.). New Ideas in Optimization. Mc Graw Hill.

Page 64: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

56

20. Price K.V., Storn R.M. and Lampinen J.A. (2005): Differential Evolution. A practical

approach to global optimization. Springer-Verlag

21. Rabiner, L. R. (1989). A tutorial on hidden Markov models and selected applications in

Speech recognition. Proc. IEEE, 77, 257–286.

22. Ringo, J. (2004). Genética Fundamental. THE PRESS SYNDICATE OF THE

UNIVERSITY OF CAMBRIDGE. UNITED KINGDOM.

23. Rogic, S. (2000) .Evaluating and Improving the Accuracy of Computational Gene-

Finding on Mammalian DNA Sequences. Computer Science Department, The University

of California at Santa Cruz, Santa Cruz, California.

24. Singer, M. and Berg, P., (1993). Genes and Genomes. A changing perspective.

UNIVERSITY SCIENCE BOOKS. CALIFORNIA.

25. Stanke, M. and Waack, S.(2003 ) Gene prediction with a hidden Markov model and a new

intron submodel. Vol. 19 Suppl. 2 2003, pages ii215–ii225 DOI:

10.1093/bioinformatics/btg1080.

26. Storn, R. and Price, K., (1997): Differential Evolution- A simple and efficient heuristic for

global optimization over continuous spaces. Journal of Global Optimization 11. 341-359.

27. Storn, R., (1996) On the Usage of Differential Evolution for Function Optimization

NAFIPS, Berkeley, pp. 519 – 523.

28. Storn, R., and Price, K. (1995). Differential Evolution- A simple and Efficient Adaptive

Scheme for Global Optimization over Continuos Spaces. Tech. Rep. TR-95-012,

International Computer Science Institute

Page 65: COLEGIO DE POSTGRADUADOS...COLEGIO DE POSTGRADUADOS, 2009. ABSTRACT This work proposes an algorithm based on differential evolution (DE) to estimate the parameter set that characterizes

57

29. Taramasco, O., (2007). The RHmm Package. Hidden Markov Models simulations and

estimations. Version 1.0.1 (Disponible en línea en http://r-forge.r-

project.org/projects/rhmm/) (Revisado en junio de 2008).

30. Taylor H. M. y S Karlin (1998). An Introduction to Stochastic Modeling. Ed.

ACADEMIC PRESS, USA

31. Velázquez, R. (2006). Propuesta de evolución diferencial para la optimización de espacios

restringidos. CINVESTAV. México.

32. Won, J.-K, Prügell-Bennett, A. and Krogh, A. (2004). Prediction of protein secondary

structure by the Hidden Markov Model. Proc. Bioinformatics, Vol. 20, pp. 3613-3619