Curso de Métodos Estadísticos y Anaĺıticos de Datos Genómicos

Documentos relacionados
Curso de Métodos Estadísticos y Anaĺıticos de Datos Genómicos

Introducción a R. José Víctor Moreno Mayar.

Ciclo de clases en bioinformática:

Estadística descriptiva con R

Análisis y anotación de una secuencia mediante las herramientas y bases de datos de UCSC Genome Bioinformatics & Galaxy

Usos de R en Genómica en la era del high throughput

Práctico prueba de ensamblaje con Galaxy

Principios de Estadística. Intro. Problema

Herramientas estadísticas y bioinformáticas para la investigación biomédica: Introducción a R. Xavier de Pedro 1 Álex Sánchez 1,2

Tema 1: Breve lección de biología (1)

Selección de variables y análisis de clasicación en datos de alta dimensión

Package itan. March 28, 2017

Redes de Computadoras Práctica 5: La capa de transporte

GENÉTICA Y BIOTECNOLOGÍA MARINA Profesores Beatriz Camara (UTFSM) José Gallardo (PUCV) Doctorado en Biotecnología I Semestre 2015

Emplea El poder de Secuenciación del Genoma

NUEVAS CAPACIDADES PARA LA MEDICINA GENÓMICA EN CANARIAS. División de Genómica

INSTITUTO LA PAZ. Tutorial Paso a Paso Tablas Dinámicas

Una forma creativa de evitar un merge statement

Tablas de distribución de Frecuencias

Intervalos de confianza con STATGRAPHICS

Herramientas de Bioinformática en NGS

Principios de Estadística. Estructuras de Control. Matrices. Archivos y directorios

La mejora genética en el siglo XXI. Luis Varona Universidad de Zaragoza

2.1. Introducción Análisis exploratorio Análisis exploratorio para variables con muchas modalidades

GRAFICOS EN EXCEL. En muchas ocasiones resulta muy útil que la información contenida en un libro de Excel se visualice gráficamente.

UNaB Extensión Universitaria DIPLOMATURA EN METODOLOGÍA MOLECULAR DE LABORATORIO. unab.edu.ar

Introducción. Biocomputación Grado en Bioquímica

VHDL: Tipos de datos. Arquitectura del Computador 2017

Computacional y Estructural

Detectar micrornas en datos de secuencación masiva

Introducción a la Bioinformática

NCBI - BLAST. 1. Uso de Entrez

PL/SQL avanzado: Secuencias, triggers, cursores y subprogramas

Laboratorio 2 Probabilidad y Estadística con MATLAB GENERACIÓN DE VARIABLES ALEATORIAS Y SIMULACIÓN

MANUAL OPERATIVO DE LA UNIDAD UNIVERSITARIA DE APOYO BIOINFORMATICO

Lab. De Aves y Porcinos-Instituto de Virología

Consideraciones Pre-Analíticas para el desarrollo de NGS. Yolanda Ruano Domínguez Anatomía Patológica

RNA-Seq: Introducción al ensamblado de novo de transcriptomas

Secuenciación de DNA. Bioinformática, Elvira Mayordomo

Curso: Métodos de Monte Carlo Unidad 4, Sesión 11: Sorteo de variables aleatorias con distribución arbitraria

MÉTODOS EN GENÉTICA Curso º curso de Biología

Estadística Avanzada para Actuarios Introducción a R

OPTIMIZACIÓN DE MODELOS

Correos electrónicos: Página web de la asigatura:

Guía Docente. Tipo: Obligatoria Créditos ECTS: 6. Curso: 3 Código: 2031

Dra. Tzvetanka Dimitrova Dinkova Lab 103, Depto. Bioquimica, Conjunto E, Fac. Quimica Tel: ; correo electronico:

Grado 3 Vocabulario/ Representación Vocabulario Descripción Representación

Listas y Recursión. Taller de Álgebra I. Primer Cuatrimestre de 2015

Tips Para Eficientar Programas (Reducir Espacio En Disco)

HISTOGRAMA. Qué es? Qué muestra el histograma? Para qué tipo de variable se usa?

Seminario 55. Excel Experto

Introducción a R. Diseño experimental 2137 Juan C. Benavides

Primeros pasos en R. Peter Dalagaard. Facultad de Estudios Superiores Acatlán Licenciatura en Economía Econometría III.

17/02/2015. Ángel Serrano Sánchez de León

Principios de Estadística. Intro. En R. Ejercicios


Secuenciación Masiva de Transcriptomas completos (RNA-Seq) y su aplicación al mejoramiento genético.

Secuenciación de DNA. Bioinformática, Elvira Mayordomo

Grácos para datos cuantitativos

FACULTAD DE MEDICINA MED402 (BIOLOGIA MOLECULAR TEORIA) MARZO - JUNIO 2014

Principios de Estadística. Histogramas. Comparar distribuciones. Comparar cuantiles

Módulo de Informática en Internet

Las clases de coste son las cuentas contables en el módulo de Controlling.

Introducción a la arquitectura PIC

Photogates: Cálculo de la velocidad de un móvil

Tema 2: EL TIPO DE DATOS ENTERO. INSTRUCCIÓN DE ASIGNACIÓN Y DE COMPOSICIÓN SECUENCIAL

ASIGNATURA: ADVANCED BIOINFORMATICS

MEJORAMIENTO GENÉTICO EN OVINOS. Área de Mejoramiento Genético Natalia Rubio, Cecilia Andere, Daniel Casanova FCV- TANDIL

FICHA PÚBLICA DEL PROYECTO


Biología Computacional y Estructural Facultad de Ciencias Departamento de Nutrición y Bioquímica. Diplomado presencial

Búsqueda de Ancestros Comunes Para

Exploración de datos

La tecnología genómica al servicio de la Investigación y la Salud

ESTADÍSTICA BIDIMENSIONAL: RECTA DE REGRESIÓN LINEAL Y RECTA TUKEY. Abel MARTÍN. Profesor de Matemáticas del IES Valliniello (Asturias)

ASIGNATURA: GENÓMICA, PROTEÓMICA, METABOLÓMICA

Oncobytes: inteligencia artifical en genómica. Work in progress

VHDL. Lenguaje de descripción hardware Estructura Básica de diseño

Data Warehousing Diseño e implementación de un data warehouse

Desarrollo de herramientas moleculares para la mejora genética en ornamentales

TRABAJO CON TABLAS GREGORIO ROSARIO MICHEL

1.- DATOS DE LA ASIGNATURA. Nombre de la asignatura: Laboratorio Integral III * Carrera: Ingeniería Química. Clave de la asignatura: QUI 0520

Descubra el poder de sus datos Novedades de IDEA 10. Descubra Visualice Asesore

Listas y tablas en HTML

DISEÑO DE SONDAS DE UN CHIP DE DNA PARA IDENTIFICAR LA HUELLA GENÓMICA DE ORGANISMOS EUCARIÓTICOS

GENOMICA Y PROTEOMICA

Tema 1. Estadística Unidimensional

Tutorial de TinkerPlots

Visión por Computador

FORMATO DE ASIGNATURAS Llenar un formato igual para todas y cada una de las materias del programa

A veces queremos almacenar algún elemento que es Verdadero o Falso. Este tipo de dato se llama Booleano y su representación es sencilla, para cada

Pontificia Universidad Católica del Ecuador

PRÁCTICAS DE ESTADÍSTICA CON R

Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

Marcadores moleculares asociados a la calidad de la canal y la carne. Lic. Eileen Armstrong, MSc. PhD. Área Genética Facultad de Veterinaria

Lo que todo investigador necesita. Guía de usuario

Introducción a Protégé

Análisis de datos en salud

Parte II: Estructuras de Datos y Algoritmos

Transcripción:

Curso de Métodos Estadísticos y Anaĺıticos de Datos Genómicos Leonardo Collado Torres @ibt.unam.mx y @wintermexico.com Lic. en Ciencias Genómicas www.lcg.unam.mx/ / Winter Genomics (WG) e Instituto de Biotecnología (IBT) de la UNAM 21 de Enero de 2010 1 / 47

1 2 Bioconductor para Datos de Secuenciación Masiva II 3 4 2 / 47

ˆ Una nueva compañía de servicios bioinformáticos con datos de secuenciación masiva. 3 / 47

Es la base oculta ˆ Creado por: Hervé Pages, Patrick Aboyoun y Michael Lawrence. ˆ es el paquete de bajo nivel que nos permite manejar este tipo de datos en R. ˆ Es muy útil para representar información a lo largo de posiciones en el genoma. ˆ Tiene una serie de funciones para hacer operaciones en intervalos. 4 / 47

Datos por intervalos ˆ Es muy útil para manejar información por posición en el genoma: el gen, su posición de inicio, de fin, la cadena,... ˆ Aquí va un ejemplo con 3 genes. La forma clásica para almacenar esta info con R sería un data frame: > start <- c(3, 7, 100) > end <- c(5, 20, 200) > chr <- c("chr1", "chr1", "chr2") > strand <- c("+", "-", "+") > df <- data.frame(chr = chr, strand = strand, + start = start, end = end) > df chr strand start end 1 chr1 + 3 5 2 chr1-7 20 3 chr2 + 100 200 5 / 47

Datos por intervalos ˆ Pero con podemos hacerlo así: > library() > RD <- RangedData(ranges = (start = start, + end = end), strand = strand, + space = chr) > RD RangedData with 3 rows and 1 value column across 2 space ranges strand <character> <> <character> 1 chr1 [ 3, 5] + 2 chr1 [ 7, 20] - 3 chr2 [100, 200] + ˆ La diferencia radica en la habilidad de agrupar los datos por el espacio. En el ejemplo, por el cromosoma. 6 / 47

Datos por intervalos > range(ranges(rd)) CompressedList of length 2 $chr1 of length 1 start end width [1] 3 20 18 $chr2 of length 1 start end width [1] 100 200 101 7 / 47

Operaciones ˆ Hay toda una gama y a continuación muestro algunas. 1 > ir <- (c(1, 8, 14, 15, 19, + 34, 40), width = c(12, 6, 6, + 15, 6, 2, 7)) > strand <- rep(c("+", "-"), c(4, + 3)) > rd <- RangedData(ranges = ir, strand = strand, + space = "chr1") ˆ Ya creado el objeto RangedData podemos usar funciones para accesar la información: > start(rd) [1] 1 8 14 15 19 34 40 > end(rd) [1] 12 13 19 29 24 35 46 8 / 47

Operaciones > width(rd) [1] 12 6 6 15 6 2 7 1 Siempre pueden checar help(package = ) 9 / 47

Un subconjunto > rd[2:5, ] RangedData with 4 rows and 1 value column across 1 space ranges strand <character> <> <character> 1 chr1 [ 8, 13] + 2 chr1 [14, 19] + 3 chr1 [15, 29] + 4 chr1 [19, 24] - > ranges(rd[2:5, ]) 10 / 47

Un subconjunto SimpleRangesList of length 1 $chr1 of length 4 start end width [1] 8 13 6 [2] 14 19 6 [3] 15 29 15 [4] 19 24 6 11 / 47

Mover horizontalmente > rd2 <- rd > ranges(rd2) <- shift(ranges(rd2), + 2) > rd2[2:5, ] RangedData with 4 rows and 1 value column across 1 space ranges strand <character> <> <character> 1 chr1 [10, 15] + 2 chr1 [16, 21] + 3 chr1 [17, 31] + 4 chr1 [21, 26] - 12 / 47

O aumentar el tamaño ˆ A alguien se le ocurre para qué quisieramos hacer esto? > rd3 <- rd > pos <- values(rd3)[, "strand"] == + "+" > ranges(rd3)[pos] <- resize(ranges(rd)[pos], + 120) > ranges(rd3)[!pos] <- resize(ranges(rd)[!pos], + 120, start = FALSE) > rd3[2:5, ] 13 / 47

O aumentar el tamaño RangedData with 4 rows and 1 value column across 1 space ranges strand <character> <> <character> 1 chr1 [ 8, 127] + 2 chr1 [ 14, 133] + 3 chr1 [ 15, 134] + 4 chr1 [-95, 24] - 14 / 47

Delimitar > ranges(rd3) <- restrict(ranges(rd3), + 1) > rd3[2:5, ] RangedData with 4 rows and 1 value column across 1 space ranges strand <character> <> <character> 1 chr1 [ 8, 127] + 2 chr1 [14, 133] + 3 chr1 [15, 134] + 4 chr1 [ 1, 24] - 15 / 47

Funciones para resumir info ˆ Ya sea todo lo que está cubierto alguna vez, ninguna o donde no hay cambios. > reduce(ranges(rd)) SimpleRangesList of length 1 $chr1 of length 3 start end width [1] 1 29 29 [2] 34 35 2 [3] 40 46 7 > gaps(ranges(rd)) 16 / 47

Funciones para resumir info SimpleRangesList of length 1 $chr1 of length 2 start end width [1] 30 33 4 [2] 36 39 4 > disjoin(ranges(rd)) SimpleRangesList of length 1 $chr1 of length 10 start end width [1] 1 7 7 [2] 8 12 5 [3] 13 13 1 [4] 14 14 1 17 / 47

Funciones para resumir info [5] 15 18 4 [6] 19 19 1 [7] 20 24 5 [8] 25 29 5 [9] 34 35 2 [10] 40 46 7 18 / 47

Aún más interesante: sobrelapes y cobertura > ol <- findoverlaps(ranges(rd), + reduce(ranges(rd))) > as.matrix(ol)[1:3, ] query subject [1,] 1 1 [2,] 2 1 [3,] 3 1 > cover <- coverage(ranges(rd)) > cover 19 / 47

Aún más interesante: sobrelapes y cobertura SimpleRleList of length 1 $chr1 'integer' Rle of length 46 with 11 runs Lengths: 7 5 2 4 1 5 5 4 2 4... Values : 1 2 1 2 3 2 1 0 1 0... 20 / 47

Más info ˆ Para genomas es recomendable usar objetos tipo Rle (Run Length Encoding) porque son mucho más eficientes. ˆ también te permite generar vistas. Básicamente asocia una secuencia de ADN con un objeto Ranges. ˆ Referencia: http://www.bioconductor.org/ workshops/2009/seattlenov09// 21 / 47

ˆ Fueron creados por James Bullard y Steffen Durinck. ˆ El objetivo detrás de es poder visualizar tus datos rápidamente en la misma sesión de R en la que los estás analizando. ˆ biomart por otro lado te permite bajar información de una gama de bases de datos y tenerlos disponibles en R. 22 / 47

Figura 1: Tabla 1 Durinck y Bullard BMC 09 23 / 47

La más sencilla: makebasetrack 10 8 6 4 2 24 / 47

Ahora con 2 makebasetrack 6 4 2 3 2 1 0 1 2 25 / 47

Ahora con 2 makebasetrack y un makegenomeaxis Base + 10 8 6 4 2 3 2 1 0 1 2 10 30 50 70 90 20 40 60 80 100 26 / 47

Un ejemplo con biomart ˆ Encontremos los genes de Bacillus subtilus de la posición 12 mil a la 20 mil. ˆ Cargamos la base y ahora buscamos el nombre del cromosoma. > bsub <- usemart("bacterial_mart_3", + dataset = "bac_6_gene") > head(listattributes(bsub)) ˆ Luego obtenemos la info para los genes en la cadena positiva. > pos <- makegeneregion(12000, 20000, + chromosome = "Chromosome", + strand = "+", biomart = bsub) ˆ Luego obtenemos la info para la cadena menos y graficamos usando gdplot: 27 / 47

Un ejemplo con biomart > neg <- makegeneregion(12000, 20000, + chromosome = "Chromosome", + strand = "-", biomart = bsub) > gdplot(list(`+` = pos, `-` = neg, + Bsub = makegenomeaxis())) 28 / 47

Obtenemos: + Bsub 10000 12000 14000 16000 18000 20000 22000 11000 13000 15000 17000 19000 21000 29 / 47

Datos de microarreglos - makegenericarray 1 0 1 2 3 4 5 1301000 1302000 1303000 1304000 1305000 1306000 30 / 47

Más complicado 1 0 1 2 3 4 5 YDR418W YDR419W YDR416W YDR4 ts(aga)d3 1 0 1 2 3 YDR417C 1299000 1300000 1301000 1302000 1303000 1304000 1305000 1306000 1307000 1308000 SpecialRegion 31 / 47

Modelos de genes eucariontes - maketranscript 58550000 58555000 58560000 58565000 58570000 58575000 32 / 47

makeexonarray junto a makegenemodel 12 10 8 6 4 2 115070000 115080000 115090000 33 / 47

Finalmente 300 250 200 150 100 50 0 5 + David + Nagalakshmi David Lee Conservation 3 1 1 3 2 1 01 0 1 2 3 0.8 1 0.6 0.4 0.2 0 YDR417C 1302 1302 1302 1302 1302 1302 1302 1302 1302 1302 1302 YDR418W 34 / 47

Más info ˆ biomart ˆ ˆ Artículo ˆ http://www.bioconductor.org/packages/devel/ bioc/html/.html 35 / 47

Breve intro ˆ Fue diseñado para trabajar con datos de ChIP-seq. ˆ Entre otros, utiliza los paquetes, ShortRead y lattice. ˆ Creado por Deepayan Sarkar, Robert Gentleman, Michael Lawrence y Zizhen Yao 36 / 47

Profundidad de la islas 37 / 47

Buscamos... ˆ Islas y picos! ˆ Una isla es una región del genoma con cobertura contínua por nuestras secuencias. ˆ Un pico es una isla con altos valores de cobertura. Es decir, muchas secuencias. 38 / 47

Frec. de n de secs por isla 39 / 47

Profundidad de la islas 40 / 47

Coverageplot pico 1 41 / 47

Coverageplot pico 2 42 / 47

Alternativamente graficamos la densidad 43 / 47

O por cadena 44 / 47

Más info ˆ Paquete ˆ Lab de en el BioC 2009 ˆ Kharchenko et al, 2008 45 / 47

Otros paquetes que no vimos ˆ snpmatrix ˆ bayseq, DEGseq, edger ˆ ChIPpeakAnno, ChIPseqR ˆ Rsamtools ˆ Rolexa ˆ ChIPsim ˆ rtracklayer ˆ HilbertVis, HilbertVisGUI ˆ genomeintervals ˆ Les recomendamos el curso http://www.bioconductor. org/workshops/2009/seattlenov09 46 / 47

sessioninfo Información de mi sesión: > sessioninfo() R version 2.10.0 (2009-10-26) i386-pc-mingw32 locale: [1] LC_COLLATE=English_United States.1252 [2] LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 [4] LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grdevices [4] utils datasets methods [7] base other attached packages: [1] _1.4.9 47 / 47