13
TP1 - Procesamiento de la secuenciación Introducción El análisis de datos de secuenciación de alto rendimiento es complejo y requiere de gran poder de cómputo. Un secuenciador de próxima generación (Next Generation Sequencing; NGS) como el Illumina Hiseq puede generar 600 Gigabases (Gb) por corrida. La secuenciación de un genoma humano completo (Whole Genome Sequencing; WGS) con un “coverage” (profundidad; promedio de la cantidad de veces que una base cualquiera se encuentra representada en el producto de la secuenciación) de 30X por esta técnica generará datos de más de 200 Gigabytes (Gb) (si quiere puede hacer las cuentas considerando que el genoma humano haploide tiene un tamaño de 3.1 Gb). Figura 1: Flujo de trabajo de la secuenciación genómica Como puede ver en la Figura 1, durante la secuenciación se generan muchos fragmentos de ADN, llamados lecturas. Se vuelve indispensable entonces, una vez obtenidas las secuencias

TP1 - Procesamiento de la secuenciación Introducción

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TP1 - Procesamiento de la secuenciación Introducción

 TP1 - Procesamiento de la secuenciación

Introducción

El análisis de datos de secuenciación de alto rendimiento es complejo y requiere de gran

poder de cómputo. Un secuenciador de próxima generación (Next Generation Sequencing;

NGS) como el Illumina Hiseq puede generar 600 Gigabases (Gb) por corrida. La

secuenciación de un genoma humano completo (Whole Genome Sequencing; WGS) con un

“coverage” (profundidad; promedio de la cantidad de veces que una base cualquiera se

encuentra representada en el producto de la secuenciación) de 30X por esta técnica

generará datos de más de 200 Gigabytes (Gb) (si quiere puede hacer las cuentas

considerando que el genoma humano haploide tiene un tamaño de 3.1 Gb).

Figura 1: Flujo de trabajo de la secuenciación genómica

Como puede ver en la Figura 1, durante la secuenciación se generan muchos fragmentos de

ADN, llamados lecturas. Se vuelve indispensable entonces, una vez obtenidas las secuencias

Page 2: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

de esas lecturas conocer la ubicación individual de cada una para “rearmar” el genoma

original. Esto podría lograrse ensamblando de novo todas las lecturas, es decir, relacionarlas

unas con otras. Sin embargo, para genomas de gran tamaño y cuyas secuencias de

referencia ya se encuentran publicadas, un método de mayor confianza (y el que se suele

utilizar) consiste en “mapear” o “alinear” las secuencias a una referencia (una secuencia

de genoma de alta confiabilidad). Luego, pueden relacionarse las diferencias entre el

consenso obtenido de la secuenciación y el genoma de referencia y “llamar las variantes”

(en inglés, Variant Calling), es decir, determinar los sitios que difieren con la referencia.

La naturaleza de estas variantes puede ser de cambios de un único nucleótido (Single

Nucleotide Polymorphism; SNP), pequeñas inserciones o deleciones (Insertions, Deletions;

INDELs) o variantes estructurales (Structural Variants; SV) como las variantes del número de

copias (Copy Number Variations; CNVs). En esta práctica nos enfocaremos en los primeros 2 tipos de variantes, y aprenderemos a

reconocer los diferentes tipos de archivos por los que pasa la información de la

secuenciación desde su origen en el secuenciador hasta el reconocimiento de las

variantes.

En la Figura 2 se muestra el pipeline completo para preprocesamiento, llamado de variantes

y refinamiento que recomienda el Broad Institute, quien además desarrolla el software

principal denominado GATK (https://www.broadinstitute.org/gatk/).

Figura 2: Pipeline de GATK, incluye procesamiento, llamado de variantes y refinamiento.

2

Page 3: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

Objetivos

● Conocer los pasos involucrados en el procesamiento de los datos obtenidos en un

experimento de secuenciación.

● Familiarizarse con los diferentes formatos de archivos utilizados en análisis de

datos de NGS: FASTQ, SAM, BAM.

● Utilización de “Genome Browsers” (IGV)

● Fortalecimiento de conceptos relacionados con la calidad de la variante (Strand

Bias, Cobertura, Het/Hom)

Tarea 1) Preprocesamiento de la muestra

El secuenciador terminó su trabajo, tengo todas las lecturas (reads) de mi muestra… y ahora

¿cómo hago para armar el rompecabezas? Mejor dicho, tengo múltiples rompecabezas de

millones de piezas del mismo patrón mezclados entre sí, e incluso algunas piezas contienen

errores, ¿cómo logro extraer información de este mar de datos?

Para ello necesito ordenar la información, descartar aquella que sea incorrecta o poco

confiable, y encontrar dónde pueden ubicarse las lecturas en el patrón, entre otras cosas.

Más específicamente, se deben realizar una serie de pasos de control de calidad, corrección,

ajustes, alineamientos y ordenamientos, entre otros procesos, para convertir un conjunto

desordenado de lecturas en una secuencia ordenada de lecturas ubicadas en un patrón de

referencia.

Los pasos a seguir son:

1. Control de calidad (QC, quality control) de las bases y los reads

2. Alineamiento y mapeo de los reads contra un genoma de referencia dado

3. Ordenamiento del alineamiento

4. Obtención de estadísticas del alineamiento

5. Marcación de duplicados

6. Agregado de información de secuenciación a los reads

7. Recalibración del puntaje de calidad de las bases (BQSR)

Por una cuestión de tiempo y performance vamos a dedicarnos a analizar los datos que se

obtienen de estos pasos, pero no vamos a ejecutarlos.

Formato FASTQ El secuenciador retorna el conjunto de lecturas (reads) en una serie de archivos con formato

FASTQ. Un archivo FASTQ contiene múltiples líneas de texto, las cuales se agrupan cada 4

filas (o líneas) para representar cada read y se encuentran en el siguiente formato:

3

Page 4: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

@sequence_id

GAAAATGGCTTCGAAATTGGTTTTTTTAGCTCCCCACTTATGACACACTTCTCTGTAAATGA

+

CCCFFFEHGGHCG:GA:DHHE>EEHHHCDBD?B@FFFHHHHIJIJEHCFHGDEHGIJGIGII

La primer línea (que comienza con @) contiene el identificador del read (generalmente

consiste en el nombre del equipo, el id de la flowcell utilizada, las coordenadas en la misma,

si corresponde a la secuencia 1 o 2 del par si es pair-end y una descripción).

La segunda línea contiene la secuencia de nucleótidos del read (representadas por las letras

A, C, G y T). La longitud de esta línea es variable y depende del experimento de

secuenciación.

La tercer línea es un separador, siempre es un símbolo más (+).

La cuarta línea contiene la calidad de cada nucleótido de la secuencia anterior (en Phred

score) codificada como un caracter ASCII del 33 al 126 (mas info en

http://en.wikipedia.org/wiki/FASTQ_forma#Encoding). Esta calidad es determinada por el

secuenciador en base a los resultados del experimento de secuenciación.

Phred Score: http://en.wikipedia.org/wiki/Phred_quality_score

El Phred Score es una forma de calificar la calidad de cada nucleótido (o sea la confianza que

se tiene en que el nucleótido leído sea ese y no otro). La fórmula matemática es la siguiente: Q = -10 log10 P, donde P es la probabilidad de determinar incorrectamente al nucleótido en

cuestión.

Phred Score Probabilidad de equivocarse de base

Precisión de la base

10 1 en 10 90%

20 1 en 100 99%

30 1 en 1.000 99.9%

40 1 en 10.000 99.99%

50 1 en 100.000 99.999%

Comencemos:

QC - Control de calidad de las bases y los reads

El primer paso siempre luego de un ensayo de secuenciación es evaluar la calidad con la que

fueron obtenidos los datos. Podríamos revisar la línea que representa a la calidad en el

4

Page 5: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

archivo FASTQ, pero además de engorroso es inentendible para nosotros, pobres humanos.

Una manera fácil y rápida es permitir que un programa (por ejemplo, FastQC) evalúe las

secuencias y nos provea de una serie de estadísticas que nos permitan inferir la calidad del

proceso.

Para más información puede visitar el siguiente link para conocer más sobre FastQC y su

modo de empleo: https://www.bioinformatics.babraham.ac.uk/projects/fastqc/

Usted posee dos archivos creados con FastQC: chr22_r1_fastqc.html y

chr22_r2_fastqc.html. Ambos archivos corresponden a la secuenciación por pair-end en un

equipo Illumina, donde “r1” son los fragmentos secuenciados desde un extremo, mientras

“r2” son los mismos fragmentos secuenciados por el lado contrario. Desde la interfaz

gráfica, haga click en ellos para abrir los reportes en su navegador.

i) Observe y analice primero el gráfico llamado “Per base sequence quality”, el cual muestra

la calidad de secuenciación de cada base de acuerdo a su posición relativa en el read.

¿Encuentra alguna región (o regiones) con menor calidad? ¿Se le ocurre cuál puede ser el

motivo?

ii) Observe y analice el gráfico llamado “Per sequence quality scores”, el cual muestra la

distribución de los reads de acuerdo a su calidad de secuenciación. ¿En qué valor se

encuentra el máximo? ¿Qué valor utilizará como threshold por calidad? Explique

brevemente y discuta con sus compañeros la diferencia entre calidad “per sequence” y “per

base”, ¿Qué significa cada una? ¿Cuál es la utilidad de cada una?

iii) Observe y analice el gráfico llamado “Per sequence GC content”, el cual compara la

distribución de GC de la muestra respecto a la distribución teórica esperada. ¿Le parece que

la muestra tiene una distribución apropiada de GC? ¿Qué podría significar una distribución

de GC distinta a la esperada?

iv) Observe y analice el gráfico llamado “Sequence Length Distribution”, el cual muestra la

distribución de la longitud de los reads. ¿Cuál es el largo de los reads? ¿El largo obtenido de

qué depende?

v) Observe y analice el gráfico llamado “Sequence Duplication Levels”, el cual permite

evidenciar las duplicaciones que pueden ser generadas por la metodología (ver Figura 3).

¿Cuál es el significado de las curvas roja y azul?, ¿Por qué puede importar diferenciar las

duplicaciones del genoma de las generadas por el experimento?

5

Page 6: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

Figura 3: Distintas formas en que la técnica puede generar lecturas duplicadas.

QC - Filtrado de lecturas de baja calidad

Una vez que ya analizamos la muestra podemos definir si deseamos descartar lecturas de

mala calidad para trabajar sólo con aquellas que cumplen un cierto requisito de calidad

mínima. El programa PrinSEQ (http://prinseq.sourceforge.net) recibe como entrada el fastq

de la muestra (en este caso, son dos dado que fue secuenciado con el formato de pair ends),

un conjunto de criterios de filtrado y retorna un fastq editado de acuerdo a estos últimos.

Utilizando los criterios de filtrado (A-H) que tiene debajo, piense cómo podría mejorar la

calidad de las muestras en los siguientes casos (1-5):

1. Deseo trabajar con muestras con menos de un 1 error cada 10 nucleótidos

2. Deseo trabajar con muestras con menos de un 1 error cada 100 nucleótidos

3. Mi muestra está contaminada con bacterias con contenido GC en su genoma mayor

al del humano

4. Las primeras bases (extremo 5’) de algunas muestras tienen mala calidad.

5. La muestra tiene adaptadores de 20 nucleótidos.

Para ello use los siguientes parámetros, seleccionando la opción entre paréntesis que le

resulte óptima:

A. Eliminar lecturas con calidad promedio menor a (10/20/30/50) según Phred Score min_qual_mean

6

Page 7: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

B. Eliminar lecturas con mayor promedio mayor a (10/20/30/50) según Phred Score max_qual_mean

C. Eliminar (10/20/50) nucleótidos desde la derecha a cada lectura. trim_right

D. Eliminar (10/20/50) nucleótidos desde la izquierda a cada lectura. trim_left

E. Eliminar tantas bases como sea necesario desde la izquierda hasta encontrar un

valor de calidad menor a (10/20/30/50) según Phred Score. trim_qual_left

F. Eliminar tantas bases como sea necesario desde la derecha hasta encontrar un valor

de calidad menor a (10/20/30/50) según Phred Score. trim_qual_right

G. Eliminar lecturas con menor cantidad de GC que un umbral dado. min_gc

H. Eliminar lecturas con mayor cantidad de GC que un umbral dado. max_gc

Al lado de cada opción A-H tiene el comando de PrinSEQ que se usaría en cada caso. Para

ver la lista de todos los comandos posibles y su utilización puede visitar:

http://prinseq.sourceforge.net/manual.html

Alineamiento y mapeo de las lecturas en un genoma de referencia dado

Luego, procederemos a realizar el alineamiento y mapeo de los reads contra el genoma de

referencia humano. Para ello utilizamos el programa BWA basado en el algoritmo de

alineamiento Burrows-Wheeler (otra alternativa es utilizar Bowtie2). Ambos programas

toman como entrada los fastq filtrados por PrinSEQ en el paso anterior, y devuelven un

archivo en formato SAM con las lecturas mapeadas y alineadas.

Se conoce como "genoma de referencia humano" al genoma ensamblado representativo de

la especie humana realizado por un consorcio internacional (GRC, Genome Reference

Consortium, puede ver más en la página web del consorcio GRC

http://www.ncbi.nlm.nih.gov/projects/genome/assembly/grc/human/). Este se utiliza como

marco para comparar los genomas de estudio, pues se estima que la diferencia de cualquier

ser humano con la referencia varía entre 0.1 y 1%.

Formato SAM

El formato SAM (http://samtools.github.io/hts-specs/SAMv1.pdf) consiste en texto

delimitado por tabs el cual tiene un encabezado (líneas que comienzan con @) con

información general del secuenciamiento y del alineamiento, más una sección de

alineamientos con 11 campos obligatorios y otros campos opcionales. Cada renglón de la

sección de alineamientos corresponde a un segmento de lectura (read) de cada fragmento

(template) introducido en el secuenciador.

Un extracto de un archivo SAM de ejemplo es el siguiente:

@SQ SN:22 LN:51304566

HWI:993 163 22 727 60 101M = 776 150 GGAACACACTC CCCFFAE=FHH

HWI:993 83 22 776 60 101M = 727 -150 CTTGTCGTACC 8<@>?9CACCC

7

Page 8: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

En este ejemplo vemos sólo una línea de encabezado (que comienzan con @) , y a

continuación dos líneas del listado de alineamientos. Para la primer línea de alineamiento

vemos que:

● el nombre del template es HWI:993 , ● que su flag es 163 (veremos su significado a continuación),

● el nombre de la secuencia de referencia es 22 , ● su posición de mapeo es 727 , ● su calidad de mapeo es 60 , ● su código CIGAR es 101M (veremos su significado a continuación),

● la referencia del siguiente read en el template es la misma (= ) ● y su posición es 776 , ● la longitud del template es de 150 bases,

● la secuencia de la lectura es GGAACACACTC (se muestran sólo 11 bases por

legibilidad pero deberían ser 101),

● y por último la calidad es CCCFFAE=FHH (se muestran sólo 11 bases por legibilidad

pero deberían ser 101).

Estos campos que componen la sección de alineamientos se resumen en la siguiente tabla:

Col Campo Tipo Descricpción breve

1 QNAME Cadena de caracteres

Identificador del template secuenciado

2 FLAG Entero Indicador binario (ver explicación)

3 RNAME Cadena de caracteres

Nombre de la secuencia de referencia. Para el genoma humano es el número de cromosoma.

4 POS Entero Posición de Mapeo

5 MAPQ Entero Calidad de Mapeo

6 CIGAR Cadena de caracteres

Código CIGAR (ver explicación)

7 RNEXT Cadena de caracteres

Nombre de la secuencia de referencia del siguiente read en el template

8 PNEXT Entero Posición del siguiente read en el template

9 TLEN Entero Longitud observada del template

10 SEQ Cadena de caracteres

Secuencia del segmento del template secuenciado

11 QUAL Cadena de caracteres

ASCII of Phred-scaled base QUALity+33

8

Page 9: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

FLAG

El campo FLAG se utiliza para indicar distintas condiciones que un read puede o no estar

cumpliendo. Para representar estas condiciones en un sólo valor se utiliza un número

entero (13, 3, 50 etc) cuya descomposición en potencias de dos permiten marcar el

cumplimiento o no de cada condición (ver la siguiente tabla).

A modo de ejemplo, el número entero 13 se puede descomponer en potencias de dos como

1 + 4 + 8, lo que indica que se cumplen las condiciones: el template tiene muchos segmentos

(1), el segmento no está mapeado (4) y el siguiente segmento del template no está

mapeado (8).

¿Cómo se descompone el FLAG “163” y qué significa ese conjunto de condiciones? ¿Y el

“83”?

Potencia de dos Significado

1 template having multiple segments in sequencing

2 each segment properly aligned according to the aligner

4 segment unmapped

8 next segment in the template unmapped

16 SEQ being reverse complemented

32 SEQ of the next segment in the template being reversed

64 the first segment in the template

128 the last segment in the template

256 secondary alignment

512 not passing quality controls

1024 PCR or optical duplicate

2048 supplementary alignment

CIGAR

El campo CIGAR se utiliza para representar la lectura de manera sintética en base a la

coincidencia de sus bases con la referencia. La codificación consiste en mostrar en orden las

bases que coinciden, las no coincidencias, las deleciones, las inserciones, etc. En la siguiente

tabla se detallan los posibles caracteres de la codificación.

9

Page 10: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

Código Descripción

M alignment match (can be a sequence match or mismatch)

I insertion to the reference

D deletion from the reference

N skipped region from the reference

S soft clipping (clipped sequences present in SEQ)

H hard clipping (clipped sequences NOT present in SEQ)

P padding (silent deletion from padded reference)

= sequence match

X sequence mismatch

Por ejemplo, dado un read de longitud 101 bases, el CIGAR “101M” indica que todo el read

alinea con la referencia.

Otro ejemplo un poco más complejo es “56M2D40M5I”. ¿Cómo interpreta este CIGAR?

¿Qué longitud tiene esta lectura?

Cómo podrá intuir en base a estas explicaciones, observar y comprender un archivo “SAM”

no es tarea fácil. Toda la información que se presenta, si bien es legible por nosotros, son

datos que los siguientes programas del pipeline van a utilizar para poder “leer” el

alineamiento y que nos puedan simplificar el trabajo. Una manera rápida de ver si el

alineamiento fue efectivo es analizar estadísticas asociadas a la calidad del mismo, así como

hicimos con los FASTQ.

Obtención de estadísticas del proceso de alineamiento

Luego de haber obtenido el SAM, el mismo es usualmente transformado en un archivo de

tipo BAM, el cual es la representación binaria de la misma información (es decir, está

comprimido y ya no lo podemos leer con un editor de texto). A continuación se obtienen

estadísticas del mapeo y alineamiento utilizando el programa Samtools (opción flagstat), el

cual recibe el BAM ordenado y devuelve un reporte. Pueden leer el reporte generado

abriendo el archivo chr22.flagstat.log.

i) Abra el archivo de texto chr22.flagstat.log y analice los resultados detalladamente.

¿Entiende todos los campos?

ii) ¿Considera que el mapeo fue exitoso? ¿Por qué?

10

Page 11: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

iii) ¿Cuántos reads fueron mapeados del total?

iv) ¿Qué FLAGS son relevantes para contabilizar los reads de la categoría “with itself and

mate mapped”?

Tarea 2) Análisis Visual del Alineamiento

Con el objetivo de visualizar el alineamiento realizado en los pasos anteriores, utilizaremos

el programa IGV (Integrative Genomics Viewer) del Broad Institute (más info en

https://www.broadinstitute.org/igv/). Este programa permite visualizar y explorar datos

genómicos (entre ellos genomas y exomas, a través del archivo de alineamiento BAM).

Asimismo, estos datos pueden ser cruzados con otras bases de datos para ver información

adicional referente a los datos genómicos cargados: como ser la citobanda, los genes, la

secuencia de referencia y las variantes conocidas. Las variantes se cargan a través de un

archivo VCF, el cual puede ser de un llamado de variantes propio o de alguna base de datos

preexistente (como ser dbSNP, ClinVar, etc).

A continuación se muestra una captura de pantalla del programa IGV:

Figura 4: Pantalla del programa IGV

i) Mediante una terminal (ctrl + alt + t), abra el IGV con el comando

11

Page 12: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

igv.sh

ii) Primero debe indicar cual es el genoma de referencia con el que desea trabajar (que debe

ser el mismo que fue utilizado para el mapeo) seleccionandolo del campo “Genoma”. Este

programa cuenta con una extensa base de datos de genomas (entre ellos, las distintas

versiones del genoma humano), los cuales se descargan a medida que son navegados. Para

poder trabajar de manera más ágil, preparamos de antemano una versión local del genoma

humano (b37 + decoy): seleccione entonces el genoma llamado “Human b37 + decoy local”.

Luego seleccione el cromosoma 22 en el campo contiguo.

iii) Cargue el archivo BAM llamado chr22.bam, ingresando a “File->Load from File…”. Este

archivo es el alineamiento obtenido tras realizar todos los pasos del preprocesamiento.

Observará que en el área de datos del usuario (tracks) aparecen dos líneas: el Coverage

(profundidad) asociado a su archivo y el bam cargado.

iv) Por el momento no puede observar los datos, desplácese por el cromosoma y modifique

el nivel de Zoom hasta observar que aparecen datos en los tracks. Interprete lo que observa.

v) A continuación veremos cómo se han mapeado y alineado los reads sobre la referencia.

Para ello en el campo “Rango de visualización”, ingrese el valor “22:36,688,863-36,690,724”

y presione Enter:

a. Le aparece un conjunto de reads mapeados. Haga Zoom in, observe las líneas de

colores en los reads, ¿qué le parece que representan?. Al clickear en los reads y en el

histograma de profundidad verá información detallada, ¿qué información obtiene?

¿De dónde salió esta información?.

b. Nos movemos ligeramente a la derecha, y en la coordenada 22:36,690,026, vemos

reads con mismatches de baja profundidad, ¿serán variantes?

c. Seguimos hacia la derecha, y en las coordenadas 22:36,690,113 y 22:36,690,120,

vemos reads que segregan por haplotipo, ¿qué significa esto? ¿serán variantes?

vi) En el campo “Rango de visualización”, ingrese ahora el valor “22:36,691,492-36,691,723”

y presione Enter:

a. ¿Qué le parece que representa?

b. Observe el track llamado Gene, fíjese cuál aminoácido corresponde a la posición y

determine si hubo (o no) un cambio de aminoácido.

12

Page 13: TP1 - Procesamiento de la secuenciación Introducción

 III Escuela de Genómica Clínica    Agosto 2018 

 

c. ¿Considera que debería ser llamada (o considerada) una variante?

vii) Ahora vaya a 22:17,280,793-17,280,850:

a. ¿Qué observa?

b. ¿Considera que debería ser llamada una variante?

c. ¿Existe un cambio de aminoácido?

viii) Inspeccione ahora detalladamente cómo se mapean y alinean las lecturas en las dos

regiones siguientes y saque conclusiones:

a. 22:36,659,702-36,663,425

b. 22:22,978,360-22,978,821

13