La minería de datos en bioinformática Dra. Rocío Romero Zaliz M4M Lab www.m4m.es rocio@decsai.ugr.es Dept. Ciencias de la Computación e Inteligencia Artificial, Universidad de Granada
Bioinformática Necesidad de herramientas para el manejo de grandes cantidades de datos Automatización de procesos Herramientas de búsqueda en grandes bases de datos Búsqueda de información oculta en los repositorios Herramientas de predicción y simulación
Automatización de procesos Open Bioinformatics Foundation Open Source Ayuda a la programación open source en bioinformática: Servidores CVS Reuniones y conferencias
Open Bioinformatics Foundation BioPerl (http://www.bioperl.org) BioPython (http://www.biopython.org) BioJava (http://www.biojava.org) BioSQL (http://www.biosql.org) Etc… (http://www.open-bio.org)
Búsqueda de información oculta en repositorios de datos Inteligencia Artificial (AI) Minería de Datos (DM) Minería de Textos (TM) Descubrimiento de información (KD) Aprendizaje Automático (ML)
Inteligencia Artificial Automatizar tareas que requieran un comportamiento inteligente: Control Planificación y organización Escritura manual Lenguaje natural Reconocimiento del habla Reconocimiento de caras
Aprendizaje automático Desarrollo de técnicas y algoritmos que permitan a los ordenadores “aprender” Teoría de juegos Análisis de mercados Detección de fraudes en tarjetas de crédito Motores de búsqueda Bioinformática
Aprendizaje automático Aprendizaje supervisado Aprendizaje no supervisado Aprendizaje semi-supervisado Aprendizaje por refuerzo
Minería de datos “Proceso de búsqueda de patrones automático en grandes volúmenes de datos” Clasificación Reglas de asociación Agrupamiento de datos Estadística
Minería de textos Text data mining Objetivos “proceso de adquirir información de calidad a partir de un texto” Objetivos Categorización de texto Agrupamiento de textos Extracción de conceptos Sumarización de documentos
Agrupamiento de datos
Agrupamiento de datos El agrupamiento de datos o data clustering consiste en la clasificación de objetos similares en diferentes grupos. Más precisamente, consiste en particionar un conjunto de datos en subconjuntos o clusters de tal manera que estos tengan “algo en común”. Proximidad Similitud Aprendizaje no supervisado
Tipos de clustering Particionales Jerárquicos Aglomerativos Divisibles Hierarchical algorithms find successive clusters using previously established clusters, whereas partitional algorithms determine all clusters at once. Hierarchical algorithms can be agglomerative (bottom-up) or divisive (top-down). Agglomerative algorithms begin with each element as a separate cluster and merge them in successively larger clusters. Divisive algorithms begin with the whole set and proceed to divide it into successively smaller clusters
Clustering particional
Clustering jerárquico Aglomerativo Divisible
Objetivo Minimizar la distancia intracluster Maximizar la distancia entre clusters
Propiedades de los clusters Numéricos vs. Categóricos
Propiedades de los clusters Disjuntos vs. No disjuntos
Propiedades de los clusters Completos vs. Incompletos
Formas de los clusters
K-means Particional Distancia euclídea Necesita el valor de k (#clusters) Búsqueda de prototipos Sensible a outliers
K-means Ubicar k (2) puntos en el espacio representado por los objetos a ser agrupados. Estos k puntos son los centroides iniciales de cada grupo
K-means Asignar cada objeto al grupo que esté más cercano a su centroide
K-means Recalcular la posición de los k centroides
K-means Repetir pasos 2 y 3 hasta que los prototipos ya no varíen De esta manera se minimiza la distancia intracluster según la metrica dada
K-means http://home.dei.polimi.it/matteucc/Clustering/tutorial_html/AppletKM.html
Single-linkage Jerárquico Aglomerativo Si hay un error en algún paso no se puede volver atrás …
Single-linkage Dado un conjunto de N (5) elementos a ser agrupado y una matriz de distancia (o similitud) de N x N: d 1 2 3 4 5 6 10 13 8 7
Single-linkage Comenzar por asignar cada item a un cluster. Tenemos 5 clusters Sean las distancias entre los clusters las mismas que entre los elementos de cada cluster d 1 2 3 4 5 6 10 13 8 7
Single-linkage Encontrar el par más cercano de clusters y unirlo en un único cluster. Tenemos 4 clusters d 1 2 3 4 5 6 10 13 8 7
Single-linkage Calcular las distancias entre el nuevo cluster y los viejos clusters d 1 2-3 4 5 5,5 10 13 4,5 8,5 3 d 1 2 3 4 5 6 10 13 8 7
Single-linkage Repetir los pasos 2 y 3 hasta que todos los elementos se encuentren en el mismo cluster de tamaño N
Single-linkage
Microarrays
Microarray
Fabricación
Fuentes de errores técnicos Variación entre spots replicados en el mismo slide. Variación entre spots replicados en distintos slides. Variación introducida por rayones o polvo. Variación introducida por eliminación del background. Variación introducida a tomar las muestras de tejidos. Variación introducida por la extracción del RNA. Plant growth and stress conditions • Tissue variation • RNA quality • Efficiency of labeling (esp. Cy3 vs Cy5) • Reproducibility, pin effects • Non-uniformity, background, cross-hybrid’n • Varaiable scanner performance • Inaccurate gridding • Inconsistent background subtraction • Faulty annotation
Fuentes de errores sistemáticos Por utilizando dyes diferentes. Por problemas en el print tip. Plant growth and stress conditions • Tissue variation • RNA quality • Efficiency of labeling (esp. Cy3 vs Cy5) • Reproducibility, pin effects • Non-uniformity, background, cross-hybrid’n • Varaiable scanner performance • Inaccurate gridding • Inconsistent background subtraction • Faulty annotation
Dye swap Solo para el caso de microarrays de dos canales. Hay un sesgo al hibridar con un dye o con otro. Se hace todo por duplicado: Array 1: A vs. B Array 2: B vs. A Luego se promedio los valores obtenidos y se normalizan.
Diseño de experimentos ¿Cuántas replicas biológicas son necesarias? ¿Cuántas réplicas técnicas son necesarias? Balance entre costo, equipamiento, precisión, etc. Es necesario mantener las condiciones de entorno para los diferentes microarrays para evitar introducir sesgos. Es necesario mantener una cantidad suficiente de referencia común entre los distintos experimentos.
Referencia universal
Análisis de la imagen Balance de color. Fondo. Polvo y rayaduras. BIEN MAL
Malas imágenes
Detección de spots SRG Fixed Circle
Normalización ¿Por qué? ¿Como sabemos si es necesario? Para corregir las diferencias entre muestras en el mismo microarray o entre diferentes microarrays que no corresponden a variaciones biológicas. ¿Como sabemos si es necesario? Examinado spots de control, donde se sabe que no hay expresión diferenciada.
Expresión diferenciada Intentamos detectar genes que son diferencialmente regulados entre tratamiento y control. Algunos estudios intentan además identificar un grupo de genes que funcionan en forma conjunta. Los microarray son en realidad un guía para futuros estudios más precisos, como ser RT-PCR.
Expresión diferenciada El análisis es heurístico. Proveer una lista ordenada de candidatos a futuros estudios.
Test de hipótesis ¿Hay una diferencia significativa entre las dos distribuciones?
Agrupamiento de datos basado en Ontologías
Aplicación: respuesta inflamatoria Respuesta inflamatoria de seres humanos al aplicarles una endotoxina en forma intravenosa, en comparacion con un grupo de control al cual se le inyecta un placebo Sangre de los ocho pacientes tratados, cuatro con la endotoxina (pacientes 1-4) y cuatro con el placebo (pacientes 5-8) Datos extraídos en diferentes instantes de tiempo, a 0, 2, 4, 6, 9 y 24 horas, y se han procesado utilizando GeneChips ® y HG-U133A v2.0 de Aymetrix Inc ®
Microarrays
Ontologías El término ontología hace referencia al intento de formular un exhaustivo y riguroso esquema conceptual dentro de un dominio dado. Definición de entidades relevantes y sus relaciones dentro del dominio. Finalidad de facilitar la comunicación y la compartición de la información entre diferentes sistemas.
Ontologías Open Biomedical Ontologies Vocabularios controlados bien estructurados Para uso compartido entre diferentes dominios médicos y biológicos
Gene Ontology Ontología de genes PB – FM – CC Relaciones “es_un” y “es_parte_de” Grafo dirigido acíclico
Gene Ontology (GO) El proyecto de Gene Ontology (GO) busca crear descripciones consistentes de productos de genes provenientes de diferentes bases de datos Se han desarrollado 3 ontologías (vocabularios controlados y estructurados): Procesos biológicos Funciones moleculares Componentes celulares El uso de términos GO en diferentes bases de datos uniformiza las búsquedas en ellas Diferentes niveles If one database describes these molecules as being involved in 'translation', whereas another uses the phrase 'protein synthesis', it will be difficult for you - and even harder for a computer - to find functionally equivalent terms.
Gene Ontology (GO) 3 ontologías 2 clases de relaciones
Gene Ontology (GO) Biological Process Molecular Function Cellular Component GO:0016281
Gene Ontology (GO) Diferentes relaciones Un nodo puede tener más de un padre Diferentes niveles de especificidad Un nodo puede encontrares en diferentes niveles al mismo tiempo
Clustering Conceptual
EMO-CC Clustering Conceptual Algoritmos Evolutivos MultiObjetivo Aplicaciones: Análisis de microarrays Redes regulatorias Moléculas
EMO-CC: Aprendizaje
EMO-CC: Objetivos Sensitividad Especificidad
EMO-CC: Aprendizaje
EMO-CC: Modelos
EMO-CC: Predicción
Web server http://gps-tools2.wustl.edu/onto-cc/
Web server
Web server
Preguntas… http://www.m4m.es