Table Of ContentUso de algoritmos de aprendizaje automático aplicados a bases de
datos genéticos
RosarioGagoUtrera
MásteruniversitarioenBioinformáticayBioestadística
Consultor:PauAndrioBalado
Juniode2017
Esta obra está sujeta a una licencia
de Reconocimiento-NoComercial-
SinObraDerivada 3.0 España de
CreativeCommons
Ficha del trabajo final
Títulodeltrabajo: Uso de algoritmos de aprendizaje automático aplicados a bases de datos
genéticos
Nombredelautor: RosarioGagoUtrera
Nombredelconsultor: PauAndrioBalado
Fechadeentrega: 06/2017
Titulación: MásteruniversitarioenBioinformáticayBioestadística
ÁreadelTrabajoFinal: ProgramaciónparalaBioinformática
Idiomadeltrabajo: Castellano
Palabrasclaves: MachineLearning,SNP,HapMap
Resumen
Lacantidaddedatosbiológicosdisponibleparasuanálisissehamultiplicadoexponencialmentealolargo
delaúltimadécada,ysigueaumentandoaunritmovertiginoso.Ahorasedisponededatosdenaturaleza
muyvariada,porejemplo:secuenciasdeADN,simulacionesdedinámicadeproteínas,informaciónsobre
nivelesdeexpresión...
Amedidaquecrecenennúmeroyvariedadlainformacióndisponibletambiénsevadificultandoelproceso
paraconseguirextraerinformaciónútildeella,sehacenecesariorecurriraprocedimientosautomatizados
queintentenayudarenlatareadeanalizarlosdatos.
Este trabajo se ha centrado en unos datos concretos del proyecto de HapMap, acotados a nivel de
cromosoma,ytrabajandocondatosdeSNPscomunes.
Sobreestosdatosseharealizadounestudiocomparativodediferentestécnicasdeaprendizajeautomático
con el propósito de determinar cuáles proporcionan mejores resultados, partiendo desde la optimización
de la representación de los datos computacionalmente y llegando hasta la comparación de los resultados
obtenidos.
III
Abstract
Thequantityofbiologicaldataavailablehasmultiplicatedexponentiallyduringthelastdecade,andkeeps
on increasing very rapidly. Now, data of various kinds are available, such as: DNA sequences, protein
dynamicsimulations,expressionlevelsinformation...
Astheinformationavailablegrowsinnumberandvariety,theprocessofobtainingusefullinformationout
ofitgetsalsomorecomplicatedandautomatedprocedurestoanalysethedatabecomenecessary.
ThisworkhasfocusedonsomespecificdatafromtheHapMapproject,enclosedinachromosomeselected,
andworkingwithSNPscommondata.
A study to determine the best way of representing them to treat them with Machine Learning techniques
has been carried out. The way of optimising the computational treatment has also been searched for.
Somealgorithmshavebeentrainedcomparingtheperformanceobtainedfromeachofthemandtheresults
obtainedhavebeencompared.
V
Índice general
Fichadeltrabajofinal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . III
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V
Índicedefiguras XI
Índicedetablas XIII
1. Introducción 1
1.1. ContextoyJustificacióndelTrabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1. Descripcióngeneral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2. JustificacióndelTFM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. ObjetivosdelTrabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1. Objetivosgenerales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2. Objetivosespecíficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Enfoqueymétodoseguido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. PlanificacióndelTrabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.1. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4.2. Calendario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.3. Hitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5. Brevesumariodeproductosobtenidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6. Brevedescripcióndelosotroscapítulosdelamemoria . . . . . . . . . . . . . . . . . . . . . . . 6
2. ElproyectoHapmap.Preparacióndelosdatos 9
2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. ElproyectoHapMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.1. Nocionesiniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2.2. Conceptosrelacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.3. Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
VII
PoblaciónanalizadaFaseII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3. Preparacióndelosdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.1. Seleccióndelosdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.2. Obtencióndelosdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3.3. Formatodelosficheros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Ficherosdedatosdelcromosoma15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.4. Transformacióndelosdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
SeleccióndelosdatosSNPscomunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Reordenacióndelosdatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Codificacióndelainformación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4. Detallestécnicos.Implementación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4.1. EllenguajePython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
EvolucióndellenguajePython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.2. Organizaciónyestructuradelcódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Ficherodeconfiguración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Utilidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Procesos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3. Eldirectoriodedatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.5. Optimizacióndelrendimientodelproceso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2. Estimacióninicialdetiempos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.3. Primeraetapadeoptimización.Optimizacióndecódigo . . . . . . . . . . . . . . . . . . 21
2.5.4. Segundaetapadeoptimización.Paralelismo . . . . . . . . . . . . . . . . . . . . . . . . . 21
ThreadsenPython.GIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
SubprocesosenPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3. AplicacióndealgoritmosdeMachineLearning 23
3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2. Machinelearning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1. Nocionesiniciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2. Problemasdeapredizajeautomático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Seleccióndealgoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.1. Aprendizajesupervisado.Algoritmosdeclasificación . . . . . . . . . . . . . . . . . . . . 24
Description:La cantidad de datos biológicos disponible para su análisis se ha es un subcampo de las ciencias de la computación y una rama de la inteligencia bench_k_means(KMeans(init='k-means++', n_clusters=n_digits, n_init=10),