Download Introducción al análisis de datos RNA
Document related concepts
no text concepts found
Transcript
Introducción al análisis de datos RNA-‐Seq con Galaxy y la suite Cufflinks Tuxedo Workflow Ejercicio: Análisis de expresión diferencial entre dos líneas celulares • Paso 1: Comprobar la calidad de los datos • Paso 2: Alinear los read RNA-‐Seq con el genoma humano • Paso 3: Ensamblar los alineamientos • Paso 4: Comparar los datos del ensamblado con la anotación de la parte del genoma humano que nos interese • Paso 5: Comparar los resultados de los dos experimentos RNA-‐Seq • Paso 6: Obtener qué transcritos se expresan de forma significaIva en las dos muestras Calidad de los datos • El primer paso es estudiar la calidad del conjunto de datos NGS que nos llegan en formato FASTQ • Herramientas disponibles – FastQC – Herramientas NGS en Galaxy • ¿Qué hacemos en caso de datos con regiones de baja calidad? Dimensiones de Análisis de Calidad FASTQC • • • • • • • • • • Calidad por base Secuencia Contenido de secuencia Contenido GC GC por secuencia Contenido N por base Distribución de longitudes de secuencia Niveles de duplicación de secuencias Secuencias sobre-representadas Contenido Kmers Calidad por base Calidad por secuencia Calidad por contenido de secuencia Calidad por Contenido GC Calidad por GC por secuencia Calidad por contenido N Distribución de longitudes Duplicación de secuencias Secuencias sobre-representadas Contenido KMer Contenido KMer ¿Qué hacemos si hay problemas de calidad? • Existen herramientas para – Acortar reads – Filtrar reads por debajo de un umbral de calidad – Etc. Paso 1: Calidad de datos • Haremos uso de FastQC Paso 1: Calidad de datos (h1-ESC) • Aunque la calidad del último read es bajo, podemos no eliminarlo Paso 1: Calidad de los datos (GM12878) • Vemos que hay fuerte caída a parIr de la base 60, por lo que habría que eliminar esos trozos. Paso 1: Calidad de los datos (GM12878) • Eliminamos la úlImas 16 posiciones de cada read Alineamiento de reads • Los experimentos NGS generan millones de reads que se deben mapear al genoma de referencia • Los métodos tradicionales de alineamiento no son posibles para NGS por lo que se requieren métodos rápidos y eficientes • Mapeadores – Burrows-Wheeler Alignment (BWA): con huecosè SNP, indels, más lento, proyectos DNA – Bowtie: sin huecos è más rápido, proyectos RNA Mapeo de reads • Comprobar la calidad de los reads (según lo visto antes) • Alineamiento y mapeo de reads: TopHat2 y Bowtie2 1. Bowtie alinea los reads al genoma de referencia 2. TopHat realiza el assembly de los reads a secuencias consenso 3. TopHat usa flanking sequences del genoma de referencia para extender el consenso 4. TopHat busca las splice junctions usando GT-AG, GC-AG, AT-AC • Métodos de definición de las uniones – – – Si los segmentos cortos de un read se mapean en sitios distintos del mismo cromosoma è búsqueda de reads sin mapear Coverage search è búsqueda de intrones a partir de secuencias aisladas Closure search è si dos reads se mapean a más distancia de la esperada se asume que vienen de exones diferentes y se intenta unirlos a través de subsecuencias del intervalo genómico entre ellos a la distancia esperada Paso 2: Mapping • Se haría lo mismo para las dos muestras • Esta parte es la más lenta, por lo que no la ejecutaremos en la sesión • Usaremos las opciones por defecto, excepto – Longitud máxima de intrón: 100000 – Indel search OFF, Coverage search OFF (para ir más rápido) Paso 2: Ficheros generados por TopHat • Fichero de mappings – Accepted Hits (BAM) (Pasar a SAM para exploración manual) • Ficheros BED que se podrían visualizar – Splice Junctions (BED) – Deletions (BED) – Insertions (BED) Paso 2: Mapping Ficheros generados por TopHat Paso 2: Mapping • Si queremos examinar los hits, debemos pasarlos a formato SAM para que estén en formato legible por humanos Paso 2: Extracto de mapping SAM Paso 3: Ensamblado - Cufflinks • Una vez mapeado hay que hacer el ensamblado de reads en los transcritos completos, que podrán ser analizados entonces • Algoritmo basado en grafos dirigidos acíclicos que buscan el conjunto mínimo de transcritos independientes que pueden explicar los reads observados en el experimento RNA-Seq. • Va agrupando reads en clusters que se mapean a la misma región del genoma y va etiquetando como incompatibles a los que no pueden venir del mismo transcrito. • Una vez identificado el número mínimo de transcritos posibles, se asigna cada read a uno o más transcritos. Paso 3: Ensamblado • Una vez mapeado, tenemos que generar transcritos a parIr de los reads. Para ello usamos la herramienta Cufflinks • Usaremos como entrada los dos ficheros • Como antes, longitud máxima de intrón 100000. Sin Anotación de referencia Paso 3: Ensamblado Cufflinks genera ficheros tabulares: • • • • Gene expression Transcript expression Assembled transcripts Skipped transcripts Paso 3: Ensamblado Assembled transcripts Transcript expression Paso 4: Transcriptoma ensamblado (Cuffmerge) • Cuffmerge permite fusionar varios ensamblados. Vamos a usar únicamente el CHR19 para ir más rápidos en el ejemplo Paso 4. Salidas Cuffmerge: merged transcripts Paso 5: Cuantificamos la expresión de cada gen (Cuffquant) • Cuffquant pre-‐calcular los valores de expresión de cada gen a parIr de los resultados de Cuffmerge Decisiones a tomar Una vez cuanIficada la expresión podemos 1) Usar CuffDiff para obtener expresión diferencial 2) Usar CuffNorm para normalizar los valores de expresión y realizar el test de expresión diferencial en otros entornos (por ejemplo R) Paso 6.1: Expresión diferencial con Cuffdiff Cuffdiff usa como ficheros de entrada 1) Fichero de merged transcripts 2.1) Ficheros SAM/BAM de cada réplica o 2.2) Ficheros CXB de abundancias generados por Cuffquant Paso 6.1.1: Expresión diferencial con Cuffdiff a partir de SAM/BAM Salidas CuffDiff CUFFDIFF genera 11 ficheros de datos • FPKM tracking datasets: transcritos individuales, combinación de transcritos que comparten un gene_id • Coding sequence (combina todos los transcritos con mismo p_id), • Transcript start site (combina todos los transcritos con mismo tss_id)) • DifferenIal expression test datasets Paso 6.1.2: Expresión diferencial con Cuffdiff a partir de CXB Paso 7. Transcritos diferencialmente expresados a partir de Cuffdiff • ParIremos del fichero generado por Cuffdiff que conIene la información de expresión de transcritos. La columna 14 indica si hay diferencia significaIva, por lo que aplicaremos un filtro por el valor de dicha columna Paso 7. Transcritos diferencialmente expresados a partir de Cuffdiff • ParIremos del fichero generado por Cuffdiff que conIene la información de expresión de transcritos. La columna 14 indica si hay diferencia significaIva, por lo que aplicaremos un filtro por el valor de dicha columna Paso 7. Transcritos diferencialmente expresados a partir de Cuffdiff ¿Y ahora qué? • Caracterizar funcionalmente los transcritos expresados diferencialmente • Generar gráficos que analicen los resultados con paquetes como CummeRbund desde Galaxy o desde R Caracterización funcional • Hemos obtenido qué transcritos están expresados diferencialmente de manera significaIva. ¿Podemos averiguar algo más de las funciones de los genes asociados? ¿Qué hay en la columna 3? Caracterización funcional • Podemos usar una herramienta como DAVID para obtener la caracterización funcional de un grupo de genes https://david.ncifcrf.gov/home.jsp Caracterización funcional con DAVID Desde Galaxy podemos llegar a DAVID a través del wrapper existente. Necesitamos pasarle un fichero donde en una columna aparezcan los idenIficadores de los genes y decirle qué Ipo de idenIficador es Caracterización funcional con DAVID Caracterización funcional con DAVID Caracterización funcional con DAVID Caracterización funcional con DAVID Análisis de enriquecimiento hlp://geneontology.org/page/go-‐enrichment-‐analysis GADD45B THOP1 S1PR4 NCLN NFIC FZR1 HMG20B MRPL54 GNG7 SLC39A3 SGTA AES DOHH CACTIN PIP5K1C DAPK3 EEF2 PLPP2 PLPPR3 Generación de gráficos: CummeRbund • Librería disponible en Bioconductor • hlp://bioconductor.org/packages/release/bioc/ html/cummeRbund.html • Tipos de gráficos: – Densidad – Heatmaps – Dispersión – Boxplot – PCA Generación de gráficos: CummeRbund desde Galaxy Generación de gráficos: Heatmap Generación de gráficos desde R Copiamos a nuestra carpeta el contenido de /opt/resources/cuffdiff library(cummeRbund) Ponemos la carpeta como directorio de trabajo en Rstudio cuff <-‐ readCufflinks() Generación de gráficos: Determinar relaciones entre condiciones pBox<-‐csBoxplot(genes(cuff)) Generación de gráficos: Comparar distribución FPKM entre muestras dens<-‐csDensity(genes(cuff)) Generación de gráficos: Dispersión s<-‐csScalerMatrix(genes(cuff)) Generación de gráficos: Dendrograma (sin interés para 2 ) dend<-‐csDendro(genes(cuff)) Generación de gráficos: Matrices de distancia myDistHeat<-‐csDistHeat(genes(cuff))