Logo Studenta

LCUCEI10115FT

¡Este material tiene más páginas!

Vista previa del material en texto

Av. Hidalgo 935, Colonia Centro, C.P. 44100, Guadalajara, Jalisco, México 
bibliotecadigital@redudg.udg.mx - Tel. 31 34 22 77 ext. 11959 
UNIVERSIDAD DE GUADALAJARA 
COORDINACIÓN GENERAL ACADÉMICA 
Coordinación de Bibliotecas 
Biblioteca Digital 
 
 
 
 
 
 
 
 
 
 
 
La presente tesis es publicada a texto completo en virtud de que el autor 
ha dado su autorización por escrito para la incorporación del documento a la 
Biblioteca Digital y al Repositorio Institucional de la Universidad de Guadalajara, 
esto sin sufrir menoscabo sobre sus derechos como autor de la obra y los usos 
que posteriormente quiera darle a la misma. 
UNIVERSIDAD DE GUADALAJARA 
Centro Universitario de Ciencias Exactas e Ingenierías 
División de Electrónica y Computación 
 
 
Análisis de agrupamiento de secuencias de ADN 
usando BIRCH 
 
Modalidad 
Tesis, tesina e informes 
 
Opción 
Tesis 
 
Que para obtener el grado de 
Ingeniero en Informática 
P R E S E N T A 
Marlon Israel Nuño Rodríguez 
Directora: Sulema Torres Ramos 
Asesor: Israel Román Godínez 
Guadalajara, Jalisco; Agosto de 2021.
 
Rosaura
Rosaura
Ingeniero Informático
 
 
 
 
 
 
 
 
 
 
 
 
Agradecimientos. 
 
Quiero agradecer al Dr. Héctor Montoya Fuentes del Centro de Investigación Biomédica de 
Occidente (CIBO) y jefe del Laboratorio de Apoyo a la Vigilancia Epidemiológica del I.M.S.S., por 
su tiempo y asesoría. 
 A la Dra. Sulema Torres Ramos y al Dr. Israel Román Godínez les agradezco por su tiempo, 
paciencia y la dirección durante el desarrollo de este trabajo. 
 
Dedicatoria. 
Quiero dedicar el presente trabajo al Dr. Luis Casillas Santillán quien fue la primera persona que 
me introdujo a la ciencia computacional, por toda su dedicación, paciencia, amistad dentro y 
fuera del salón de clases. Que la fuerza esté siempre con usted. En Memoria 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ii 
 
Tabla de contenido 
 
1. Introducción ....................................................................................................................................1 
2. Antecedentes ...................................................................................................................................3 
3. Justificación.....................................................................................................................................5 
4. Objetivo General .............................................................................................................................7 
4.1. Objetivos específicos ...............................................................................................................7 
5. Hipótesis ..........................................................................................................................................8 
6. Marco Teórico .................................................................................................................................9 
6.1. ADN (Ácido Desoxirribonucleico) .........................................................................................9 
6.1.1. Secuencia de ADN ..................................................................................................... 10 
6.1.2. Genes y cromosomas .................................................................................................. 10 
6.1.3. Genoma ...................................................................................................................... 10 
6.2. Filogenia ............................................................................................................................... 11 
6.2.1. Árbol filogenético ...................................................................................................... 11 
6.2.2. Construcción del árbol filogenético ........................................................................... 12 
6.2.3. Métodos de matrices de distancia............................................................................... 12 
6.2.4. Anatomía de un árbol filogenético ............................................................................. 13 
6.3. Bioinformática ...................................................................................................................... 14 
6.3.1. Análisis de secuencias genómicas .............................................................................. 14 
6.3.2. Representación digital del ADN ................................................................................ 14 
6.3.2.1. Archivo FASTA ............................................................................................ 15 
6.3.3. Señal genómica .......................................................................................................... 15 
6.3.3.1. Procesamiento de señales genómicas (GSP) ................................................. 16 
6.3.4. Métodos de representación numérica ......................................................................... 16 
6.3.4.1. Mapeos basados en propiedades fisicoquímicas ........................................... 17 
6.3.4.2. Mapeos fijos .................................................................................................. 17 
6.3.5. Aprendizaje automático ............................................................................................. 18 
6.3.5.1. Caracterización .............................................................................................. 19 
6.3.5.1.1. Transformada rápida de Fourier ..................................................... 19 
6.3.6. Agrupamiento ............................................................................................................. 20 
6.3.6.1. Métodos de agrupamiento jerárquico ............................................................ 21 
6.3.6.1.1. Algoritmo BIRCH .......................................................................... 21 
iii 
 
7. Metodología ................................................................................................................................. 25 
7.1. Entendimiento del problema ................................................................................................. 25 
7.2. Definición de algoritmos y herramientas .............................................................................. 26 
7.2.1. Adquisición de datos .................................................................................................. 26 
7.2.2. Transformación .......................................................................................................... 26 
7.2.3. Caracterización ........................................................................................................... 27 
7.2.4. Clustering ................................................................................................................... 27 
7.3. Implementación .................................................................................................................... 28 
8. Resultados .................................................................................................................................... 35 
8.1. Datos de experimentación y validación ................................................................................ 35 
8.2. Diseño de experimentos y resultados obtenidos ................................................................... 36 
9. Conclusiones ................................................................................................................................ 47 
Bibliografía........................................................................................................................................ 49 
 
iv 
 
Índice de figuras 
Figura 1. Estructura del ADN ............................................................................................................ 9 
Figura 2. Representación gráfica del gen .........................................................................................10 
Figura 3. Cromosomas del genoma humano ..................................................................................... 11 
Figura 4. Ejemplo de árbol filogenético ........................................................................................... 12 
Figura 5. Matriz de distancias para construcción de árbol filogenético ............................................ 13 
Figura 6. Estructura del árbol filogenético ....................................................................................... 14 
Figura 7. Formato de archivo FASTA ............................................................................................... 15 
Figura 8. Mapeo de secuencia de ADN a señal Genómica ............................................................... 16 
Figura 9. Funciones de mapeo fisicoquímicas de ADN .................................................................. 17 
Figura 10. Funciones de mapeo fijo de ADN ................................................................................... 18 
Figura 11. Representación gráfica de la transformada rápida de Fourier .......................................... 20 
Figura 12. Ejemplo de agrupamiento ................................................................................................ 20 
Figura 13. Ejemplo de agrupamiento jerárquico ............................................................................... 21 
Figura 14. Creación de clúster con BIRCH ...................................................................................... 23 
Figura 15. Ejemplo de Cluster Feature Tree .................................................................................... 24 
Figura 16. Etapas de la metodología ................................................................................................. 25 
Figura 17. Ejemplo de transformación de secuencia de ADN a señal genómica usando Voss ......... 27 
Figura 18. Arquitectura del sistema implementado para el agrupamiento de señales genómicas ..... 29 
Figura 19. Flujo del programa ........................................................................................................... 29 
Figura 20. Archivo de configuración del programa .......................................................................... 31 
Figura 21. Objeto Entrez ................................................................................................................... 31 
Figura 22. Implementación de la transformada rápida de Fourier .................................................... 33 
Figura 23. Implementación de la función Birch ................................................................................ 33 
Figura 24. Resultados de salida de la función Birch ......................................................................... 34 
Figura 25. Árbol filogenético del Papiloma Humano (HPV) ........................................................... 35 
Figura 26. Ploteo del experimento I – variantes de HPV de diferentes grupos ................................. 38 
Figura 27. Ploteo del experimento II – variantes de HPV del grupo A7 ........................................... 40 
Figura 28. Ploteo del experimento III - Variantes de HPV del grupo A9 ......................................... 41 
Figura 29. Ploteo del experimento IV – variantes de HPV del grupo A5-A6 ................................... 43 
Figura 30. Ploteo del experimento V – agrupamiento de HPV de distintos grupos .......................... 45 
 
v 
 
Índice de tablas 
 
Tabla 1. Resultados de agrupamiento del experimento I:variantes de HPV de diferentes grupos .... 34 
Tabla 2. Resultados de agrupamiento del experimento II: variantes de HPV del grupo A7 ............. 35 
Tabla 3. Resultados de agrupamiento del experimento III: variantes de HPV del grupo A9 ............ 37 
Tabla 4. Resultados de agrupamiento del experimento IV: variantes de HPV del grupo A5-A6 ..... 38 
Tabla 5. Resultados de agrupamiento del experimento V: HPV de distintos grupos ........................ 40 
 
 
1 
 
1. Introducción 
Estamos entrando en la era del Big Data, donde miles de datos son generados día a día, 
ejemplo de esto son los genomas de miles de organismos que han sido secuenciados por 
diversos laboratorios. Esta abundancia de datos crea la necesidad de implementar métodos 
automatizados para su análisis, lo cual crea un área de oportunidad para el aprendizaje 
automático o aprendizaje máquina, el cual puede verse como un conjunto de métodos que 
pueden detectar automáticamente patrones, y luego usar estos patrones para llevar a cabo 
predicciones o realizar toma de decisiones bajo escenarios de incertidumbre [1]. Un área de 
estudio que se ha visto beneficiada recientemente con el uso de métodos de aprendizaje 
máquina es la Bioinformática, siendo ésta, el estudio de cómo la información es representada 
y analizada en sistemas biológicos, especialmente información derivada a nivel molecular 
[2]. Para adentrarnos más en el área de aplicación del aprendizaje máquina dentro de esta 
disciplina, abordaremos primero el concepto de la Genómica, área de estudio de la 
Bioinformática cuyo término fue acuñado por Thomas Roderick en 1986, definiéndose como 
la disciplina científica encargada de la secuenciación y descripción de los genomas completos 
[3]. Uno de los campos de aplicación de la Genómica es la Genómica Comparativa, que se 
encarga de comparar dos o más genomas con el objetivo de encontrar similitudes y 
diferencias de éstos, brindando información de la biología del organismo [4]. Para llevar a 
cabo esta tarea comparativa, una de las actividades básicas del análisis computacional en la 
biología es el alineamiento de pares de secuencias de Ácido Desoxiribonucleico (ADN), cuya 
meta principal es alinear dos secuencias de tal forma que la relación evolutiva de ellos sea 
simple de notar, basándose este método en principios de Homología que nos dicen que las 
secuencias tienen una historia evolutiva compartida, y por ende se da por hecho que poseen 
2 
 
una secuencia ancestral en común [5]. Para realizar estas tareas del descubrimiento de las 
relaciones evolutivas, se han implementado herramientas computacionales de aprendizaje no 
supervisado como el agrupamiento (clustering, en inglés), que es útil para el reconocimiento 
de patrones, el análisis de datos estadísticos y en la minería de datos [6]. Siendo la principal 
ventaja de emplear técnicas de agrupamiento, la posibilidad de encontrar una estructura 
oculta en los datos sin contar con información previa al respecto. Una tarea de agrupación 
consiste en dividir un conjunto de datos en grupos (es decir, agrupaciones) que comparten 
propiedades comunes o que están relacionadas de alguna manera, de acuerdo con criterios 
dados y métricas de similitud [7]. Algunas herramientas que emplean algoritmos de 
agrupamiento en secuencias biológicas son CD-HIT [8] y UCLUS [9], sin embargo, el 
número de secuencias que pueden agrupar dichas herramientas puede ser limitado ya que, a 
medida que aumenta el número de secuencias, incrementa el tiempo computacional [10]. Por 
ello recientemente los investigadores han puesto su atención en un nuevo enfoque para llevar 
a cabo el análisis de secuencias de ADN, que es el procesamiento de señales genómicas (GSP, 
por sus siglas en inglés) [11], que está basado en el uso de técnicas de procesamiento digital 
de señales (DSP, por sus siglas en inglés) [12]. Una de las principales ventajas de los métodos 
de GSP es que el análisis de datos genómicos puede realizarse muy rápidamente debido a la 
codificación de las secuencias y a los procesos que han sido diseñados específicamente para 
esas tareas [13]. Dentro de esta área, primero se busca mapear secuencias de ADN a señales 
genómicas, es decir, transformar las secuencias representadas como una cadena de caracteres 
(A, T, G y C) a una representación numérica, para posteriormentepoder llevar a cabo el 
procesamiento y análisis de dichas secuencias vistas como una señal. 
 
3 
 
2. Antecedentes 
Existen trabajos en el estado del arte que utilizan procesamiento de señales genómicas y 
clustering con el fin de encontrar similitudes en organismos. Como es el caso del trabajo 
Genomic signal processing for DNA sequence clustering [14], en donde se utiliza el 
algortimo K-means y la función de mapeo Voss para encontrar semejanzas en 141 secuencias 
de ADN pertenecientes a 131 especies distintas; en dicho trabajo se demostró que con el 
enfoque GSP es posible agrupar organismos vivos sin necesidad de utilizar un alineamiento 
múltiple de secuencias genéticas, tomando como referencia el gen codificador Mitochondrial 
Cytochrome C Oxidase Subunit I (COXI) para validar los resultados del trabajo, ya que este 
gen es relevante para las clasificaciones de organismos brindadas por la filogenia. 
Así mismo en el artículo Análisis de representaciones numéricas de secuencias de ADN 
usando K-means [15] se trabajó en experimentar los resultados obtenidos al utilizar diferentes 
funciones de mapeo (mapeos fijos y mapeos basados en propiedades fisicoquímicas). En 
dicho trabajo se utilizaron secuencias genéticas de organismos de los diferentes reinos de la 
naturaleza: reino animal, reino vegetal o plantas, reino de los hongos, reino monera (también 
llamado bacterias) y reino protista. Dicho trabajo obtuvo como resultado que la función de 
mapeo Electron-ion generó buenos resultados en el agrupamiento. 
Por otra parte, el trabajo Clustering by phenotype and genome-wide association study in 
autism [16] utiliza el algoritmo K-means bajo un enfoque distinto al de GSP para encontrar 
relaciones genéticas entre los diferentes casos del Trastorno del Espectro Autista (ASD), 
debido a que a un nivel genético sus características son muy heterogéneas por lo que 
encontrar la relación común es una tarea difícil. Este trabajo se basa en un estudio de 
simulación que validó que se pudiera encontrar la herencia oculta en este trastorno, al agrupar 
4 
 
a distintos pacientes en pequeños subgrupos homogéneos basados en que tan complejo fuera 
su trastorno. Este trabajo demostró que si el conjunto de datos consta de múltiples subgrupos 
genéticamente heterogéneos, incluso un subgrupo que incluye un número mucho menor de 
individuos homogéneos, se pudieran llegar a detectar factores genéticos de alto impacto al 
utilizar un enfoque de clustering con K-means. 
Por otro lado, en el trabajo Clustering of Mitochondrial D-loop Sequences Using Similarity 
Matrix, PCA and K-means Algorithm [17] se realizó una aproximación distinta al 
implementar una matriz de semejanzas sobre el conjunto de organismos basada en las 
distancias de los pares genéticos de éstos con el fin de generar un árbol filogénico con estas 
distancias, para después realizar el agrupamiento combinando tanto el algoritmo K-means 
como la técnica estadística del Análisis de Componentes Principales (PCA, por sus siglas en 
inglés). En dicho trabajo se obtuvieron resultados exitosos de clasificación al combinar estas 
tres herramientas. 
Finalmente, a pesar de que existen otros trabajos en el estado del arte que llevan a cabo el 
agrupamiento de organismos, con o sin el enfoque GSP, se puede observar que dichos 
trabajos utilizan en su mayoría K-means, y no se utilizan algoritmos jerárquicos para realizar 
el agrupamiento de secuencias genéticas [18][19]. 
 
5 
 
3. Justificación 
Gracias a los avances de la ciencia computacional en el campo de la inteligencia artificial 
y la bioinformática, se han obtenido avances en el desarrollo de métodos y técnicas, tales 
como el agrupamiento de señales genómicas mediante algoritmos de agrupamiento; siendo 
estos avances una puerta al desarrollo de nuevas herramientas computacionales. En muchos 
trabajos se utiliza el algortimo K-means para el análisis de clustering en ADN [14][15], 
llegando a ser muy popular su uso, debido a que este algoritmo realiza particiones rápidas en 
los grupos de forma iterativa debido a su complejidad lineal, sin embargo su forma de crear 
los grupos al posicionar los centroides de forma aleatoria y utilizar algún tipo de distancia 
geométrica (como la distancia euclideana) nos deja todo un campo abierto para explorar 
nuevos algoritmos de agrupamiento que toman como base otros factores para crear los 
grupos. 
Debido a lo anterior, el algoritmo jerárquico BIRCH podría ser una buena opción para 
probar con el enfoque GSP por las siguientes razones: complejidad computacional y relación 
con la filogenia. 
Con respecto a la complejidad computacional, el algoritmo BIRCH en su primer paso 
construye una estructura de datos llamada Cluster Feature Tree (CFT), la cual es un árbol de 
compresión de los datos de entrada que toma como base la media y varianza estadística del 
conjunto de entrada, que permite reducir los tiempos del agrupamiento al generar una imagen 
estadística de todo el conjunto de entrada, recordando que las secuencias genómicas son de 
gran tamaño por lo cual representan una gran complejidad computacional al ser procesadas 
por el algoritmo de agrupamiento. 
6 
 
Por otro lado, BIRCH utiliza un algoritmo basado en jerarquías ya que crea grupos con 
respecto a la semejanza de los valores generados en el CFT, partiendo de pequeños grupos 
individuales, para después ir uniendo de dos en dos cada grupo hasta formar un sólo clúster. 
Cabe hacer notar que dichas jerarquías creadas se asemejan a lo observado en la filogenética, 
en donde se busca agrupar, en una figura llamada dendograma, las familias de organismos 
tomando como base las distancias genéticas entre éstos con respecto sus características. 
 
7 
 
4. Objetivo General 
Utilizar el algoritmo de clustering jerárquico BIRCH para agrupar secuencias de ADN y 
evaluar su desempeño en los grupos generados. 
4.1. Objetivos específicos 
1. Estudio del estado del arte sobre los algoritmos de agrupamiento que se utilizan para 
formar grupos mediante secuencias genómicas. 
2. Estudio del estado del arte sobre los algoritmos de clustering jerárquico. 
3. Elegir las representaciones numéricas que se utilizarán en este análisis para mapear 
las secuencias de ADN a señales genómicas. 
4. Implementar las representaciones numéricas en un lenguaje de programación. 
5. Implementar la transformada rápida de Fourier como caracterización de señales 
genómicas. 
6. Implementar el algoritmo de BIRCH para llevar a cabo el agrupamiento de señales 
genómicas. 
7. Definir los organismos a ser utilizados para el análisis y obtener su secuencia de 
ADN. 
8. Transformar las secuencias de ADN de los organismos elegidos utilizando las 
representaciones numéricas implementadas en el punto 4. 
9. Obtener las características de las señales genómicas de los organismos utilizando la 
implementación del punto 5 
10. Con base en las características obtenidas del punto anterior, llevar a cabo el 
agrupamiento de los organismos utilizando la implementación del punto 6. 
11. Comparar los grupos obtenidos contra el gold standar de los organismos 
seleccionados del punto 7 y analizar los resultados. 
 
8 
 
5. Hipótesis 
BIRCH es un método de agrupamiento jerárquico con el que es posible formar grupos, a 
partir de señales genómicas de seres vivos, que se acoplen a la clasificación brindada por la 
filogenética, ya que esta clasificación simula una estructura jerárquica basada en las 
características genéticas de los seres vivos. 
 
9 
 
6. Marco Teórico 
En esta sección se presentan los conceptos fundamentales para entender la metodología 
empleada en el análisis computacional a organismos vivos. Este apartado define la 
terminología biológica y computacional utilizada en el presente trabajo 
6.1. ADN (Ácido Desoxirribonucleico) 
El Ácido Desoxirribonucleico (o por sus siglas, ADN) es el nombre químico quese le 
da a la molécula, contenida en las células, encargada de preservar la información genética de 
todos los organismos vivos (como virus, bacterias, agentes patógenos). El ADN tiene una 
forma de doble hélice compuesta por dos cadenas, formadas por azúcares y grupos fosfatos, 
que se enrollan entre sí, gracias a la unión de sus cuatro bases nitrogenadas llamadas 
nucleótidos: Adenina (A), Citosina (C), Guanina (G) y Timina (T). La doble hélice se 
mantiene unida por los enlaces químicos entre las bases de nucleótidos; la adenina se une con 
la timina, y la citosina con la guanina (Ver Figura 1) [20]. 
 
Figura 1. Estructura del ADN (Imagen tomada de [21]) 
10 
 
6.1.1. Secuencia de ADN 
Se le nombra secuencia de ADN al orden en que se configuran las cuatro bases de 
nucleótidos; las técnicas y métodos utilizados para conocerla se le llama secuenciación. 
Conocer el orden de los nucleótidos tiene múltiples aplicaciones como en la detección de las 
relaciones evolutivas de los organismos; ya que, debido a su estructura, se determinan las 
características genéticas que diferencian a los seres vivos [21]. 
6.1.2. Genes y cromosomas 
Un gen es la unidad física elemental en la herencia, un gen contiene toda la 
información necesaria para preservar sus rasgos en las próximas generaciones, esto se da al 
momento en que los padres transmiten el material genético a sus descendientes. Los genes 
están colocados, uno tras otro, en estructuras llamadas cromosomas. Un cromosoma es un 
paquete de ADN ordenado que se ubica en el núcleo de la célula, conteniendo una única 
molécula grande de ADN [22] (Ver Figura 2). 
 
Figura 2. Representación gráfica del gen (Imagen tomada de [22]) 
6.1.3. Genoma 
 Se conoce como genoma al conjunto de instrucciones genéticas que se encuentran 
11 
 
dentro de una célula. Ejemplificando, en los seres humanos el genoma consiste en 23 pares 
de cromosomas ubicados en el núcleo [23] (ver Figura 3). 
 
Figura 3. Cromosomas del genoma humano (Imagen tomada de [23]) 
6.2. Filogenia 
La filogenia es la representación de los lazos evolutivos entre los grupos de organismos 
a través de la historia. Los resultados son mostrados en un árbol filogenético, cuyo análisis 
está relacionado en el tipo de datos de entrada, número de especies y el alcance de la 
interpretación de los lazos evolutivos [24]. 
6.2.1. Árbol filogenético 
Un árbol filogenético es una representación gráfica de organismos vivos que están 
conectados por un ancestro en común, el ancestro puede ser una especie o un grupo 
taxonómico de mayor jerarquía a nivel evolutivo [25]. En la actualidad, la mayoría de los 
árboles filogenéticos se crean a partir de la información molecular, ADN, ARN (Ácido 
Ribonucleico) o proteínas. Cuando se analizan especies cercanamente emparentadas se tiende 
12 
 
a utilizar el ADN, porque provee más información debido a que las cadenas de ADN son más 
largas que las cadenas de proteínas [26] (Ver Figura 4). 
 
Figura 4. Ejemplo de árbol filogenético (Imagen tomada de [27]) 
6.2.2. Construcción del árbol filogenético 
Los métodos para generar árboles filogenéticos se llegan a dividir en dos tipos: los 
métodos basados en matrices de distancia y los basados en datos de caracteres discretos (las 
bases de nucleótidos con las secuencias de ADN) [28]. 
6.2.3. Métodos de matrices de distancia 
 De los métodos que utilizan las matrices de distancia, el método de unión de vecinos 
(Neighbor-Joining, NJ) es uno de los más populares. Este método (al igual que todos los 
métodos de distancia), comienza a partir de la formación de una matriz de distancia, que 
cuando se trabaja con secuencias de ADN, se genera al contar las diferencias de nucleótidos 
de todos los pares de secuencias. Y finalmente, el árbol se crea al unir las secuencias que 
13 
 
posean la menor cantidad de diferencias, es decir la menor distancia genética [29] (Ver Figura 
5). 
 
Figura 5. Matriz de distancias para construcción de árbol filogenético (Imagen tomada de [30]) 
6.2.4. Anatomía de un árbol filogenético 
Un árbol filogenético se compone de varios elementos. En la parte de la derecha de la 
siguiente figura se encuentran los nodos terminales o puntas (A, B, C, D, E), que representan 
a los taxones. Estos pueden ser elementos de una especie o grupos taxonómicos mayores. 
Cada uno de estos nodos terminales se encuentran unidos mediante ramas a un nodo interno, 
el cual representa al ancestro común entre los dos elementos. De tal forma que los nodos 
terminales representan el presente, mientras que los nodos internos representan el pasado [29] 
(Ver Figura 6). 
14 
 
 
Figura 6. Estructura del árbol filogenético (Imagen tomada de [29]) 
6.3. Bioinformática 
La bioinformática, de forma general, se puede definir como la disciplina científica que 
implementa las herramientas de las tecnologías de la información para organizar, analizar y 
distribuir información biológica, con el objetivo de responder a preguntas complejas que se 
tienen en la biología. La bioinformática engloba métodos matemáticos, estadísticos y 
computacionales para solucionar problemas biológicos usando la información molecular 
como el ADN, ARN o las secuencias de aminoácidos [31]. 
6.3.1. Análisis de secuencias genómicas 
El análisis de las secuencias de ADN es el descubrimiento de similitudes y 
diferencias, tanto funcionales como estructurales, entre muchas secuencias biológicas. Esto 
se logra al comparar las nuevas (desconocidas) con las bien-estudiadas y conocidas 
secuencias. Este análisis incluye la alineación de secuencias, la búsqueda en bases de datos 
de las secuencias, el descubrimiento de patrones, la reconstrucción de las relaciones 
evolutivas, y la formación y la comparación del genoma [32]. 
6.3.2. Representación digital del ADN 
 Una representación digital del ADN consiste en una sucesión de las letras A, T, G y 
C las cuales representan las bases nucleótidos que componen el ADN y cuyo orden es 
15 
 
determinado a partir de la secuenciación. Existen bases de datos biológicas enfocadas a 
secuencias de ADN como la NCBI, que trabaja con distintos formatos de secuencia como 
FASTA, el formato que se eligió para los archivos de entrada de este sistema [33]. 
6.3.2.1. Archivo FASTA 
El formato FASTA consiste en una secuencia de ADN que empieza con una descripción de 
una sola línea, seguida de líneas de datos (es decir, caracteres) de la secuencia de ADN. La 
línea de descripción (defline) se diferencia de los datos de secuencia por el símbolo mayor 
que (">") al comienzo. La Figura 7 muestra es un extracto de la secuencia de ADN del 
organismo H. sapiens mitochondrial en formato FASTA [34]. 
 
Figura 7. Formato de archivo FASTA (Imagen tomada de [35]) 
6.3.3. Señal genómica 
Una señal genómica es el resultado final de convertir, o dicho de otra manera, mapear 
cada carácter o letra que conforma una secuencia de ADN a una representación numérica. En 
16 
 
la Figura 8 se puede ver un ejemplo de fragmento de secuencia mapeado a señal genómica 
utilizando la representación numérica Integer. 
 
Figura 8. Mapeo de secuencia de ADN a señal Genómica (Imagen tomada de [35]) 
6.3.3.1. Procesamiento de señales genómicas (GSP) 
El procesamiento de señales genómicas se define como la disciplina de la ingeniería que 
estudia el análisis, procesamiento y uso de señales genómicas para obtener información 
biológica y utilizar la interpretación de ésta en aplicaciones basadas en sistemas. El objetivo 
es unir la teoría y los métodos de procesamiento digital de señales con la comprensión global 
de la genómica funcional. Por lo que abarca varias metodologías relacionadas con la 
detección, predicción, clasificación, control y modelos estadísticos y dinámicos de redes de 
genes [36][37]. 
6.3.4. Métodos de representación numérica 
Para llevar a cabo el análisis de secuencias de ADN mediante el procesamiento de 
señales digitalesse necesita la conversión de una secuencia de bases (es decir, A, T, G y C) 
a una secuencia numérica. Los métodos de representación numérica de secuencias de ADN 
pueden clasificarse en dos grupos principales, mapeos fijos y mapeos basados en las 
propiedades fisicoquímicas del ADN, los cuales se detallan a continuación [38]. 
17 
 
6.3.4.1. Mapeos basados en propiedades fisicoquímicas 
En este tipo de mapeos, las propiedades biofísicas y bioquímicas de las biomoléculas 
de ADN se usan para el mapeo de las secuencias. Las representaciones numéricas de este tipo 
de mapeos son Electron-ion Interaction Potential (EIIP), Atomic Number, Paired Numeric, 
DNA Walk y Z-curve. (Ver Figura 9). 
 
Figura 9. Funciones de mapeo fisicoquímicas de ADN (Imagen tomada de [38]) 
 
6.3.4.2. Mapeos fijos 
En los mapeos fijos las bases de nucleótidos A, T, G y C de las secuencias de ADN 
se transforman en una serie de secuencias numéricas arbitrarias. Dentro de estos mapeos se 
encuentran las representaciones Voss, Tetrahedron, Integer, Real, Complex y Quaternion 
(Ver Figura 10). 
18 
 
 
Figura 10. Funciones de mapeo fijo de ADN (Imagen tomada de [38]) 
6.3.5. Aprendizaje automático 
El aprendizaje automático es una rama en evolución de los algoritmos 
computacionales que están diseñados para emular la inteligencia humana aprendiendo del 
entorno que los rodea, sin estar esto último explícitamente programado. Las técnicas basadas 
19 
 
en el aprendizaje máquina se aplican con éxito en diversos campos que van desde el 
reconocimiento de patrones, la visión por computadora, la ingeniería de naves espaciales, las 
finanzas, el entretenimiento y la biología computacional [39]. 
6.3.5.1. Caracterización 
En el campo del aprendizaje automático, la caracterización consiste en obtener un conjunto 
de datos o características relevantes que componen a un elemento, las cuales sirven para 
describir o generalizar a éste, en nuestro caso de estudio, a una señal genómica. Existen 
diferentes métodos para la caracterización de señales, como la transformada de Wavelet [39], 
la transformada discreta de Fourier [40] y la transformada rápida de Fourier [39], siendo esta 
última la empleada en este trabajo. 
6.3.5.1.1. Transformada rápida de Fourier 
La transformada rápida de Fourier (FFT, por sus siglas en inglés) es un método utilizado para 
calcular la transformada discreta de Fourier (DFT, por sus siglas en inglés), que produce el 
mismo resultado que otros métodos, pero es más eficiente, ya que a menudo reduce el tiempo 
del cálculo. 
 En el primer paso, la FFT descompone una señal de dominio de tiempo de N puntos 
en N señales de dominio de tiempo compuestas de un solo punto. El segundo paso consiste 
en calcular los N espectros de frecuencia correspondientes a estas N señales de dominio de 
tiempo y los N espectros se sintetizan en un solo espectro de frecuencia. El tercer paso es 
encontrar los espectros de frecuencia de las señales de dominio de tiempo de un punto. Y 
finalmente se combinan los N espectros de frecuencia en el orden inverso en el que la 
descomposición en el dominio del tiempo tuvo lugar de manera exacta [41] (Ver Figura 11). 
20 
 
 
Figura 11. Representación gráfica de la transformada rápida de Fourier (Imagen tomada de [42]) 
6.3.6. Agrupamiento 
El agrupamiento, o clustering en inglés, se refiere a la agrupación de registros, 
observaciones o casos en clases de objetos similares. Un clúster es una colección de registros 
que son similares entre sí y diferentes a los registros de otros clústeres. El agrupamiento en 
clústeres se diferencia de la clasificación en que no hay una variable objetivo para agrupar. 
Al agrupar no se intenta clasificar, estimar o predecir el valor de una variable objetivo. En 
lugar de eso, los algoritmos de agrupamiento buscan segmentar todo el conjunto de datos en 
subgrupos o grupos relativamente homogéneos, donde se maximiza la similitud de los 
registros dentro del grupo y se minimiza la similitud con los registros fuera de este grupo 
[43], como se muestra en la Figura 12. 
 
Figura 12. Ejemplo de agrupamiento (Imagen tomada de [43]) 
21 
 
6.3.6.1. Métodos de agrupamiento jerárquico 
En la agrupación jerárquica, se crea una estructura de agrupación en forma de árbol 
(dendrograma) mediante particiones recursivas (métodos de división) o combinación 
(aglomeración) de agrupaciones existentes. Los métodos de agrupamiento aglomerativo 
inicializan cada observación para crear un pequeño grupo propio. Luego, en los pasos 
siguientes, los dos grupos más cercanos se agregan en un nuevo grupo combinado. De esta 
manera, el número de grupos en el conjunto de datos se reduce en uno en cada paso. 
Eventualmente, todos los registros se combinan en un solo grupo enorme [43] (ver Figura 
13). 
 
Figura 13. Ejemplo de agrupamiento jerárquico (Imagen tomada de [43]) 
6.3.6.1.1. Algoritmo BIRCH 
El algoritmo Balanced Iterative Reducing and Clustering using Hierarchies o BIRCH por 
sus siglas en inglés, fue desarrollado en 1996. BIRCH es eficiente para trabajar con conjuntos 
22 
 
de datos muy grandes debido a su capacidad para encontrar una buena solución de 
agrupamiento con un solo escaneo de los datos. BIRCH maneja grandes conjuntos de datos 
con una complejidad temporal y una eficiencia espacial superior a otros algoritmos, según 
los autores [44]. 
Pasos del algoritmo 
1. Construcción del árbol CF (Cluster Feature): Cargue los datos en la memoria construyendo un 
árbol de características de clúster (árbol CF, definido a continuación). Opcionalmente, condense 
este árbol CF inicial en un CF más pequeño 
2. Agrupación global: Aplicar un algoritmo de agrupamiento existente en las hojas del árbol CF. 
Cluster feature 
El algoritmo de BIRCH logra su alta eficiencia gracias a que solo requiere una única pasada 
a través del conjunto de datos para realizar la agrupación, para ello utiliza cluster features 
que representan un conjunto de datos de forma resumida. 
Un CF es un conjunto de tres valores estadísticos resumidos que representan un conjunto de 
puntos de datos en un solo grupo. Estas estadísticas son las siguientes: 
• Conteo: Cuántos datos hay en el clúster. 
• Suma lineal: Sume las coordenadas individuales (X,Y). Esta es una medida de la 
ubicación del clúster. 
• Suma de cuadrados: Suma las coordenadas elevadas al cuadrado (X,Y). Esta es una 
medida de la dispersión del clúster. 
Recalcando que, juntas, la suma lineal y la suma al cuadrado son equivalentes a la media y 
la varianza de los datos (ver Figura 14). 
 
23 
 
 
 
 
Figura 14. Creación de clúster con BIRCH (Imagen tomada de [43]) 
Cluster feature tree 
Un árbol CF es una estructura de árbol compuesta por CFS (ver Figura 15). Un árbol CF 
representa una forma comprimida de los datos, preservando cualquier estructura de 
agrupamiento en los datos. Un árbol CF tiene los siguientes parámetros: 
• Factor de ramificación B: B determina el número máximo de hijos permitidos para 
un nodo no hoja. 
• Threshold T: T es el límite superior del radio de un grupo en un nodo hoja. 
• Número de entradas en un nodo hoja L. 
24 
 
 
Figura 15. Ejemplo de Cluster Feature Tree (Imagen tomada de [43]) 
 
25 
 
7. Metodología 
Para alcanzar los objetivos específicos de esta tesis, dividimos la metodología en cuatro 
etapas (ver Figura 16), mismas que se explican a continuación. 
 
Figura 16. Etapas de la metodología 
7.1. Entendimiento del problema 
En esta etapa se plantearon las áreas de oportunidad existentes en el campo de la 
bioinformática. En la selección del área de oportunidad sobresalió el tópico de la clasificación 
filogenética de organismos vivos utilizando el enfoque del procesamiento de señales 
genómicas. Por lo que para empezar a comprender este tópico se recurrió a documentación 
bibliográfica, teniendo como tareas la lectura de publicaciones científicas y libros quebrindaron información sobre la bioinformática y el análisis de secuencias genómicas. Una 
vez comprendidos tópicos como los principios de la biología molecular, la estructura genética 
de la célula y el análisis de secuencias genómicas mediante herramientas computacionales se 
prosiguió al estudio de lo siguiente: 
1. Estado del arte sobre los algoritmos de agrupamiento que se utilizan para formar 
grupos mediante secuencias genómicas. 
2. Estado del arte sobre los algoritmos de clustering jerárquico. 
El resultado de este paso de la metodología se puede ver reflejado en la sección anterior. 
Una vez leídos ambos tópicos se decidió abordar el problema del agrupamiento utilizando 
26 
 
técnicas de clustering jerárquico. Los motivos para elegir esta aproximación fueron que, con 
base en el estado del arte, se demostró que se pueden obtener buenos resultados al utilizar 
señales genómicas en algoritmos de clustering, y que los algoritmos de clustering jerárquico 
crean un árbol jerárquico similar a los utilizados por la filogenética. 
7.2. Definición de algoritmos y herramientas 
7.2.1. Adquisición de datos 
Para la extracción de las secuencias genómicas de los organismos se decidió utilizar 
como proveedor de datos al Centro Nacional para la Información Biotecnológica o por sus 
siglas en inglés NCBI, una división de la Biblioteca Nacional de Medicina de Estados Unidos 
[45]. Se seleccionó la base de datos de Nucleotide que contiene las secuencias genómicas de 
diversos organismos vivos proporcionadas por diferentes laboratorios. 
7.2.2. Transformación 
Con las secuencias de ADN extraídas desde NCBI se llevó a cabo la conversión de 
secuencias de bases a secuencias numéricas. Habiendo múltiples maneras de poder realizar 
esta conversión, se decidió por utilizar la representación Voss, una de las funciones de mapeo 
más populares. Voss emplea cuatro vectores indicadores binarios, cada uno destinado a 
denotar la presencia de un nucleótido de cada tipo en una ubicación específica dentro de la 
secuencia de ADN [46]. 
En la Figura 17 se puede ver un ejemplo a detalle de una secuencia de 15 caracteres, 
y su conversión a señal genómica utilizando Voss. En dicha figura podemos observar que 
tenemos una lista de entrada llamada “Secuencia” cuyos elementos (T, G, A, C) representan 
la secuencia de ADN a convertir, y como salida contamos con la lista de listas llamada 
“Señal” donde sus elementos son listas nombradas como Gn, An, Cn, Tn, haciendo referencia 
27 
 
a las bases que forman el ADN. Dentro de cada una de estas listas se guardan dos elementos 
(1 y 0); cuando se almacena el elemento 1 significa la presencia de un base, de lo contrario 
se almacena con el elemento 0. Al final las listas se emparejan al ser almacenadas dentro de 
la variable “Señal” formando así un vector que mapea nuestra secuencia de ADN. 
 
Figura 17. Ejemplo de transformación de secuencia de ADN a señal genómica usando Voss 
7.2.3. Caracterización 
Durante nuestra tarea de caracterización se decidió utilizar la transformada rápida de 
Fourier, tomando como base el enfoque del procesamiento de señales genómicas. Esta forma 
de caracterizar fue seleccionada porque nos genera un patrón común de la señal genómica en 
cuestión, reduciendo así la carga de procesamiento para el agrupamiento [47]. Siendo el 
principal motivo de utilizar este enfoque, el gran tamaño del vector obtenido durante nuestra 
etapa de mapeo ya que éste al ser representado por una lista de listas podría llegar a dificultar 
el procesamiento de nuestro algoritmo de clustering. 
7.2.4. Clustering 
Para llevar a cabo la parte del agrupamiento se investigaron algoritmos de clustering 
que pudieran aplicarse a organismos vivos, encontrando entre ellos K-Means [48]. Sin 
embargo, dado el objetivo de la tesis, se optó por utilizar BIRCH [49], ya que éste está 
diseñado para agrupar grandes cantidades de datos con una alta escalabilidad al integrar 
métodos jerárquicos de agrupamiento en la etapa inicial, y puede reajustar el aprendizaje 
28 
 
obtenido en los pasos anteriormente realizados [50]. 
7.3. Implementación 
Para realizar nuestros experimentos se optó por desarrollar una herramienta de software, 
la cual fue desarrollada considerando características específicas como la portabilidad y la 
independencia de módulos en nuestro código. 
La herramienta fue implementada incrementalmente al poner objetivos semanales que 
cumplieran con las características deseadas. Entre los objetivos planteados se destacan los 
siguientes: 
● Obtener la secuencia genómica de cualquier organismo vivo de la base de datos de 
NCBI. 
● Utilizar la transformación numérica Voss para mapear la secuencia genómica 
obtenida de NCBI. 
● Implementar la transformada rápida de Fourier para obtener las características de la 
señal genómica procesada. 
● Clasificar las señales genómicas mediante el algoritmo BIRCH. 
Al empezar el desarrollo del software se optó por utilizar el lenguaje de programación 
Python, ya que éste cuenta con herramientas prácticas y una amplia variedad de librerías que 
permiten hacer el trabajo de desarrollo de forma más rápida, a la vez que nos permite 
aprovechar las ventajas del paradigma orientado a objetos y la programación funcional. Entre 
las librerías que se utilizan está Scikit Learn, que nos permite acceder a una amplia variedad 
de herramientas de Machine Learning y estadística, y Biopython para realizar múltiples tareas 
relacionadas con las secuencias genómicas. La arquitectura del sistema desarrollado se 
29 
 
muestra en la Figura 18. 
 
Figura 18. Arquitectura del sistema implementado para el agrupamiento de señales genómicas 
El flujo de trabajo de la herramienta implementada se muestra en la Figura 19 en donde 
podemos observar el orden en el que se implementaron los pasos especificados en la sección 
7.2. 
 
Figura 19. Flujo del programa 
30 
 
La lógica del programa comienza con el archivo de configuración, en éste se configura 
la forma con la cual el programa operará, permitiendo elegir el algoritmo de clustering, la 
fecha para realizar las búsquedas, la opción de extraer secuencias genómicas por región o 
completas, el número de secuencias de un mismo tipo de virus a ser recuperadas, entre otras. 
En el archivo de configuración (ver Figura 20) contamos con dos secciones Default y Query. 
En la sección de Default contamos con las siguientes variables: 
• mail: Cuenta de correo con la cual nos registramos en NCBI (este paso es necesario 
para poder realizar más transacciones en caso de ser necesario, ya que se maneja un 
límite por día). 
• api_key: Token del usuario dado por NCBI 
• init_date: Fecha a partir de la cual se buscará en las bases de datos de NCBI 
• db: Base de datos de NCBI a ser utilizada 
• function: Función de mapeo a utilizar (Ejemplo: Atomic Number, Voss). 
Y para la sección de Query contamos con los siguientes parámetros: 
• max_results: Número de secuencias del mismo tipo de organismo que serán 
extraídas de la base de datos 
• queries: Arreglo con los nombres de los organismos a buscar en NCBI 
• combinations: Arreglo con las regiones genómicas que serán extraídas de nuestro 
organismo vivo, en caso de querer utilizar la secuencia completa se llena con el 
atributo ‘DEFAULT’ 
31 
 
 
Figura 20. Archivo de configuración del programa 
La primera parte del programa consiste en hacer una petición al endpoint de NCBI a 
través de Biopython, que cuenta con una implementación de Entrez (navegador de NCBI). 
Solicitando las secuencias seleccionadas previamente en el archivo de configuración 
mediante una petición Http, obteniendo como resultado un objeto que usa setters y getters 
que nos permiten la manipulación de los atributos biológicos que nos conciernen. En la Figura 
21 se ejemplifica la estructura del objeto Entrez. 
 
Figura 21. Objeto Entrez 
32 
 
Del objeto Entrez extraemos losIds de los organismos provistos por NCBI, acorde a 
nuestra búsqueda, para con estos Ids realizar otra petición con el fin de obtener como 
resultado las descripciones completas de cada organismo, siendo esta descripción una 
estructura de datos brindada por Biopython. Después, con base en el criterio de la selección 
de zonas, se eliminan aquellos resultados que no cumplan con las regiones elegidas, mismas 
que fueron especificadas por el usuario en el archivo de configuración. 
Como segunda parte las secuencias se guardan en una lista, para posteriormente ser 
enviadas a la función de transformación para que sean mapeadas con el fin de representar 
numéricamente las secuencias del ADN. Dentro de esta función se entra a un switch case 
donde se utiliza la transformación que el usuario desea. Cabe mencionar que se 
implementaron más funciones de mapeo como Atomic Number, Tetrahedron, Paired 
Numeric, entre otras. Para el caso de esta tesis se decidió utilizar Voss por su buen 
funcionamiento en los resultados de los trabajos estudiados en el estado del arte. 
En la tercera parte se obtiene un vector resultante por cada una de las secuencias 
genómicas, siendo éstas representadas numéricamente, pero al ser muy extensas se necesita 
aplicar el proceso de caracterización. Para ello utilizamos la transformada rápida de Fourier, 
ya que ésta nos permite sacar el patrón de la señal genómica reduciendo de esta forma los 
tiempos de complejidad para nuestro algoritmo de agrupamiento. Para este paso se 
implementaron las librerías Spectrum y Numpy (Ver la Figura 22). 
33 
 
 
Figura 22. Implementación de la transformada rápida de Fourier 
Finalmente proseguimos al proceso de clusterización en dónde las secuencias ya 
caracterizadas son la entrada para el algoritmo de clustering. En este caso y tomando en 
cuenta que en la filogenética se obtiene algo parecido a los árboles jerárquicos para 
determinar la similitud entre organismos, se optó por utilizar el algoritmo de BIRCH. Para la 
implementación decidimos utilizar Sklearn, librería que nos brinda implementaciones de 
algoritmos de machine learning de forma funcional. Para llevar a cabo la clusterización, es 
necesario establecer en la variable n_clusters el número de grupos que esperamos formar y 
mediante la función fit proporcionada por la clase Birch ingresamos nuestras secuencias 
genómicas ya procesadas. La implementación de dicho proceso en el código del programa se 
muestra en la Figura 23. 
 
Figura 23. Implementación de la función Birch 
34 
 
Finalmente, como salida obtenemos los resultados del agrupamiento del algoritmo, 
mismos que son guardados en la variable labels y son desplegados como se aprecia en la 
Figura 24. 
 
Figura 24. Resultados de salida de la función Birch 
 
35 
 
8. Resultados 
8.1. Datos de experimentación y validación 
Para evaluar el desempeño de BIRCH sobre señales genómicas, se decidió trabajar con 
el Virus del Papiloma Humano (HPV, por sus siglas en inglés). Este organismo cuenta con 
más de 200 tipos diferentes de virus [51]. Para elegir los tipos de HPV a ser procesados y 
validar los grupos generados por el algoritmo de clustering tomamos como base o gold 
standard el siguiente árbol filogenético de HPV (Ver Figura 25). 
 
Grupos de colores 
 
A5-A6: HPV alto riesgo 
Tipos: 51, 56, 66 
A7: HPV alto riesgo 
Tipos: 18, 39, 45, 59, 68 
A9: HPV alto riesgo 
Tipos: 16, 31, 33, 35, 52, 58 
 
Figura 25. Árbol filogenético del Papiloma Humano (HPV) (Imagen tomada de [52]) 
36 
 
 
La Figura 25 muestra un árbol filogenético para HPV. En las “ramas” se pueden observar 
distintos tipos de este virus, y a su vez éstos están divididos en grupos, mismos que fueron 
obtenidos de un alineamiento múltiple de secuencias utilizando la sección L2 [52]. 
Para nuestros experimentos elegimos trabajar únicamente con los grupos marcados en 
verde, azul y naranja, A7, A5-A6 y A9 respectivamente, debido a que éstos presentan los 
tipos de alto riesgo de HPV [52], mismos que se encuentran marcados en rojo en la Figura 
25. 
8.2. Diseño de experimentos y resultados obtenidos 
Para nuestros experimentos tomamos todos los tipos de HPV de los 3 grupos (A7, A9, 
A5-A6) con un total de 20 secuencias de ADN obtenidas de NCBI. Posteriormente las 
convertimos a señal genómica, usando Voss y la Transformada Rápida de Fourier, para 
alimentar el algoritmo. Los parámetros con los que ejecutamos BIRCH son los siguientes: 
• n_clusters : 3 (Dado que este número representa los grupos del gold standar) 
• Algoritmo Jerárquico: Aglomerative 
• Threshold: 0.5 
Prosiguiendo, el algoritmo de clustering nos etiquetará nuestras secuencias con el 
número de clúster que le fue asignado y finalmente se muestran los resultados de forma 
gráfica utilizando la librería Matplotlib, en donde se decidió tomar como valores 
significativos la Norma para el Eje X y la Media para el Eje Y. 
Para lograr los objetivos de esta tesis se decidieron realizar diferentes experimentos y a 
continuación se describen cada uno de ellos, así como los resultados obtenidos. 
37 
 
• Experimento I- Variantes de HPV de diferentes grupos: Para este experimento, 
se decidió tomar un tipo de virus por cada grupo, seleccionando el HPV 16 del grupo A9, el 
HPV 18 del grupo A7 y el HPV 51 del grupo A5-A6. Después de seleccionar dichas 
muestras, se descargaron del NCBI ocho variantes del tipo de virus elegido por grupo, 
haciendo un total de 24 elementos y utilizando como atributo de clusterización su región L2. 
En este experimento se buscó experimentar con 8 variantes del mismo virus, ya que cada 
virus tenía al menos 8 variantes y con esa cantidad se decidió por hacer un agrupamiento 
rápido mediante el algoritmo. 
Como podemos observar en la Tabla 1 todas las variantes del HPV 18 fueron agrupadas 
en el mismo clúster (1), las del HPV 16 se agruparon juntas en el clúster (0) mientras que las 
del tipo 51 se agruparon en el clúster (2). Esto demuestra que podemos agrupar de manera 
correcta, de acuerdo con el gold standar, las diferentes variantes de los tipos de virus. 
 
Tabla 1. Resultados de agrupamiento del experimento I – variantes de HPV de diferentes grupos 
Tipo Etiqueta Grupo Tipo Etiqueta Grupo Tipo Etiqueta Grupo 
18.1 1 A7 16.1 0 A9 51.1 2 A5-A6 
18.2 1 A7 16.2 0 A9 51.2 2 A5-A6 
18.3 1 A7 16.3 0 A9 51.3 2 A5-A6 
18.4 1 A7 16.4 0 A9 51.4 2 A5-A6 
18.5 1 A7 16.5 0 A9 51.5 2 A5-A6 
18.6 1 A7 16.6 0 A9 51.6 2 A5-A6 
18.7 1 A7 16.7 0 A9 51.7 2 A5-A6 
18.8 1 A7 16.8 0 A9 51.8 2 A5-A6 
38 
 
 
 
Figura 26. Ploteo del experimento I – variantes de HPV de diferentes grupos 
 
39 
 
• Experimento II – Variantes de HPV del grupo A7: Para este experimento, se 
decidió tomar tres tipos de virus del grupo A7, seleccionando como muestras el HPV 18, 39 
y 45. Después de seleccionar las muestras, se descargaron del NCBI ocho variantes de los 
tipos de virus elegidos, haciendo un total de 24 elementos utilizando como atributo de 
clasificación su región L2. 
Como podemos observar en la Tabla 2 todas las variantes del HPV 18 fueron agrupadas 
en el mismo clúster (2), las del HPV 39 se agruparon juntas en el clúster 0 mientras que las 
del tipo 45 se agruparon en el clúster (1). Esto demuestra que a pesar de ser del mismo grupo 
(A7) los virus muestran diferencias entre ellos y es posible agruparlos con nuestra 
metodología. Este mismo comportamiento puede observarse en la Figura 27, en donde se 
encuentra un cúmulo de puntos morados, uno de puntos rojos y uno de puntos azules-cyan; 
correspondientes a variantes del HPV 39, HPV 18 y HPV 45, respectivamente. 
Tabla 2. Resultados de agrupamiento del experimento II – variantes de HPV del grupo A7 
Tipo Etiqueta Grupo Tipo Etiqueta Grupo Tipo Etiqueta Grupo 
18.1 2 A7 39.1 0 A7 45.1 1 A7 
18.2 2 A7 39.2 0 A7 45.2 1 A7 
18.3 2 A7 39.3 0 A7 45.3 1 A7 
18.4 2 A7 39.4 0 A7 45.4 1 A7 
18.5 2 A7 39.5 0A7 45.5 1 A7 
18.6 2 A7 39.6 0 A7 45.6 1 A7 
18.7 2 A7 39.7 0 A7 45.7 1 A7 
18.8 2 A7 39.8 0 A7 45.8 1 A7 
 
40 
 
 
Figura 27. Ploteo del experimento II – variantes de HPV del grupo A7 
 
41 
 
• Experimento III – Variantes de HPV del grupo A9: Para este experimento, se 
decidió tomar tres tipos de virus del grupo A9, seleccionando como muestras el HPV 58, 33 
y 31. Después de seleccionar las muestras, se descargaron del NCBI ocho variantes de los 
tipos de virus elegidos, haciendo un total de 24 elementos utilizando como atributo de 
clusterización su región L2. 
Como podemos observar en la Tabla 3 todas las variantes del HPV 58 fueron agrupadas en 
el mismo clúster (2), las del HPV 33 se agruparon juntas en el clúster (1) mientras que las del 
tipo 31 se agruparon en el clúster (0). Similar al experimento anterior, se demuestra que a 
pesar de ser del mismo grupo (A9) los virus muestran diferencias entre ellos. 
• 
 
Figura 28. Ploteo del experimento III - Variantes de HPV del grupo A9 
 
 
 
42 
 
Tabla 3. Resultados de agrupamiento del experimento III - variantes de HPV del grupo A9 
Tipo Etiqueta Grupo Tipo Etiqueta Grupo Tipo Etiqueta Grupo 
58.1 2 A9 33.1 1 A9 31.1 0 A9 
58.2 2 A9 33.2 1 A9 31.2 0 A9 
58.3 2 A9 33.3 1 A9 31.3 0 A9 
58.4 2 A9 33.4 1 A9 31.4 0 A9 
58.5 2 A9 33.5 1 A9 31.5 0 A9 
58.6 2 A9 33.6 1 A9 31.6 0 A9 
58.7 2 A9 33.7 1 A9 31.7 0 A9 
58.8 2 A9 33.8 1 A9 31.8 0 A9 
 
 
43 
 
• Experimento IV – Variantes de HPV del grupo A5-A6: Para este experimento, 
se decidió tomar tres tipos de virus del grupo A5-A6, seleccionando como muestras el HPV 
30, 53 y 56. Después de seleccionar las muestras, se descargaron del NCBI ocho variantes de 
los tipos de virus elegidos, haciendo un total de 24 elementos utilizando como atributo de 
clasificación su región L2. 
 
Figura 29. Ploteo del experimento IV – variantes de HPV del grupo A5-A6 
 
Como podemos observar en la Tabla 4 todas las variantes del HPV 53 fueron agrupadas 
en el mismo clúster (2), las del HPV 30 se agruparon juntas en el clúster (1) mientras que las 
del tipo 56 se agruparon en el clúster (0) al igual que los dos experimentos anteriores, se 
demuestra que a pesar de ser del mismo grupo (A5 – A6) es posible agruparlos o 
diferenciarlos con nuestra metodología. 
 
 
 
 
44 
 
Tabla 4. Resultados de agrupamiento del experimento IV – variantes de HPV del grupo A5-A6 
Tipo Etiqueta Grupo Tipo Etiqueta Grupo Tipo Etiqueta Grupo 
53.1 2 A5-A6 30.1 1 A5-A6 56.1 0 A5-A6 
53.2 2 A5-A6 30.2 1 A5-A6 56.2 0 A5-A6 
53.3 2 A5-A6 30.3 1 A5-A6 56.3 0 A5-A6 
53.4 2 A5-A6 30.4 1 A5-A6 56.4 0 A5-A6 
53.5 2 A5-A6 30.5 1 A5-A6 56.5 0 A5-A6 
53.6 2 A5-A6 30.6 1 A5-A6 56.6 0 A5-A6 
53.7 2 A5-A6 30.7 1 A5-A6 56.7 0 A5-A6 
53.8 2 A5-A6 30.8 1 A5-A6 56.8 0 A5-A6 
 
 
45 
 
• Experimento V – Agrupamiento de HPV de diferentes grupos: Para este 
experimento, se decidió tomar todas los tipos de virus de todos los grupos (A7, A9 y A5-A6), 
seleccionando como muestras el HPV 51, 67, 70, 33, 16, 59, 69, 52, 58, 35, 31, 68, 18, 66, 
53, 56, 26, 30, 39 y 45. Después de seleccionar las muestras, se descargó del NCBI una sola 
secuencia por cada tipo de virus elegido, haciendo un total de 20 secuencias utilizando como 
atributo de clusterización su región L2. 
La Figura 30 muestra la distribución gráfica de los resultados de este experimento. Para 
el eje de la X se tomó como parámetro de mapeo estadístico la norma del vector y en el eje 
Y la media estadística. Los puntos dentro del ploteo representan las diversas variedades del 
HPV que se tomaron, cada una está pintada de un color acorde al resultado obtenido del 
agrupamiento. Podemos observar que, a diferencia de los experimentos anteriores, no 
parecieran formarse cúmulos cercanos de los virus, ya que a pesar de ser de un mismo grupo, 
los puntos se encuentran distantes en los valores numéricos obtenidos por el mapeo 
estadístico. 
 
Figura 30. Ploteo del experimento V – agrupamiento de HPV de distintos grupos 
46 
 
 
En la Tabla 5 podemos apreciar los resultados de clusterización para diferentes tipos de 
virus de diferentes grupos, en donde 17 de 20 tipos de virus fueron etiquetados correctamente 
con respecto al gold standar, dando una precisión de 85%. Los casos en los que se obtuvieron 
diferentes resultados de clasificación a los esperados fueron el HPV 69, 26 y 51 (marcados 
con rojo); estos tres tipos fueron agrupados en el clúster 0 (perteneciente al grupo A9) siendo 
el clúster 2 la salida esperada, ya que estos virus pertenecen al grupo A5-A6. 
Tabla 5. Resultados de agrupamiento del experimento V –HPV de distintos grupos 
 
 
Tipo Etiqueta Grupo Tipo Etiqueta Grupo Tipo Etiqueta Grupo 
69 0 A5-A6 18 1 A7 67 0 A9 
26 0 A5-A6 45 1 A7 58 0 A9 
51 0 A5-A6 39 1 A7 33 0 A9 
30 2 A5-A6 70 1 A7 52 0 A9 
53 2 A5-A6 68 1 A7 31 0 A9 
56 2 A5-A6 59 1 A7 35 0 A9 
66 2 A5-A6 16 0 A9 
47 
 
9. Conclusiones 
Tomando como base los resultados obtenidos, podemos apreciar que efectivamente el 
algoritmo BIRCH realiza un buen acoplamiento de los organismos vivos al utilizar el enfoque 
de procesamiento de señales genómicas. Dicha afirmación la podemos validar al observar el 
experimento final de este trabajo, en el cual se obtuvo un porcentaje de éxito del 85% en el 
agrupamiento generado por el algoritmo con base en el gold standar elegido. Este resultado 
a su vez demuestra la efectividad del enfoque del GSP, y que el algoritmo BIRCH es una 
buena opción para encontrar similitudes, debido a que éste nos permite implementar 
algoritmos jerárquicos para encontrar semejanzas entre los grupos formados, tomando como 
referencia diferentes parámetros estadísticos. 
Con relación a la implementación de los experimentos, el lenguaje de programación 
Python fue de gran ayuda en las diferentes etapas de la metodología. De dicho lenguaje 
utilizamos principalmente las librerías de BioPython y Scikit-learn, la primera para obtener 
de forma sencilla las secuencias de organismos vivos del NCBI y la última para las etapas de 
caracterización y agrupamiento. Todas estas implementaciones y APIs ofrecidas por el 
lenguaje nos permitieron avanzar de forma rápida; quizás la desventaja encontrada durante 
el desarrollo de la metodología fue la adaptación en el programa de diferentes librerías 
hablando en temas del versionamiento, debido a que algunas librerías no eran compatibles. 
Como trabajo futuro y hablando primero sobre las mejoras que se le pudieran hacer a la 
herramienta, existen casos de uso en los cuales es necesario hacer muchas búsquedas por un 
mismo organismo debido a que las regiones del ADN deseado no se encuentran en las 
opciones de búsqueda, por lo que aquí se pudiera implementar una búsqueda dinámica hasta 
encontrar el resultado deseado. Pasando a temas que conciernen al enfoque de GSP, aquí 
48 
 
tenemos un campo amplio para explorar, ya sea utilizando alguna otra forma de mapeo como 
Atomic Number o Integer, tomando una función matemática diferente a la Transformada 
Rápida de Fourier para caracterizar las señales o simplemente dentro del algoritmo BIRCH 
utilizar diferentes medidas en los parámetros para generar el Clustering Feature Tree(CFT) y 
probar otros algoritmos de clustering jerárquico sobre el generado CFT. Y finalmente en el 
área biológica, se pudiera experimentar con otras regiones genéticas del organismo vivo 
(incluso concatenar regiones), ya que en este trabajo probamos únicamente con L2, para ver 
si se llegasen a generar buenos resultados de agrupamiento con base al gold standar. 
49 
 
Bibliografía 
[1] Murphy, K. P. (2012). Machine learning: a probabilistic perspective. MIT press. 
[2] Shortliffe, E. H. (2006). Biomedical informatics. J. J. Cimino (Ed.). Springer Science+ 
Business Media, LLC. 
[3] Kuska (1998) Beer, Bethesda, and biology: how “genomics” came into being. J Nat 
Cancer Inst 90:93[4] Selzer, P. M., Marhöfer, R. J., & Rohwer, A. (2008). Applied bioinformatics. An 
introduction–Springer, Verlag, Berlin, Heidelberg, Germany, 260. 
[5] Tatusov RL, Koonin EV, Lipman DJ (1997) A genomic perspective on protein families. 
Science 287: 631 – 637 
[6] Recuero, P. (2017). Los 2 tipos de aprendizaje en Machine Learning: supervisado y no 
supervisado. Mayo 15, 2020, de LUCA Sitio web: https://data-speaks.luca-
d3.com/2017/11/que-algoritmo-elegir-en-ml-aprendizaje.html 
[7] Baikey KD. 1994. Numerical taxonomy and cluster analysis. In: Typologies and 
taxonomies: an introduction to classification. USA: SAGE Publications, 34–65. 
[8] (2018). CD-HIT. Mayo 15, 2020, de Weizhong Li's Group Sitio web: http://weizhongli-
lab.org/cd-hit/ 
[9] Edgar RC. 2010. Search and clustering orders of magnitude faster than BLAST. 
Bioinfor-matics 26(19):2460–2461 
[10] James, B., Luczak, B., &. (2018). MeShClust: an intelligent tool for clustering DNA 
sequences. Mayo 15, 2020, de Oxford Academic Sitio web: 
https://academic.oup.com/nar/article/46/14/e83/4990634 
[11] NCBI. (2009). Genomic Signal Processing. Mayo 15, 2020, de PMC Sitio web: 
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2766787/ 
https://data-speaks.luca-d3.com/2017/11/que-algoritmo-elegir-en-ml-aprendizaje.html
https://data-speaks.luca-d3.com/2017/11/que-algoritmo-elegir-en-ml-aprendizaje.html
http://weizhongli-lab.org/cd-hit/
http://weizhongli-lab.org/cd-hit/
https://academic.oup.com/nar/article/46/14/e83/4990634
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2766787/
50 
 
[12] Larry Escobar. (2017). PROCESADORES DIGITALES DE SEÑALES (DSPs) Y 
APLICACIONES. Mayo 15, 2020, de UNAM Sitio web: http://odin.fi-
b.unam.mx/labdsp/files/ADSP/apuntes/dsp_apli0_17 
[13] Zhao B, Duan V, Yau SS-T. 2011. A novel clustering method via nucleotide-based 
Fourier power spectrum analysis. Journal of Theoretical Biology 279(1):83–89 
[14] Mendizabal-Ruiz, G., Román-Godínez, I., Torres-Ramos, S., Salido-Ruiz, R. A., 
Vélez-Pérez, H., & Morales, J. A. (2018). Genomic signal processing for DNA 
sequence clustering. PeerJ, 6, e4264. 
[15] Ramírez-López, V. Román-Godínez, I., Torres-Ramos, S. (2019) Análisis de 
representaciones numéricas de secuencias de ADN usando K-means. Universidad de 
Guadalajara. 
[16] Narita, A., Nagai, M., Mizuno, S., Ogishima, S., Tamiya, G., Ueki, M., ... & Yamanaka, 
C. (2020). Clustering by phenotype and genome-wide association study in autism. 
Translational psychiatry, 10(1), 1-12. 
[17] Eyüpoğlu, C. (2016). Clustering of Mitochondrial D-loop Sequences Using Similarity 
Matrix, PCA and K-means Algorithm. International Journal of Intelligent Systems and 
Applications in Engineering, 244-248. 
[18] Frandsen, P. B., Calcott, B., Mayer, C., & Lanfear, R. (2015). Automatic selection of 
partitioning schemes for phylogenetic analyses using iterative k-means clustering of 
site rates. BMC evolutionary biology, 15(1), 1-17. 
[19] Bustamam, A., Tasman, H., Yuniarti, N., Frisca, & Mursidah, I. (2017, July). 
Application of k-means clustering algorithm in grouping the DNA sequences of 
hepatitis B virus (HBV). In AIP Conference Proceedings (Vol. 1862, No. 1, p. 030134). 
AIP Publishing LLC. 
[20] National Human Genome Research Institute, ADN (Ácido Desoxirribonucleico). 
Marzo 03, 2021, de NIH Sitio web: https://www.genome.gov/es/genetics-
glossary/ADN-acido-Desoxirribonucleico 
http://odin.fi-b.unam.mx/labdsp/files/ADSP/apuntes/dsp_apli0_17
http://odin.fi-b.unam.mx/labdsp/files/ADSP/apuntes/dsp_apli0_17
https://www.genome.gov/es/genetics-glossary/ADN-acido-Desoxirribonucleico
https://www.genome.gov/es/genetics-glossary/ADN-acido-Desoxirribonucleico
51 
 
[21] Magalhães, Lana. ADN: Qué es, definición y estructura (2021). Abril 27, 2021, de Toda 
Materia sitio web: https://www.todamateria.com/adn/ 
[22] Secuenciación del ADN (2021). Abril 31, 2021, de National Human Genome Research 
Institute Sitio web: https://www.genome.gov/27563183/secuenciacin-del adn/ 
[23] National Human Genome Research Institute, Genoma (Ácido Desoxirribonucleico). 
Marzo 03, 2021, de NIH Sitio web: https://www.genome.gov/es/genetics-
glossary/Genoma 
[24] Shelley Farrar Stoakes, ¿Qué es la Filogenia?. Marzo 14, 2021. Sitio web: 
https://www.news-medical.net/life-sciences/What-is-Phylogeny-(Spanish).aspx 
[25] Gregory TR. Understanding evolutionary trees. Evolution: Education and Outreach 
2008; 1: 121-137. 
[26] Simmons MP, Freudenstein JV. Artifacts of coding amino acids and other composite 
characters for phylogenetic analysis. Cladistics. 2002; 18: 354– 365. 
[27] Procariotas (2013), Marzo 17, 2021. Sitio web Universidad Nacional del Nordeste: 
http://www.biologia.edu.ar/bacterias/micro1.htm 
[28] Michu E. A short guide to phylogeny reconstruction. Plant soil environ. 2007; 53 (10): 
442–446. 
[29] Mendoza-Revilla, Javier. (2012). Aportes de la filogenética a la investigación 
médica. Revista Medica Herediana, 23(2), 119-127. 
[30] Abascal, Federico & Irisarri, Iker & Zardoya, Rafael. (2014). Filogenia y Evolución 
Molecular. 
[31] Coltell, Óscar, Arregui, María, Fabregat, Antonio, & Portolés, Olga. (2008). La 
bioinformática en la práctica médica: Integración de datos biológicos y 
clínicos. Revista médica de Chile, 136(5), 645-652 
[32] Escobar, C. A. M., Murillo, L. V. R., & Soto, J. F. (2011). Tecnologías bioinformáticas 
para el análisis de secuencias de ADN. Scientia et technica, 3(49), 116-121. 
https://www.todamateria.com/autor/lana-magalhaes/
https://www.todamateria.com/adn/
https://www.genome.gov/27563183/secuenciacin-del%20adn/
https://www.genome.gov/es/genetics-glossary/Genoma
https://www.genome.gov/es/genetics-glossary/Genoma
https://www.news-medical.net/life-sciences/authors/shelley-farrar-stoakes
https://www.news-medical.net/life-sciences/What-is-Phylogeny-(Spanish).aspx
http://www.biologia.edu.ar/bacterias/micro1.htm
52 
 
[33] (2015). Secuenciación del ADN. Marzo 21, 2021, de National Human Genome 
Research Institute Sitio web: https://www.genome.gov/27563183/secuenciacin-del-
adn/ 
[34] National Center for Biotechnology Information. (2002). BLAST topics. Marzo 25, 
2021, de National Library of Medicine Sitio web: 
https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=BlastDocs&DO
C_TYPE=BlastHelp 
[35] Ramírez López Valeria (2019). Análisis de representaciones numéricas de secuencias 
de ADN usando K-means. Universidad de Guadalajara 
[36] Dougherty E., Huang Y., Seungchan K., Cai X., & Yamaguchi R. (2009). 
Genomic Signal Processing. Octubre 5, 2018, de NCBI Sitio 
web: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2766787/ 
[37] Dougherty E., Shmulevich I., Chen J., & Wang Z. (2005). Genomic signal 
processing: perspectives. En Genomic signal processing and Statistics (p.1). USA: 
Hindawi Publishing Corporation. 
[38] Kwan H., Arniker S. (2009). Numerical representation of DNA sequences. En IEEE 
International Conference on Electro/Information Technology (pp. 307–310) 
[39] El Naqa, I., & Murphy, M. J. (2015). What is machine learning?. In machine learning 
in radiation oncology (pp. 3-11). Springer, Cham. 
[40] Soria, E. (2005). Transformada Discreta de Fourier. Marzo 30, 2021, de Universitat de 
València Sitio web: https://www.uv.es/soriae/tema_5_pds.pdf 
[41] Smith S. (2011). Chapter 12: The Fast Fourier Transform. Octubre 6, 2018, 
de California Technical Publishing Sitio web: http://www.dspguide.com/ch12.htm 
[42] Cao, S. (2013). Replicate the Fourier transform time-frequency 
domains correspondence illustration using TikZ. Ocutubre 6, 2018, de TEX Sitio 
web: https://tex.stackexchange.com/questions/127375/replicate-the-fourier-
transform-time frequency-domains-correspondence-illustrati 
https://www.genome.gov/27563183/secuenciacin-del-adn/
https://www.genome.gov/27563183/secuenciacin-del-adn/
https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=BlastDocs&DOC_TYPE=BlastHelp
https://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=Web&PAGE_TYPE=BlastDocs&DOC_TYPE=BlastHelphttps://www.ncbi.nlm.nih.gov/pmc/articles/PMC2766787/
https://www.uv.es/soriae/tema_5_pds.pdf
http://www.dspguide.com/ch12.htm
53 
 
[43] Larose, D. T. (2015). Data mining and predictive analytics. John Wiley & Sons. 
[44] Zhang, T., Ramakrishnan, R., & Livny, M. (1997). BIRCH: A new data clustering 
algorithm and its applications. Data Mining and Knowledge Discovery, 1(2), 141-182. 
[45] National Library of Medicine. (1988). Welcome to NCBI. Mayo 26, 2020, de NIH Sitio 
web: https://www.ncbi.nlm.nih.gov 
[46] Voss, R. F. (1992). Evolution of long-range fractal correlations and 1/f noise in DNA 
base sequences. Physical review letters, 68(25), 3805. 
[47] Hoang, T., Yin, C., Zheng, H., Yu, C., He, R. L., & Yau, S. S. T. (2015). A new method 
to cluster DNA sequences using Fourier power spectrum. Journal of theoretical 
[48] Lloyd, S. (1982). Least squares quantization in PCM. IEEE transactions on information 
theory, 28(2), 129-137. 
[49] Zhang, T., Ramakrishnan, R., & Livny, M. (1996). BIRCH: an efficient data clustering 
method for very large databases. ACM sigmod record, 25(2), 103-114. 
[50] Han, J., Pei, J., & Kamber, M. (2011). Data mining: concepts and techniques. Elsevier. 
[51] Instituto Nacional del Cáncer. (2019). VPH y el cáncer. Mayo 26, 2020, de NIH Sitio 
web:https://www.cancer.gov/espanol/cancer/causas-prevencion/riesgo/germenes-
infecciosos/vph-y-cancer 
[52] Los Alamos National Laboratory. Human papillomaviruses: a compilation and analysis 
of nucleic acid and amino acid sequences. 1997. Available at: http://hpv-web.lanl.gov 
https://www.ncbi.nlm.nih.gov/
https://www.cancer.gov/espanol/cancer/causas-prevencion/riesgo/germenes-infecciosos/vph-y-cancer
https://www.cancer.gov/espanol/cancer/causas-prevencion/riesgo/germenes-infecciosos/vph-y-cancer

Otros materiales