Alejandro tfm

122
Escuela T´ ecnica Superior de Ingenier´ ıa Inform´ atica Master Universitario en L´ ogica, Computaci´ on e Inteligencia Artificial Trabajo fin de Master: An´ alisis gen´omico a trav´ es de herramientas inform´ aticas aplicadas a datos de secuenciaci´on de nuevageneraci´on Autor: Alejandro Alem´ an Ramos Tutor: D. Francisco Romero Campero Sevilla, Viernes 1 de Julio de 2011

Transcript of Alejandro tfm

Page 1: Alejandro tfm

Escuela Tecnica Superior deIngenierıa Informatica

Master Universitario en Logica, Computacione Inteligencia Artificial

Trabajo fin de Master:

Analisis genomico a traves de herramientas

informaticas aplicadas a datos de secuenciacion de

nueva generacion

Autor:Alejandro Aleman Ramos

Tutor:D. Francisco Romero Campero

Sevilla, Viernes 1 de Julio de 2011

Page 2: Alejandro tfm

2

Page 3: Alejandro tfm

El proyecto que aquı presentamos hace una revision exhaustiva de una serie deherramientas que han surgido en el contexto de la secuenciacion de nueva generacion.

Para ello se ha dividido dicho proyecto en dos partes claramente diferenciadas.

La primera parte trata sobre una revision del software usado. Dentro del software usadopodemos destacar herramientas para indexar genomas, busqueda de alineamientos en

genomas, herramientas para realizar analisis transcriptomicos cualitativos yherramientas para realizar analisis transcriptomicos cuantitativos.

La segunda parte del proyecto se basa en la realizacion de una serie de experimentosdonde se muestra la utilizacion de dichas aplicaciones anteriormente mencionadas en la

parte primera, ası como de los resultados devueltos por dichas aplicaciones

3

Page 4: Alejandro tfm

4

Page 5: Alejandro tfm

Indice general

I Manuales de usuario 13

1. Bowtie 151.1. ¿Que es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.2. ¿Que no es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3. Obtener Bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.3.1. Compilando desde los fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4. El alineador bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

1.4.1. El modo de alineacion -n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4.2. El modo de alineacion -v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4.3. Estratos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4.4. Modos de representacion de informes . . . . . . . . . . . . . . . . . . . . . . . . . . 181.4.5. Alineamiento de Extremos emparejados . . . . . . . . . . . . . . . . . . . . . . . . 211.4.6. Alineacion por Espacio de Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . 221.4.7. Optimizacion del rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.4.8. Lınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241.4.9. Salida por defecto de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301.4.10. Salida en formato SAM de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1.5. El indexador bowtie-build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311.5.1. Lınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

1.6. El inspector de ındices bowtie-inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341.6.1. Lınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

2. TopHat 372.1. ¿Que es TopHat? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.2. ¿Que tipo de lecturas podemos usar con TopHat? . . . . . . . . . . . . . . . . . . . . . . . 372.3. ¿Como encuentra TopHat las uniones? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372.4. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.5. Obtener e instalar TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.6. Usando el mapeador de uniones TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392.6.3. Opciones Avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412.6.4. Suministrando nuestras propias uniones . . . . . . . . . . . . . . . . . . . . . . . . 422.6.5. Suministrando nuestas propias inserciones y deleciones . . . . . . . . . . . . . . . . 432.6.6. Proporcionando a TopHat un fichero de anotaciones . . . . . . . . . . . . . . . . . 43

2.7. Salida de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3. Cufflinks 453.1. ¿Que es Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.1.1. ¿Como ensambla los transcritos Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . 453.1.2. ¿Como calcula Cufflinks la abundancia de transcritos? . . . . . . . . . . . . . . . . 463.1.3. ¿Como calcula Cufflinks la distribucion de la longitud de los fragmentos? . . . . . 463.1.4. ¿Como Cufflinks identifica y corrige el sesgo de las secuencias? . . . . . . . . . . . 473.1.5. ¿Como gestiona Cufflinks las lecturas con multiples alineaciones? . . . . . . . . . . 47

5

Page 6: Alejandro tfm

3.1.6. ¿Como funciona la anotacion de referencia basada en transcritos (RABT)? . . . . 473.2. ¿Que es Cuffdiff? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.2.1. ¿Como prueba Cuffdiff la expresion diferencial y la regulacion? . . . . . . . . . . . 483.2.2. ¿Como funciona la normalizacion del cuartil superior? . . . . . . . . . . . . . . . . 503.2.3. ¿Como trata Cuffdiff las replicas biologicas? . . . . . . . . . . . . . . . . . . . . . . 50

3.3. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.4. Ejecutando Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.4.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.4.2. Opciones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.4.3. Opciones avanzadas de estimacion de la abundancia . . . . . . . . . . . . . . . . . 533.4.4. Opciones avanzadas de ensamblaje . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.4.5. Opciones avanzadas de anotaciones de referencia basada en Transcritos (RABT) . 543.4.6. Opciones avanzadas del programa de comportamiento . . . . . . . . . . . . . . . . 553.4.7. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.4.8. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

3.5. Ejecutando Cuffcompare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.5.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.5.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.5.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.5.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

3.6. Uniendo ensamblajes con Cuffmerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.6.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.6.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

3.7. Ejecutando Cuffdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.7.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.7.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613.7.3. Opciones avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.7.4. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.7.5. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

3.8. Formato de seguimiento FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.9. Biblioteca de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4. SAMtools 694.1. ¿Que es SAMtools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694.2. Comandos y opciones de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

II Casos practicos 75

5. Arabidopsis Thaliana 775.1. Genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2. Indexacion del Genoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.3. Experimento SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

5.3.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.3.2. Ejecucion de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 815.3.3. Ejecucion de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.3.4. Ejecucion de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855.3.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.4. Experimento SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.4.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.4.2. Ejecucion de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905.4.3. Ejecucion de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 925.4.4. Ejecucion de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 935.4.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

6

Page 7: Alejandro tfm

5.5. Experimento SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.5.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.5.2. Ejecucion de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985.5.3. Ejecucion de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.5.4. Ejecucion de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Apendices 104

A. Formatos de ficheros 107A.1. SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

A.1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.1.2. Cabecera del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108A.1.3. Campos obligatorios de la seccion de Alineamientos . . . . . . . . . . . . . . . . . 109A.1.4. Campos opcionales de la seccion de alineamientos . . . . . . . . . . . . . . . . . . . 112

A.2. BAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114A.3. BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

A.3.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114A.3.2. Campos obligatorios en el formato BED . . . . . . . . . . . . . . . . . . . . . . . . 114A.3.3. Campos adicionales u opcionales en el formato BED . . . . . . . . . . . . . . . . . 114A.3.4. Ejemplo de fichero BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

A.4. FASTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115A.4.1. Lınea de cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115A.4.2. Representacion de la secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

A.5. FASTQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117A.5.1. Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

A.6. GFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118A.7. GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

A.7.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118A.7.2. Campos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119A.7.3. Ejemplos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Bibliografıa 121

7

Page 8: Alejandro tfm

8

Page 9: Alejandro tfm

Indice de Figuras

5.1. Detalle de la Arabidopsis Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.2. Ficheros del genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.3. Detalle del Cromosoma 1 de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.4. Ficheros del Genoma indexado de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . 795.5. Grafico del tamano de las lecturas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . 805.6. Detalle de las lecturas cortas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . 815.7. Ficheros creados por Tophat en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 835.8. Detalle del fichero junctions.bed del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . 835.9. Porcentajes de alineamientos en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 845.10. Fichero accepted hits.sam del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . 855.11. Fichero genes.fpkm tracking del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 865.12. Tiempos ejecucion exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875.13. Expresion diferencial en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.14. Detalle de las lecturas cortas del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . 895.15. Ficheros creados por Tophat en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 905.16. Porcentajes de alineamientos en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 915.17. Fichero accepted hits.sam del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . 925.18. Fichero genes.fpkm tracking del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 945.19. Tiempos ejecucion exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.20. Expresion diferencial en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . 965.21. Detalle de las lecturas cortas del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . 975.22. Ficheros creados por Tophat en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 985.23. Detalle del fichero junctions.bed del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . 995.24. Porcentajes de alineamientos en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 995.25. Fichero accepted hits.sam del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . 1005.26. Fichero genes.fpkm tracking del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 1015.27. Tiempos ejecucion exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1025.28. Expresion diferencial en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . 103

A.1. Ejemmplo de lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.2. Ejemplo de fichero SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

9

Page 10: Alejandro tfm

10

Page 11: Alejandro tfm

Indice de Tablas

3.1. Descripcion del fichero transcripts.gtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.2. Descripcion de un registro GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563.3. Descripcion del fichero .tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583.4. Descripcion del fichero .refmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.5. Descripcion del fichero .tmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.6. Codigo de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.7. Formato de los ficheros de expresion diferencial . . . . . . . . . . . . . . . . . . . . . . . . 643.8. Formato de los ficheros de union diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . 653.9. Formato de los ficheros de codificacion diferencial de salida . . . . . . . . . . . . . . . . . 653.10. Formato de los ficheros de uso diferencial del promotor . . . . . . . . . . . . . . . . . . . . 663.11. Formato FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673.12. Biblioteca de tipos de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.1. Campos obligatorios del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110A.2. Bits de la etiqueta FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110A.3. Operaciones CIGAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111A.4. Campos opcionales del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112A.5. Etiquetas predefinidas del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113A.6. Codigos de acidos nucleicos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . 116A.7. Codigos de aminoacidos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . . . 117

11

Page 12: Alejandro tfm

12

Page 13: Alejandro tfm

Parte I

Manuales de usuario

13

Page 14: Alejandro tfm
Page 15: Alejandro tfm

Capıtulo 1

Bowtie

1.1. ¿Que es Bowtie?

Bowtie[13] es un sistema para alinear cadenas cortas que es extremadamente rapido y que tiene unagestion de memoria eficiente. Esta dirigido a alinear rapidamente grandes conjuntos de cadenas cortas deDNA de grandes genomas. En el caso de tener un ordenador de caracterısticas tıpicas, Bowtie es capazde alinear cadenas de 35 pares de bases a un ritmo de 35 millones de lecturas por hora. Bowtie a la horade indexar el genoma se basa en la transformada de Burrows-Wheeler[3] para mantener en memoria unapequena huella del mismo: para el caso del genoma humano, el ındice suele ocupar unos 2,2 GB (parala alineacion sin parejas) o 2,9 GB (para la alineacion de parejas finales o una alineacion por espacio decolores1).

Para conseguir una mayor velocidad en la alineacion se pueden usar multiples procesadores para quetrabajen simultaneamente. Bowtie, ademas, produce las alineaciones en formato estandar de SAM 2. , loque permite que Bowtie pueda trabajar con otras herramientas externas que soportan SAM, incluyendoSAMtools consensus, SNP y Indel Callers. Bowtie se ejecuta a traves de la lınea de comandos y esmultiplataforma. Los sistemas operativos soportados son: Windows, Linux, Mac OS X, Linux y Solaris.

Bowtie tambien se usa como base para otras herramientas, entre las cuales podemos incluir TopHat 3

; Cufflinks 4; Crossbow, una herramienta de computacion en la nube para resecuenciacion de datos a granescala; y Myrna, otra herramienta de computacion en la nube para el calculo de expresiones diferencialesde genes en grandes conjuntos de secuencias de RNA.

1.2. ¿Que no es Bowtie?

Bowtie no es una herramienta de alineacion de proposito general como pueden ser MUMmer 5,BLAST6 o Vmatch7. Bowtie tiene un funcionamiento mas optimo cuando se alinean lecturas cortas engenomas de gran tamano, aunque admite tambien secuencias de referencia arbitrariamente pequenas(por ejemplo amplicones 8 ) y lee cadenas de como maximo 1024 bases. Bowtie esta disenado para serextremadamente rapido con conjuntos de lecturas cortas donde:

a) muchas de las lecturas cortas tienen al menos una alineacion, que es valida.

1Vease la seccion 1.4.6 en la pagina 22 para mas informacion2Vease el apendice A.1 en la pagina 107 para mas informacion acerca del formato SAM3Vease el capıtulo 2 en la pagina 37 para mas informacion sobre TopHat4Vease el capıtulo 3 en la pagina 45 para mas informacion sobre Cufflinks5Para mas informacion acceda a la Web de MUMmmer http://mummer.sourceforge.net/6Para mas informaccion acceda a la Web de BLAST http://blast.ncbi.nlm.nih.gov/Blast.cgi7Para mas informaccion acceda a la Web de Vmatch http://www.vmatch.de/8Un amplicon es un fragmento de DNA formado como producto de eventos de amplificacion natural o artificial

15

Page 16: Alejandro tfm

b) muchas de las lecturas son de una calidad relativamente alta.

c) el numero de alineaciones reportadas por cada lectura es pequeno (cercano a 1).

Bowtie aun no informa de alineaciones con huecos; es un trabajo futuro.

1.3. Obtener Bowtie

En la pagina oficial de Bowtie podras descargar tanto los ficheros fuente de Bowtie como los binariosejecutables para su plataforma. Hay que comentar que Bowtie es multiplataforma. Las plataformas sopor-tadas son Linux, Windows y Mac OS X; en el caso de los binarios. Ademas tenemos a nuestra disposicionversiones para arquitecturas Intel i386 y x86 64 (para procesadores de 32 y 64 bits respectivamente).

1.3.1. Compilando desde los fuentes

Para compilar Bowtie desde los ficheros fuentes deberemos tener un entorno similar a GNU el cualcontenga GCC, GNU Make y otras herramientas basicas para compilar codigo. En las plataformas Linuxy Mac es posible instalar facilmente Bowtie siguiendo las instrucciones que estan en la documentacion delproyecto. Para el caso de Windows deberemos usar Cygwin o MinGW que nos emulan un sistema GNU.Desde el proyecto Bowtie se recomienda usar MinGW. En dicho caso tendremos que tener instaladoMSYS.

Para compilar Bowtie deberemos seguir los siguientes pasos:

1. Extraer los ficheros fuente.

2. Introducirnos dentro del directorio extraıdo.

3. Ejecutar el comando GNU make sin ningun argumento. Dependiendo del sistema sera make o gmake.En caso de usar MinGW, deberemos usar make desde la linea de comandos MSYS.

Si queremos que Bowtie soporte multithreading (opcion “-p”), deberemos tener en el sistema instaladala librerıa “pthreads”. Para compilar Bowtie sin pthreads (es decir, desactivar “-p”) deberemos usar makeBOWTIE PTHREADS=0.

1.4. El alineador bowtie

El comando bowtie recibe como entrada un ındice y un conjunto de lecturas cortas y como salidamuestra una lista de alineamientos. Los alineamientos son seleccionados de acuerdo a la combinacionelegida de las opciones -v/-n/-e/-l (incluyendo ademas las opciones -I/-X/–fr/–rf/ –ff para especificar elalineamiento de extremos emparejados ), los cuales definen cuales de los alineamientos son legales, y lasopciones -k/-a/-m/-M/–best/–strata definen cuales y cuantos alineamientos deberan ser reportados alusuario.

Por defecto, Bowtie aplica una polıtica de alineamiento similar a la polıtica que lleva a cabo Maq9 (lasopciones por defecto serıan (-n 2 -l 28 -e 70)10). Pero Bowtie tambien puede cumplir una sencillapolıtica “end-to-end” con “k-diferencia” (por ejemplo con -v 2)11. . Debemos de tener en cuenta que losmodos de alineamiento -v y -n son mutuamente excluyentes, es decir, no podremos usar los 2 a la vez.

Bowtie funciona mucho mejor cuando alinea lecturas cortas en genomas largos (por ejemplo, el genomadel ser humano o del raton), aunque soporta secuencias de referencia arbitrariamente pequenas y lecturasde un maximo de 1020 bases. Bowtie esta disenado para ser extremadamente rapido con conjuntos delecturas cortas donde:

9Para mas informacion vease la Web http://maq.sourceforge.net/10 Vease la seccion 1.4.1 en la pagina siguiente para mas informacion sobre este modo11Vease la seccion 1.4.2 en la pagina 18 para obtener mas informacion sobre este modo

16

Page 17: Alejandro tfm

1. muchas de las lecturas cortas tienen al menos una alineacion, que es valida.

2. muchas de las lecturas son de una calidad relativamente alta.

3. el numero de alineaciones reportadas por cada lectura es pequeno (cercano a 1).

Estos criterios estan generalmente satisfechos en el contexto del analisis de lecturas cortas por ejemplode RNA-seq, ChIP-seq, otros tipos de secuenciacion, y otros tipos de resecuenciacion de mamıferos. Paraotros contextos de investigacion se debera comprobar los tiempos de ejecucion del mismo.

Si Bowtie es demasiado lento para su aplicacion, debera probar alguna de las sugerencias para opti-mizacion del rendimiento que se describen en la seccion 1.4.7 en la pagina 24.

Los alineamientos en los cuales aparezcan uno o mas caracteres ambiguos de referencia (N, -, R,Y, etc.) seran considerados invalidos por Bowtie. Esto es cierto solo para caracteres ambiguos en lareferencia; alineaciones que tienen caracteres ambiguos en la lectura seran legales, sujetos a la polıticade alineacion. Los caracteres ambiguos en la lectura seran diferentes al resto de caracteres de la lectura.Las alineaciones que contenga a la secuencia de referencia no seran considerados validos.

El proceso por el cual bowtie elige una alineacion para informar se realiza al azar con el fin de evitarel “sesgo de asignacion”. bowtie siempre reporta un subconjunto de las alineaciones validas que existen,haciendo todo lo posible para mostrarlas al azar. Esta aleatoriedad se deriva de un generador de numerossimples pseudoaleatorios llamados semillas de forma determinista en el sentido de que Bowtie siempreproduce los mismos resultados para la misma lectura cuando es ejecutado con el mismo valor de lasemilla12.

En el modo por defecto, bowtie puede exhibir un sesgo en la hebra. El sesgo en la hebra se producecuando la entrada de referencia y las lecturas son tales que

1. algunas lecturas se alinean en el sentido normal y en el inverso de la hebra.

2. el numero de esos sitios son diferentes en ambos sentidos.

Cuando esto sucede para una lectura dada, bowtie opta por una hebra o la otra con una probabilidaddel 50 %, a continuacion, reporta un alineamiento seleccionado al azar para dicha lectura de uno de lossitios en la hebra seleccionada. Esto tiende a asignar mas alineamientos en hebras con pocos sitios ymenos alineamientos en hebras con muchos sitios. El efecto se mitiga, aunque puede no ser eliminado,cuando las lecturas son mas largas o cuando se usan los extremos emparejados. Ejecutando Bowtie conel modo --best se elimina el sesgo de la hebra forzando a Bowtie a seleccionar una hebra o la otra conuna probabilidad que es proporcional al numero de “mejores sitios” de la hebra.

Alineamientos con huecos no esta soportado actualmente por bowtie, pero lo sera en futuras versiones.

1.4.1. El modo de alineacion -n

Cuando hacemos uso de la opcion -n (la cual es la opcion por defecto en el sistema), Bowtie determinacuales de los alineamientos son validos de acuerdo con la siguiente polıtica, la cual es muy similar a lapolıtica por defecto en Maq13.

1. Las alineaciones no pueden tener mas de N desajustes (donde N es un numero entre 0 − 3, y seestablece con la opcion -n) en las primeras L bases (donde L es un numero mayor o igual a 5,establecido con la opcion -l). A las primeras L bases se las denomina la “semilla”.

2. La suma de los valores de “Phred quality” 14 de todas las posiciones no coincidentes (y no uni-camente en la semilla) no debe de sobrepasar el valor E (establecido con la opcion -e). Cuandolas calidades no estan disponibles (por ejemplo, si las lecturas son de un archivo FASTA 15)), losvalores por defecto de la calidad Phred se establecen a 40.

12Vease la seccion 1.4.8.9 en la pagina 29 para mas informacion acerca de la opcion --seed13 Acceda a la web de Maq para mas informacion http://maq.sourceforge.net/14Para mas informacion acceda a la web http://www.phrap.com/phred/15Vease la seccion A.4 en la pagina 115 para mas informacion

17

Page 18: Alejandro tfm

La opcion -n es mutuamente excluyente con la opcion -v, es decir, no podremos usar las dos a la vez.

Si se da el caso de que existan multiples alineaciones que cumplan los criterios anteriormente definidos,Bowtie dara preferencia a las alineaciones que contengan menos desajustes y donde la suma establecidaen el criterio 2 sea menor. Cuando la opcion --best este especificada, Bowtie nos garantiza que la/salineacion/es devuelta/s son las “mejores” en los terminos de estos criterios (el criterio 1 tiene prioridadcon respecto al 2), y ademas las alineaciones se mostraran de mejor a peor. En el caso de usar la opcion--best Bowtie es mas lento que si no se usa dicha opcion.

Tenga en cuenta que Maq internamente redondea las calidades menores a 10 y las mayores de 30 a30. Para mantener la compatibilidad, Bowtie hace lo mismo. El redondeo puede ser suprimido usando laopcion --nomaqround.

Por defecto en los modos -n 2 y -n 3 Bowtie no es totalmente exhaustivo. En estos modos Bowtieimpone un “limite de rastreo” para limitar el esfuerzo gastado a la hora de encontrar una alineacionvalida entre lecturas de baja calidad que muy posiblemente no tengan alineaciones validas. Esto puedecausar que Bowtie pase por alto algunas alineaciones con 2 o 3 desajustes como legales. El lımite seestablece a un valor predeterminado, pero razonable, (125 para el caso de no tener establecido --best y800 para el caso de tener establecido --best); claro esta, que el usuario puede cambiar estos valores siası lo desea. Para modificar este lımite debera usar las opciones --maxbts y/o -y. La opcion -y hace queBowtie sea relativamente lento pero nos garantiza exhaustividad completa.

1.4.2. El modo de alineacion -v

En el modo -v, las alineaciones no pueden tener mas de V desajustes, donde V es un numero entre0− 3, establecido mediante la opcion -v. Los valores de calidad no se tienen en cuenta. Recordamos quela opcion -v es mutuamente excluyente con la opcion -n.

Si se da el caso de haber muchas alineaciones legales, Bowtie da preferencia a las alineaciones conmenos desajustes. Cuando usamos la opcion --best, Bowtie garantiza que la alineacion/es reportada esla mejor en terminos del numero de desajustes, y los resultados son mostrados en un orden de mejor apeor. Hay que mencionar que Bowtie es mas lento si usamos la opcion --best.

1.4.3. Estratos

En el modo de alineamiento -n, una alineacion mediante “estratos” se define como el numero dedesajustes en la region “semilla”, es decir, las L bases en el extremo mas a la izquierda (donde L sedefine mediante la opcion -l). En el modo de alineamiento -v, una alineacion mediante “estratos” sedefine como el numero total de desajustes existentes en toda la alineacion. Algunas de las opcionesde Bowtie (como --strata y -m) usan el concepto de “estrato” para limitar o ampliar el alcance de lasalineaciones reportadas al usuario.

1.4.4. Modos de representacion de informes

Con los modos -k, -a, -m, -M, --best y --strata, el usuario puede seleccionar con cierta flexibilidadque alineaciones se van a mostrar. A continuacion veremos una serie de ejemplos en los cuales veremosdiferentes maneras de combinar estas opciones. Todos los ejemplos se basan en el uso del ındice de e coliempaquetado con Bowtie. La opcion --suppress se utiliza para mantener la salida concisa y ademas sehan eliminado algunos elementos por claridad.

1.4.4.1. Ejemplo: -a

$ ./bowtie -a -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

18

Page 19: Alejandro tfm

- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G

- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T

+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 5 alignments to 1 output stream(s)

El uso de la opcion -a le indica a Bowtie que reporte todas las alineaciones validas, sujetas, en estecaso, a la polıtica de alineamiento: -v 2. En el ejemplo, bowtie ha encontrado 5 resultados inexactosdentro del genoma de la E. Coli ; uno de los resultados (el 2o en la lista) tiene un unico desajuste, ylos otros cuatro resultados tienen 2 desajustes. Hay que indicar que 4 de los resultados siguen la lineainversa de referencia y otro la linea a seguir (sımbolo ‘-’ para el caso inverso y ‘+’ para el normal). Hayque indicar que no estan listados segun un orden de mejor a peor.

1.4.4.2. Ejemplo: -k 3

$ ./bowtie -k 3 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 3 alignments to 1 output stream(s)

El uso de la opcion -k 3 le indica a bowtie que reporte hasta 3 alineamientos validos. En este ejemplo,existen un total de 5 alineamientos validos (Vease el punto 1.4.4.2 ); bowtie nos muestra 3 alineacionesde un total de 5. El valor que recibe -k tiene que ser un valor mayor que 0.

1.4.4.3. Ejemplo: -k 6

$ ./bowtie -k 6 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G

- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T

+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 5 alignments to 1 output stream(s)

El uso de la opcion -k 6 le indica a bowtie que nos muestre 6 alineaciones validas. En este caso,unicamente existen 5 alineamientos validos, por lo que bowtie nos las muestra todos.

1.4.4.4. Ejemplo: por defecto (-k 1)

$ ./bowtie -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 1 alignments to 1 output stream(s)

19

Page 20: Alejandro tfm

En este caso dejamos el valor por defecto a la opcion -k (en este caso 1), esto nos hace que bowtie

nos muestre la primera alineacion devuelta. Como no se ha especificado la opcion --best no podemosasegurar que la alineacion devuelta sea la optima, en este caso concreto no lo es (la alineacion con ununico desajuste del caso anterior serıa mejor). No poner la opcion -k serıa igual a poner -k 1.

1.4.4.5. Ejemplo: -a --best

$ ./bowtie -a --best -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T

- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T

- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 5 alignments to 1 output stream(s)

Si hacemos uso de la opcion -a mostramos todas las alineaciones validas que existan. Ademas, comohacemos uso de la opcion --best nos aseguramos que nos las muestra de la mejor a la peor.

1.4.4.6. Ejemplo: -a --best --strata

$ ./bowtie -a --best --strata -v 2 --suppress 1,5,6,7 e_coli -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 1 alignments to 1 output stream(s)

Incluir la opcion --strata junto con -a y --best hace que bowtie nos muestre solo las alineaciones queson las mejores con respecto a la alineacion por “estratos” (Vease el punto 1.4.3 en la pagina 18 paramas informacion sobre estratos). Las mejores alineaciones en este caso (con estratos) son las que tienenel menor numero de desajustes (o desajustes unicamente en la “semilla” si usamos la opcion -n). Hayque tener en cuenta que si usamos la opcion --strata tambien deberemos usar la opcion --best.

1.4.4.7. Ejemplo: -a -m 3

$ ./bowtie -a -m 3 -v 2 e_coli -c ATGCATCATGCGCCAT

# reads processed: 1

# reads with at least one reported alignment: 0 (0.00%)

# reads that failed to align: 0 (0.00%)

# reads with alignments suppressed due to -m: 1 (100.00%)

No alignments

Al usar la opcion -m le estamos indicando a bowtie que se abstenga de informar cualquier alineacionpara lecturas cortas que contengan mas de “m” resultados, es decir, si incluimos -m 3 estamos diciendoque si tiene mas de 3 alineaciones validas que no nos muestre nada. La opcion -m es util cuando sequiere garantizar que las alineaciones que se han reportado son “unicas”, nosotros tendremos que definirel significado concreto de “unico” para cada caso.

20

Page 21: Alejandro tfm

1.4.4.8. Ejemplo: -a -m 5

$ ./bowtie -a -m 5 -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 148810 10:A>G,13:C>G

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

- gi|110640213|ref|NC_008253.1| 4930433 4:G>T,6:C>G

- gi|110640213|ref|NC_008253.1| 905664 6:A>G,7:G>T

+ gi|110640213|ref|NC_008253.1| 1093035 2:T>G,15:A>T

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 5 alignments to 1 output stream(s)

Ahora especificamos -m 5. En este caso si muestra lecturas, y ademas nos asegura que hay exactamente5 alineaciones validas. Como hay exactamente 5 alineaciones posibles, el lımite -m 5 hace que bowtie

imprima la salida de la manera usual.

1.4.4.9. Ejemplo: -a -m -3 --best --strata

$ ./bowtie -a -m 3 --best --strata -v 2 e_coli --suppress 1,5,6,7 -c ATGCATCATGCGCCAT

- gi|110640213|ref|NC_008253.1| 2852852 8:T>A

# reads processed: 1

# reads with at least one reported alignment: 1 (100.00%)

# reads that failed to align: 0 (0.00%)

Reported 1 alignments to 1 output stream(s)

En este caso especificamos la opcion -m 3 para decirle a bowtie que se abstenga de mostrar en elcaso de tener mas de 3 alineaciones validas. Pero como vimos en el ejemplo 6 la lectura solo devuelveuna unica alineacion valida cuando especificamos las opciones -a, --best y --strata, por eso la opcion -m3 hace que bowtie funcione de la manera habitual.

De una forma intuitiva, la opcion -m cuando se combina con las opciones --best y --strata, garantiza,de una forma debil,un principio de “unicidad”. Para tener una unicidad mas fuerte deberemos usar laopcion -m pero no las opciones --best y --strata.

1.4.5. Alineamiento de Extremos emparejados

Bowtie puede alinear lecturas con extremos emparejados cuando la propiedad de lecturas “empa-rejadas” esta especificada mediante las opciones -1 y -2 (para parejas sin tratar, FASTA16, o ficherosde lecturas FASTQ17 ), o usando la opcion --12 (para leer archivos delimitados por tabuladores). Unaalineacion de extremos emparejados valida debe cumplir los siguientes criterios:

1. Ambos companeros tienen una alineacion valida de acuerdo con la polıtica de alineacion que se hadefinido mediante alguna de las opciones -v/-n/-e/-l.

2. La orientacion y la posicion relativa de los companeros satisface las restricciones que se han definidomediante alguna de las opciones -l/-X/–fr/–rf/–ff.

Para una determinada lectura corta podemos determinar la polıtica que gobernara las alineacionesde extremos emparejados mediante las opciones -k, -a y -m. Por otro lado, tenemos que comentar queno podremos usar las opciones --strata y --best en el modo de extremos emparejados.

Un alineamiento de extremos emparejados se reporta como un par de alineamientos companeros, cadauno en una lınea, donde se formatea el alineamiento para cada companero como si fueran alineamientossimples independientes. La alineacion para el companero que aparece mas cerca del comienzo de la

16Vease el apendice A.4 en la pagina 115 para mas informacion acerca del formato FASTA17Vease el apendice A.5 en la pagina 117 para mas informacion acerca del formato FASTQ

21

Page 22: Alejandro tfm

secuencia de referencia se imprime siempre antes que el companero que aparece despues. Los ficherosde lecturas que contienen lecturas de extremos emparejados a veces nombran las lecturas de acuerdo alcompanero al que “pertenecen”, anadiendo el sufijo /1 o /2 respectivamente. Si no se le indica sufijoen la entrada de Bowtie, el sufijo se le anadira cuando se generan los nombres de las lecturas en losalineamientos (excepto en el modo -S “SAM”, que la informacion de los companeros se codifica en los‘‘FLAGS’’).

Encontrar un alineamiento de extremos emparejados valido donde ambos companeros se alinean enmultiples regiones puede consumir mucho tiempo. Por defecto, Bowtie evita gran parte de este costemediante la imposicion de un lımite en el numero de “intentos” haciendo que se ajuste un alineamientopara un companero cerca de un alineamiento para el el otro companero. El lımite por defecto es 100. Estohace que bowtie pase por alto algunos alineamientos validos, pero se puede hacer uso de las opciones--pairtries o -y para incrementar la sensibilidad de Bowtie como se desee.

Un alineamiento de extremos emparejados donde el alineamiento de uno de los companeros contieneal otro se considera invalido.

Cuando la alineacion por espacio de colores se activa mediante -C, la configuracion predeterminadapara la orientacion de los extremos emparejados es --ff. Esto es debido a que la mayorıa de los conjuntosde datos de SOLiD llevan esta orientacion. Cuando la alineacion por espacio de colores no esta activa(por defecto), la configuracion predeterminada para la orientacion es --fr, ya que la mayorıa de los datosde Illumina llevan esta orientacion. El valor por defecto se puede cambiar en cualquier caso.

Debido a que Bowtie usa una representacion en memoria de la cadena de referencia origial couandobusca alineamientos de extremos emparejados, su consumo de memoria es mayor cuando alinea lecturasde extremos emparejados.

1.4.6. Alineacion por Espacio de Colores

Desde la version 0.12.0, bowtie puede alinear lecturas en espacio de colores mediante un ındice deespacio de colores cuando hacemos uso de la opcion -C. El espacio de colores es el formato de salidacaracterıstico del sistema SOLiD de Applied Biosystems18. En una lectura de espacio de colores, cadacaracter es un color en lugar de un nucleotido, donde un color codifica una clase de dinucleotidos. Porejemplo el color azul codifica cualquiera de los dinucleotidos AA, CC, GG, TT. El espacio de colores tiene laventaja de ser capaz de encontrar errores de secuenciacion de SNPs una vez que la lectura se ha alineado.

1.4.6.1. Lecturas en Espacio de Colores

Todos los formatos de entrada (FASTA -f, FASTQ -q, brutos -r, separados por tabuladores --12, lıneade comandos -c) son compatibles con un espacio de colores (-C). Cuando hacemos uso de la opcion -C, lassecuencias de lecturas son tratadas como colores. Los colores se podran codificar como numeros (0=azul,2=naranja, 3=rojo) o como caracteres A/C/G/T (A=azul, C=verde, G=naranja, T=rojo).

Algunas lecturas incluyen una base de imprimacion como primer caracter, por ejemplo:

>1_53_33_F3

T2213120002010301233221223311331

>1_53_70_F3

T2302111203131231130300111123220

...

Aquı, T es la base de imprimacion. bowtie detecta y gestiona de manera adecuada la base de im-primacion (es decir, la base de imprimacion y los colores adyacentes se recortan antes de la alineacion)siempre y cuando el resto de la lectura se codifique como un numero.

bowtie ademas gestiona la entrada en formato de ficheros .csfasta y QV.qual. Deberemos usar laopcion -f para especificar el fichero .csfasta y -Q o --Q/--Q2 (para lecturas con extremos emparejados)

18Para mas informacion acceda a la web de SOLiD

22

Page 23: Alejandro tfm

para especificar el correspondiente fichero QV.qual. No es necesario convertirlo antes a FASTQ, aunquebowtie tambien gestiona lecturas en espacio de colores formateadas en FASTQ (con la opcion -q).

1.4.6.2. Construir un ındice de Espacio de Colores

Un ındice de espacio de colores se construye de la misma forma que un ındice normal excepto quehemos de usar la opcion -C cuando ejecutamos bowtie-build19. Si un usuario intenta usar bowtie sinla opcion -C para alinear con un ındice que ha sido creado con -C ( y viceversa), bowtie imprimira unmensaje de error y terminara.

1.4.6.3. Decodificar alineamientos en Espacio de Colores

Una vez que una lectura en espacio de colores ha sido alineada, Bowtie decodifica el alineamiento ennucleotidos y reporta la secuencia de nucleotidos decodificada. Es necesario un esquema de decodifica-cion ya que es posible multiples formas diferentes de decodificar. encontrar la decodificacion “perfecta”requiere el conocimiento de todas las posibles variantes (por ejemplo SNPs) en el genoma del sujeto deantemano, lo cual suele ser bastante complicado. En su lugar, bowtie emplea un esquema de decodi-ficacion aproximada descrito en [15]. Este esquema intenta distinguir las variantes de la secuencia deacuerdo con su probabilidad relativa bajo un modelo que considera los valores de calidad de los coloresy la probabilidad global de un SNP.

Los valores de calidad tambien son “decodificados”, de modo que cada valor de la calidad es unafuncion de las 2 calidades de color superpuestas. Bowtie de nuevo adopta un esquema descrito en [15], esdecir, la calidad de los nucleotidos decodificados es la suma de las calidades de color superpuestas (cuandolos dos colores superpuestos corresponden a las bases que coinciden en la alineacion) o la calidad de laigualacion de color menos la calidad de no coincidencia de color o 0 (cuando los dos colores superpuestoscorresponden a desajustes).

Para una decodificacion correcta, --snpphred/--snpfrac deben establecerse de acuerdo a la mejor es-timacion de la frecuencia de SNPs en el sujeto. El parametro --snpphred establece la penalizacion SNPdirectamente (en la escala Phred), mientras que --snpfrac permite al usuario especificar una fraccion; lafraccion es convertida posteriormente a Phred quality internamente.

Tenga en cuenta, que en el modo -S/--sam-mode, la secuencia de nucleotidos decodificada es imprimidapor alineamientos, pero la secuencia de color original (con A=azul, C=verde, G=naranja y T=rojo) esimprimida para lecturas no alineadas sin ninguna alineacion reportada. Como es habitual, los parametros--un, --max y --al imprimen las lecturas tal y cual aparecen en el fichero de entrada.

1.4.6.4. Alineamientos de extremos apareados en Espacio de Colores

Al igual que en otras plataformas, SOLiD soporta la generacion lecturas de extremos emparejados.Cuando tenemos activada la alineacion mediante espacio de colores, la orientacion por defecto de losextremos emparejados es --ff. Esto es debido a que la mayorıa de los conjuntos de datos de SOLiD tienenesta orientacion.

Tenga en cuenta que las lecturas generadas por SOLiD pueden tener companeros “huerfanos”, es decir,sin pareja correspondiente en el otro fichero. Para evitar problemas debidos a companeros huerfanos, lasalida de extremos emparejados de SOLiD ha de ser convertida primero a un fichero .csfastq omitiendolas lecturas desemparejadas. Esto se puede lograr utilizando, por ejemplo, la herramienta de conversionGalaxy20.

19Vease la seccion 1.5 en la pagina 31 para mas informacion acerca de bowtie-build20Para mas informacion acceda a la web http://main.g2.bx.psu.edu/ para mas informacion acerca de Galaxy

23

Page 24: Alejandro tfm

1.4.7. Optimizacion del rendimiento

A continuacion veremos una serie de consejos para optimizar el rendimiento de bowtie en su sistema:

1. Use la version de bowtie de 64 bits si es posible.

La version de 64 bits de Bowtie es sustancialmente (por lo general mas del 50 %) mas rapida quela version de 32 bits, debido a la aritmetica de 64 bits.

2. Si su sistema tiene multiples procesadores/nucleos, use la opcion -p21.

3. Si se reportan muchos alineamientos por lectura, intente ajustar bowtie-build --offrate.

4. Si bowtie se vuelve lento, intente incrementar bowtie --offrate.

1.4.8. Lınea de Comandos

Uso de bowtie en la lınea de comandos:

bowtie [opciones]* <ebwt> {-1 <m1> -2 <m2> | --12 <r> | <s>} [<aciertos>]

1.4.8.1. Argumentos principales

<ebwt> El nombre base del ındice que se debe buscar. El nombre base es el nombre de losficheros del ındice pero sin incluir la terminacion .1.ebwt/, .rev.1.ebwt etc. bowtiebusca el ındice especificado primero en el directorio actual, despues en el subdirecto-rio /indexes dentro del directorio donde bowtie esta instalado, y finalmente en eldirectorio especificado en la variable de entorno BOWTIE_INDEXES.

<m1> Lista separada por comas de archivos que contienen los primeros companeros (elnombre del archivo por lo general incluye 1), o, si hacemos uso de la opcion -c, lassecuencias de companeros directamente.

<m2> Lista separada por comas de archivos que contienen los segundos companeros (elnombre del archivo por lo general incluye 2), o, si hacemos uso de la opcion -c, lassecuencias de companeros directamente.

<r> Lista separada por comas de archivos que contienen un conjunto de lecturas desem-parejadas y lecturas con extremos emparejados.

<s> Lista separada por comas de archivos que contienen lecturas desemparejadas quevan a ser alineadas, o , si hacemos uso de la opcion -c, las lecturas desemparejadasdirectamente.

<aciertos> Fichero en el cual se van a escribir los alineamientos. Por defecto, se muestran en lasalida estandar (en este caso la consola).

1.4.8.2. Opciones de entrada

-q Los ficheros de entrada de consultas (especificados como <m1> y <m2>, ocomo <s>) son ficheros FASTQ (normalmente con extension .fq o .fastq)

-f Los ficheros de entrada de consultas (especificados como <m1> y <m2>, ocomo <s>) son ficheros FASTA (normalmente con extension .fa, .mfa,fna osimilares). Todos los valores de las calidades se suponen 40 en la escala Phredquality.

21Vease la opcion -p en la seccion 1.4.8.8 en la pagina 29

24

Page 25: Alejandro tfm

-r Los ficheros de entrada de consultas (especificados como <m1> y <m2>, ocomo <s>) son ficheros Raw (en bruto): una secuencia por lınea, sin valoresde calidad o nombres. Todos los valores de las calidades se suponen 40 en laescala Phred quality.

-c Las sentencias de busqueda seran recogidas mediante la lınea de comandos

-C/--quals <ficheros> Lista separada por comas de archivos que contienen los valores de calidadpara las lecturas CSFASTA no emparejadas. Se usa en combinacion con -C y-f. La opcion --integer-quals se activa automaticamente cuando -Q/--quals esespecifica.

--Q1 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres-pondientes CSFASTA #1 companeros.

--Q2 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres-pondientes CSFASTA #2 companeros.

-s/--skip <int> Descarta (no alinea) las primeras <int> lecturas o pares de la entrada.

-u/--qupto <int> Solo alinea las primeras <int> lecturas de la entrada (despues que -s/--skiphaya descartado las correspondientes lecturas). Por defecto no hay lımite.

-5/--trim5 <int> Recorta<int> bases de alta calidad (izquierda) de cada lectura antes de alinear(por defecto: 0).

-3/--trim3 <int> Recorta <int> bases de baja calidad (derecha) de cada lectura antes de alinear(por defecto: 0).

--phred33-quals Las calidades son caracteres ASCII iguales a la Phred quality mas 33. Estaopcion esta activada por defecto.

--phred64-quals Las calidades son caracteres ASCII iguales a la Phred quality mas 64. Estaopcion esta desactivada por defecto.

--solexa-quals Convierte las calidades de entrada de Solexa (que pueden ser negativas) aPhred (que no pueden ser negativas). Esta opcion es la mas adecuada cuandousamos lecturas que provienen de versiones de GA Pipeline anteriores a la 1.3.Por defecto esta desactivada.

--solexa1.3-quals Igual que --phread64-quals. Es la opcion mas adecuada para usar con lecturasemitidas por GA Pipeline version 1.3 o posteriores. Por defecto esta desacti-vada.

--integer-quals Los valores de las calidades estan representados en el fichero de entrada comoenteros ASCII (por ejemplo 40 40 30 40. . . ) en vez de caracteres ASCII (porejemplo II?I. . . ).

1.4.8.3. Opciones de Alineamientos

-v <int> Reportar alineamientos con un maximo de <int> desajustes. Las opciones-e y -l son ignoradas y los valores de las calidades no tienen efecto en losalineamientos validos. La opcion -v es mutuamente excluyente con la opcion-n.

-n/--seedmms <int> Numero maximo de desajustes permitidos en la “semilla”. Se permiten losvalores 0, 1, 2 o 3; siendo el valor por defecto 2. Esta opcion es mutuamenteexcluyente con la opcion -v.

-e/--maqerr <int> Maximo total permitido de los valores de calidad de todos los desajustesde una lectura a traves de toda la alineacion, no solo en la semilla. El valorpor defecto es 70. Al igual que Maq, bowtie redondea los valores de calidad

25

Page 26: Alejandro tfm

al 10 mas cercano y satura al 30; el redondeo puede ser deshabilitado conla opcion --nomaqround.

-l/--seedlen <int> La “longitud de la semilla”, es decir, el numero de bases en el extremo dealta calidad de la lectura en el cual se aplica el lımite -n. El valor masbajo permitido es 5 y el valor por defecto es 28. bowtie es mas rapido paravalores altos de -l.

--nomaqround Maq acepta valores de calidad en la escala Phred quality, pero internamenteredondea los valores con una precision de 10, con un maximo de 30. Pordefecto, bowtie redondea de esta forma. --nomaqround indica que no seuse esta forma de redondeo.

-I/--minins <int> El tamano mınimo de insercion para un alineamiento de extremos empare-jados valido. Por ejemplo, si se especifica -I 60 y tenemos dos alineamientode extremos emparejados de 20 pares de pases (en la orientacion apropiada)con un hueco de 20 pares de bases entre ellos, este alineamiento se consideravalido ( partiendo de la base que --X tambien se satisface). Un hueco de 19pb no serıa valido en este caso porque no llegarıa al mınimo establecido de60 pb. Si se usan las opciones de recorte -3 o -5, la restriccion -I se aplicacon respecto a los companeros “sin recortes”. El valor por defecto es 0.

-X/--maxins <int> El tamano maximo de insercion para un alineamiento de extremos empa-rejados valido. Por ejemplo, si se especifica -X 100 y tenemos dos alinea-mientos de extremos emparejados de 20 pb (en la orientacion apropiada)con un hueco de 60 pb entre ellos, este alineamiento se considera valido(partiendo de la base que --I tambien se satisface). Un hueco de 61 pb noserıa valido en este caso porque sobrepasarıa el maximo permitido de 100.Si se usan las opciones de recorte -3 o -5, la restriccion -X se aplica conrespecto a los companeros “sin recortes”. El valor por defecto es 250.

--fr/--rf/--ff Las diferentes orientaciones en las que podemos encontrarnos los com-paneros en un alineamiento de extremos emparejados. Si hacemos uso de--fr y hay un alineamiento de extremos emparejados valido donde el com-panero 1 aparece antes que el inverso complementario del companero 2 yse cumplen las limitaciones de loingitud, ese alineamiento es valido. Si elcompanero 2 aparece antes que el inverso complementario del companero 1y todas las restricciones se cumplen, tambien es valido. --rf tambien exigeque el companero 1 (en la orientacion normal) sea inverso complementadoy el companero 2 (en la orientacion inversa) este en un sentido normal. --ffrequiere que el companero 1 este en el sentido normal y el 2 en el sentidoinverso.

--nofw/--norc Si hacemos uso de --nofw, bowtie no intentara alinear con la cadena en elsentido normal. Si usamos --norc, bowtie no intentara alinear con la cadenainversa complementada.

--maxbts Numero maximo de “vueltas atras” permitidas cuando se alinea una lecturaen el modo -n 2 o -n 3 (por defecto: 125 sin --best, 800 con --best). Una“vuelta atras” es la introduccion de un cambio especulativo en la alineacion.Sin este lımite, los parametros por defecto hacen que bowtie intente 100o 1000 vueltas atras para alinear una lectura, especialmente si la lecturacontiene muchas bases con baja calidad y/o no tiene alineamientos validos;haciendo que bowtie baje su rendimiento significativamente. Sin embargo,este lımite puede causar que algunas alineaciones validas se pierdan.

--pairtries <int> Para alineaciones de extremos emparejados, este es el numero maximo deintentos que bowtie hara para que un alineamiento para un companerocoincida con un alineamiento para el otro companero. La mayorıa necesitaunos pocos intentos, pero es posible que algunas parejas requieran muchos

26

Page 27: Alejandro tfm

intentos, bajando el rendimiento se bowtie significativamente. El valor pordefecto es 100 intentos.

-y/--tryhard Intenta , como sea posible, encontrar alineamientos validos cuando existen,incluyendo alineamientos con extremos emparejados. Esto es equivalente aluso de --maxbts y --pairtries con valores muy altos. Esta opcion hace quebowtie sea generalmente mucho mas lento que el modo normal por defecto.

--chunkmbs <int> Numero de MegaBytes de memoria que se le asigna a cada hilo para al-macenar los descriptores en el modo --best. Bowtie intenta minimizar lamemoria usada por los descriptores, pero en muchos casos esta memoriapuede crecer demasiado. Si se recibe algun mensaje indicando que la me-moria se ha agotado en el modo --best, deberemos ajustar la memoria coneste parametro dedicando mas memoria a los descriptores. El valor pordefecto son 64 MB.

1.4.8.4. Opciones de informes

-k <int> Reporta <int> alineamientos validos por lectura o par (por defecto 1). Lavalidez de las alineaciones se determinada por la polıtica de alineamiento(efectos combinados de -n, -v, -l y -e). Bowtie esta disenado para ser muyrapido para valores pequenos de -k, y puede llegar a volverse muy lentopara valores grandes de -k. Si le interesa usar Bowtie con valores altos de-k considere la creacion de un ındice22.

-a/--all Informa de todas las alineaciones validas por lectura o par (por defec-to esta desactivado). La validez de las alineaciones se determinada por lapolıtica de alineamiento (efectos combinados de -n, -v, -l y -e). Bowtieesta disenado para ser muy rapido para valores pequenos de -k, y puedellegar a volverse muy lento si usamos -a/--all. Si le interesa usar Bowtie con-a/--all considere la creacion de un ındice.

-m <int> Suprimir todos los alineamientos de una lectura o par si para esa lecturaexisten mas de <int> alineamientos. Cuentan como alineamientos aquellosque son reportados por -n, -v, -l, -e, -k, -a y/o --strata. Por defecto no tienelımite.

-M <int> Se comporta como -m salvo que si una lectura tiene mas de <int> alinea-mientos se reporta uno aleatoriamente.

--best Garantiza que Bowtie reporta alineamientos que son los “mejores” en termi-nos de estratos (por ejemplo, numero de desajustes, o desajustes en la se-milla en el caso de el modo -n) y en terminos de calidad en las posicionescon desajustes. Cuando no especificamos --best Bowtie reportara alinea-mientos que no tienen por que ser optimos en terminos de estratos/calidad.Tenga en cuenta que --best no afecta a cuales alineamientos son conside-rados “validos” por bowtie, si no cuales de esos alineamientos validos sonreportados por bowtie.

--strata Si existen muchas alineaciones validas y son “reportables” y caen en muchosestratos, se reportan unicamente aquellas alineaciones que caen en el mejorestrato. Cuando hacemos uso de --strata tambien deberemos usar --best.

1.4.8.5. Opciones de salida

-t/--time Imprime el tiempo empleado en cada una de las fases.

22Vease la seccion 1.5 en la pagina 31 para mas detalles acerca de los ındices

27

Page 28: Alejandro tfm

-B/--offbase <int> Cuando muestra los alineamientos, la posicion de la primera base sera<int>.Por defecto es 0.

--quiet No se muestra nada aparte de las alineaciones.

--refout Escribe la salida en un conjunto de ficheros de la forma refXXXXX.map,

donde XXXXX es el ındice de la secuencia de referencia alineada. Esto puedeser util para grandes volumenes de lecturas, por ejemplo para alinear conel genoma humano.

--refidx Cuando una secuencia de referencia se refiere a un alineamiento reportado,se refiere a el mediante su ındice en vez de su nombre.

--al <fichero> Escribe todas las lecturas con al menos un alineamiento en un archivo denombre <fichero>.

--un <fichero> Escribe todas las lecturas que no han podido ser alineadas en un archivode nombre <fichero>.

--max <fichero> Escribe todas las lecturas con un numero de alineamientos validos superioral lımite establecido con la opcion -m en un archivo de nombre <fichero>.

--suppress <columnas> Suprime una serie de columnas de salida en el formato de salida por defec-to. Por ejemplo si usamos --suppress 1,5,6, las columnas 1,5,6 no semostraran en la salida. Esta opcion es ignorada si estamos en el modo desalida -S/--sam.

--fullref Imprime el nombre de referencia completo de una secuencia. Por defectobowtie imprime hasta llegar al primer espacio en blanco.

1.4.8.6. Opciones del Espacio de colores

--snpphred <int> En la decodificacion de alineamientos con espacio de colores, se usa <int>como la penalizacion SNP. Se debe establecer al mejor valor en relacion deSNPs por base del genoma sujeto, convertido a la escala de calidad Phred.Por ejemplo, si el usuario espera 1 SNP cada 1000 posiciones, --snpphreddebera ser 30 (que es el valor por defecto. Para especificar una fracciondirectamente debera usar --snpfrac.

--snpfrac <dec> En la decodificacion de alineamientos con espacio de colores, se usa <dec>como la relacion SNPs por base. bowtie convierte el valor al formato decalidad Phred, y se comporta como si se hubiera usado la opcion --snpphred.El valor por defecto es 0,0001

--col-cseq Si las lecturas estan en espacio de colores y el modo por defecto de salida23

esta activado, --col-cseq hace que el color de la secuencia aparezca en lacolumna de la secuencia de la lectura (columna 5) en lugar de la secuenciade nucleotidos. Esta opcion es ignorada en el modo -S/--sam.

--col-cqual Si las lecturas estan en espacio de colores y el modo por defecto de salidaesta activado, --col-cseq hace que la calidad (color) original de la lecturaaparezca en la columna de la calidad en vez de la calidad decodificada. Estaopcion es ignorada en el modo -S/--sam.

--col-keepends Cuando se decodifican alineamientos con espacio de colores, bowtie cortaun nucleotido y una calidad de la izquierda y de la derecha del alineamien-to. Esto se debe a que los nucleotidos son compatibles con un solo color,en contraste con los nucleotidos del medio que son soportados por dos.Especificar --col-keepends mantiene los nucleotidos y sus calidades en losextremos.

23Vease la seccion 1.4.9 en la pagina 30 para mas informacion acerca de este modo

28

Page 29: Alejandro tfm

1.4.8.7. Opciones de SAM

-S/--sam Imprime los alineamientos en formato SAM. Vaya a la seccion 1.4.10 enla pagina siguiente para mas detalles. Para suprimir todas las cabecerasSAM use la opcion --sam-nohead ademas de -S/--sam. Para suprimir sololas cabeceras @SQ use la opcion --sam-nosq junto con -S/--sam. bowtie nocrea archivos BAM directamente, pero la salida en formato SAM puedeser convertida en formato BAM directamente haciendo uso de tuberıas yel comando samtools view24. La opcion -S/--sam no es compatible con--refout.

--mapq <int> Si el alineamiento es no repetitivo (de acuerdo con -m, --strata y otrasopciones) se establecera el campo MAPQ25 (Calidad del mapeo/asignacion)con el valor que recibe por parametro (<int>). El valor por defecto es 255.

--sam-nohead Suprime las lıneas de cabecera (que comienzan por @) cuando la salida es-S/--sam. Debe usarse en conjunto con -S/--sam. --sam-nohead se ignora ano ser que se use con -S/--sam.

--sam-nosq Suprime las lıneas de cabecera @SQ cuando la salida es -S/--sam. Debeusarse en conjunto con -S/--sam. --sam-nosq se ignora a no ser que se usecon -S/--sam.

--sam-RG <texto> Anade<texto> (generalmente de la forma TAG:VAL, por ejemplo ID:IL7LANE2)como un campo en la lınea de cabecera @RG. Para especificar multiples cam-pos deberemos usar multiples veces la opcion --sam-RG. --sam-RG se ignoraa no ser que se use con -S/--sam.

1.4.8.8. Opciones de rendimiento

-o/--offrate <int> Reemplaza el “offrate” del ındice con <int>. Si <int> es mayor que el offra-te usado para construir el ındice26, algunas filas seran descartadas cuandoel ındice se cargue en memoria. Esto reduce el consumo de memoria del ali-neador, pero requiere mas tiempo para calcular los desplazamientos. <int>debe ser mayor que el valor usado para la creacion del ındice.

-p/--threads <int> Lanza <int> hilos en paralelo. Los hilos pueden ser ejecutados en diferentesprocesadores/nucleos y sincronizarse luego para analizar las lecturas y losalineamientos resultantes.

--mm Usa la asignacion de memoria de E/S para cargar el ındice, en vez de losficheros C normales de E/S. Esto facilita la eficiencia de la memoria a lahora de paralelizar bowtie en situaciones donde -p no es posible.

--shmem Usa la memoria compartida para cargar el ındice. El uso de la memoriacompartida permite que muchos procesos concurrentes de bowtie compar-tan el mismo ındice. Esto facilita la eficiencia de la memoria a la hora deparalelizar bowtie en situaciones donde -p no es posible.

1.4.8.9. Otras opciones

--seed <int> Usa <int> como semilla para generar numeros pseudoaleatorios.

--verbose Muestra toda la salida generada (se usa para debug).

--version Muestra la version de bowtie instalada en el sistema.

24Vease el capıtulo 4 en la pagina 69 para mas informacion acerca de SAMtools25Vease el apendice A.1 en la pagina 107 para mas informacion acerca del campo MAPQ26Vease la seccion 1.5 en la pagina 31 para mas informacion acerca de la creacion de ındices

29

Page 30: Alejandro tfm

-h/--help Muestra la ayuda de bowtie.

1.4.9. Salida por defecto de bowtie

bowtie imprime en la salida un alineamiento por lınea. Cada lınea es una coleccion de 8 camposseparados por tabuladores; de izquierda a derecha, los campos son los siguientes:

1. Nombre de la lectura alineada.

2. Sentido de la hebra, ‘+’ sentido normal, ‘-’ sentido opuesto.

3. Nombre de la secuencia de referencia donde aparece el alineamiento, o un ID numerico si no seproporciono ningun nombre.

4. Desplazamiento en la hebra de referencia.

5. Secuencia de la lectura (o inversa complementaria si la orientacion es ‘-’).

Si la lectura estaba en espacio de colores, entonces la secuencia mostrada en esta columna es lasecuencia de nucleotidos, no los colores originales. Vease la seccion 1.4.6 en la pagina 22 para masdetalles. Para mostrar los colores hemos de usar la opcion --col-cseq.

6. Calidades de la lectura codificadas en formato ASCII.

Si la lectura estaba en espacio de colores, entonces las calidades mostradas en esta columna sonlas calidades decodificadas, no las calidades originales. Para mostrar los colores hemos de usar laopcion --col-cseq.

7. Si hemos hecho uso de la opcion -M y el lımite establecido se ha superado con esta lectura, estacolumna contendra el valor del lımite, indicando que se encontraron al menos esas alineaciones,pudiendo ser muchas mas.

8. Lista, separada por comas, de descriptores de desajustes. Si no hay desajustes en el alineamientoeste campo estara vacıo. Un descriptor tiene el formatodesplazamiento:base-de-referencia>lectura-base.

1.4.10. Salida en formato SAM de bowtie

A continuacion presentamos una breve descripcion de la salida que genera bowtie en formato SAMcuando hacemos uso de la opcion -S/--sam. Para mas detalles, vea el formato SAM en el apendice A.1en la pagina 107.

Cuando hacemos uso de la opcion -S/--sam, bowtie imprime una cabecera SAM con las lıneas @HD, @SQy @PG. Ademas, cuando especificamos argumentos RG de SAM mediante --sam-RG, bowtie imprimira unalınea @RG que los incluye separados por tabuladores.

Cada lınea de subsecuencia corresponde a una lectura corta o a un alineamiento. Cada lınea es unacoleccion de al menos 12 campos separados por tabuladores; veamos cuales de ellos podemos encontrarnos(de izquierda a derecha):

1. Nombre de la lectura alineada

2. Suma de todos los flags aplicables. Los Flags mas relevantes de Bowtie son:

1 La lectura es una de una pareja.

2 El alineamiento es un extremo de una correcta alineacion de pares finales.

4 La lectura no reporta alineamiento alguno.

8 La lectura es una de una pareja y no repa orta alineamientos.

16 La alineacion pertenece a la orientacion inversa de la cadena.

30

Page 31: Alejandro tfm

32 El otro companero del alineamiento de extremos emparejados pertenece a la orientacioninversa de la cadena.

64 La lectura es el primer companero dentro de la pareja.

128 La lectura es el segundo companero dentro de la pareja.

Por lo tanto, una lectura sin pareja que se alinea en la orientacion inversa tendra como flag 16.Una lectura de extremos emparejados que se alinee y ademas sea el primero de los companerostendra bandera 83 (= 64 + 16 + 2 + 1).

3. Nombre de la secuencia de referencia donde se produce la alineacion, o ID ordinal si no se propor-ciono el nombre.

4. Desplazamiento en la hebra de referencia donde aparece el caracter mas a la izquierda del alinea-miento.

5. Calidad del mapeo.

6. Cadena CIGAR de la alineacion.

7. Nombre de la secuencia de referencia donde se alinea el companero. Se establece a “=” si la secuenciade referencia del companero es la misma, o “*” si no hay companero.

8. Desplazamiento en la hebra de referencia donde aparece el caracter mas a la izquierda del alinea-miento del companero. El desplazamiento sera 0 si no hay companero.

9. Tamano de insercion inferido. El tamano es negativo si la alineacion de la pareja se produce antesen la cadena que este alineamiento. El tamano es 0 si no existe pareja.

10. Secuencia (inversa complementada si se alinea en la cadena inversa).

11. Cualidades de las lecturas en codificacion ASCII.

12. Campos opcionales. Los campos estan separados por tabuladores. Para una descripcion mas deta-llada vea el apendice A.1 en la pagina 107. Bowtie imprimira algunos de estos campos opcionalesen cada alineamiento, dependiendo del tipo de alineamiento:

NM:i:<N> Lectura alineada tiene una distancia de <N>.

CM:i:<N> Lectura alineada tiene una distancia de <N> en espacio de colores. Este campo esta pre-sente junto con el campo NM en el modo -C/--color, y es omitido en caso contrario.

MD:Z:<S> Para las lecturas alineadas, <S> es una cadena que representa las bases de referen-cia que no coinciden en la alineacion. Para alineamientos en espacio de colores, <S>describe los nucleotidos de la alineacion, no los colores.

XA:i:<N Los alineamientos pertenecen al estrato <N>. Vease el punto 1.4.3 en la pagina 18 paramas informacion acerca de los estratos.

XM:i:<N> Para lecturas que no reportan alineamientos. <N> es 0 si la lectura no tiene alinea-mientos.

1.5. El indexador bowtie-build

bowtie-build construye un ındice “Bowtie” a partir de un conjunto de secuencias de DNA. Lasalida generada por bowtie-build son 6 ficheros con extensiones .1.ebwt, .2.ebwt, .3.ebwt, .4.ebwt,.rev.1.ebwt y .rev.2.ebwt27. Estos ficheros constituyen el ındice: son todo lo que se necesita para poderalinear lecturas cortas. Los ficheros originales con las secuencias de DNA no son usados por Bowtie unavez que el ındice ha sido creado.

27Vease [3] para mas informacion sobre la transformada de Burrows-Wheeler

31

Page 32: Alejandro tfm

Bowtie usa el algoritmo por bloques de Karkkainen [11] para compensar el tiempo de ejecucion yla memoria usada. bowtie-build tiene tres opciones para gestionar esta compensacion: -p/--packed,--bmax/--bmaxdivn y --dcv. Por defecto, bowtie-build buscara la configuracion que produzca los me-jores tiempos de ejecucion sin agotar la memoria disponible. Este comportamiento por defecto puededeshabilitarse mediante la opcion -a/--noauto.

El indexador ofrece una serie de opciones relacionadas con la “forma” que tendra el ındice, por ejemplo--offrate se encarga de gestionar que fraccion de las filas de la transformada de Burrows-Wheeler[3] son“marcadas”. Todas estas opciones son potencialmente provechosas dependiendo de la aplicacion concreta.Se han establecido los valores predeterminados (que son razonables para la mayorıa de los casos) deacuerdo con nuestros experimentos. Vease la seccion 1.4.7 en la pagina 24 para mas informacion.

Debido a que bowtie-build usa internamente punteros de 32-bit, puede manejar hasta un maximoteorico de 232 − 1 caracteres en un ındice, sin embargo, debido a otras limitaciones, el techo real es algomenor que eso. Si nuestra referencia sobrepasa los 232−1 caracteres, bowtie-build mostrara un mensajede error y abortara el proceso. Para resolver este problema, deberemos dividir la secuencia de referenciaen lotes mas pequenos y/o trozos y construir un ındice independiente para cada uno.

Si su equipo tiene mas de 3-4 GB de memoria RAM y quiere aprovechar este hecho para hacer masrapida la construccion del ındice, debera usar la version de bowtie-build de 64 bits. La version de 32bits esta restringida para usar menos de 4 GB de memoria. Si en la zona de descarga de Bowtie no existeun binario “pre-compilado” debera descargar el codigo fuente y compilarlo usted mismo.

El indexador de Bowtie se basa en el “Indice FM” de Ferragina y Manzini[7], que a su vez se basaen la transformada de Burrows-Wheeler[3]. El algoritmo usado para construir el ındice esta basado en elalgoritmo por bloques de Karkkainen[11].

1.5.1. Lınea de Comandos

Uso de bowtie-build en la lınea de comandos:

bowtie-build [opciones]* <referencia> <ebwt_base>

1.5.1.1. Argumentos Principales

<referencia> Lista de ficheros FASTA que contienen las secuencias de referencia que van a ser ali-neadas, o, si -c esta especificada, las propias secuencias. Por ejemplo <referencia>

puede ser chr1.fa, chr2.fa, chrX.fa, o, si -c esta especificada, GGTCATCCT, ACGGGTCGT,CCGTTCTATGCGGCTTA.

<ebwt base> El nombre base que se va a usar para nombrar los ficheros del ındice. Por defecto,bowtie-build nombra los ficheros de la siguiente forma NOMBRE.1.ebwt, NOMBRE.2.ebwt,NOMBRE.3.ebwt, NOMBRE.4.ebwt, NOMBRE.rev.1.ebwt y NOMBRE.rev.2.ebwt, dondeNOMBRE es <ebwt base>.

1.5.1.2. Opciones

-f Los ficheros referencia de entrada (especificados como <referencia>) son fi-cheros FASTA (usualmente con extension .fa, mfa, fna o similar).

-c Las secuencias de referencia son tomadas por la lınea de comandos. Es decir,<referencia> es una lista separada por comas de secuencias de DNA en lugarde una lista de ficheros FASTA.

-C/--color Construye un ındice basado en espacio de colores, que se va a consultar ha-ciendo uso de bowtie -C.

32

Page 33: Alejandro tfm

-a/--noauto Desactiva el comportamiento por defecto por el cual bowtie-build seleccionaautomaticamente los valores para los parametros --bmak, --dcv y --packed deacuerdo con la memoria disponible. En su lugar, el usuario puede especificarlos valores de estos parametros. Si la memoria se agota durante la indexacionse mostrara un error indicando dicho evento; en dicho caso es responsabilidaddel usuario buscar nuevos parametros para evitar dicho error.

-p/--packed Usa una representacion empaquetada ( 2 bits por nucleotido) para las cadenasde DNA. Esto hace que se ahorre memoria pero hace que la indexacion sevuelva 2-3 veces mas lenta. Por defecto esta opcion esta deshabilitada y sepuede configurar manualmente haciendo uso de la opcion -a/--noauto.

--bmax <int> El numero maximo de sufijos permitidos en un bloque. Permitiendo mas sufijospor bloque hace que la indexacion sea mas rapida, pero aumenta el uso de lamemoria. Al usar esta opcion se reemplaza cualquier valor anterior de --bmaxo --bmaxdivn. Por defecto (en terminos el parametro --bmaxdivn) el valor es--bmaxdivn 4. Esto se configura automaticamente por defecto; usaremos -a/--noauto para configurarlo manualmente.

--bmaxdivn <int> El numero maximo de sufijos permitidos en un bloque, expresado como fraccionde la longitud de la secuencia de referencia. Al usar esta opcion se reemplazacualquier valor anterior de --bmax o --bmaxdivn. Por defecto (en terminos elparametro –bmaxdivn) el valor es --bmaxdivn 4. Esto se configura automati-camente por defecto; usaremos -a/--noauto para configurarlo manualmente.

--dcv <int> Usa <int> como perıodo de la muestra. Un perıodo largo produce menossobrecarga de memoria, pero hace la ordenacion de sufijos mas lenta, especial-mente si hay repeticiones. Debe ser una potencia de 2 menor que 4096. El valorpor defecto es 1024. Esto se configura automaticamente por defecto; usaremos-a/--noauto para configurarlo manualmente.

--nodc Deshabilita el uso de --dcv. La ordenacion de sufijos pasa a ser de tiempocuadratico en el peor caso. Por defecto esta opcion esta deshabilitada.

-r/--noref No construye las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT del ındice, las cualescontienen una version empaquetada de la secuencia de referencia y es usadapara alineamientos de extremos emparejados.

-3/--justref Construye solo las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT, las cuales contie-nen una version empaquetada de la secuencia de referencia y es usada paraalineamientos de extremos emparejados.

-o/--offrate <int> Para asignar las alineaciones a las posiciones en las secuencias de referen-cia, es necesario anotar (marcar) algunas o todas las filas de la transformadade Burrows-Wheeler[3] con su correspondiente ubicacion en el genoma. -o-/--offrate se encarga de cuantas filas van a ser marcadas: el indexador marcara ca-da 2<int> filas. Marcar mas filas produce que las busquedas de referencia-posicion sean mas rapidas, pero requiere de mas memoria para mantener todaslas anotaciones en tiempo de ejecucion. El valor por defecto es 5 (anota 1 filacada 32); para el caso del genoma humano las anotaciones ocupan 340 MB.

-t/--ftabchars <int> Ftab es una tabla de busqueda utilizada para calcular el rango inicial de latransformada de Burrows-Wheeler[3] con respecto a los primeros <int> carac-teres de la consulta. Un <int> mas grande produce una tabla de busquedamas grande, pero tambien produce tiempos mas rapidos en las consultas. laftab tiene un tamano de 4<int>+1 bytes. Por defecto, esta establecido a 10 (laftab tiene un tamano de 4MB).

--ntoa Convierte Ns en la secuencia de referencia en As antes de construir el ındice.Por defecto, Ns se excluyen del ındice y bowtie no informa alineamientos quelas incluyan.

33

Page 34: Alejandro tfm

--big --little Se usara el bit menos significativo cuando se serializan enteros en el ındice.Por defecto: little-endian (recomendado para arquitecturas Intel y AMD).

--seed <int> Usa <int> como semilla para el generador de numeros pseudo-aleatorios.

--cutoff <int> Indexara unicamente las primeras <int> bases de la secuencia de referencia eignorara el resto.

-q/--quiet bowtie-build por defecto esta en modo “verbose”. Con esta opcion bowtie-build

solo imprimira los mensajes de error.

-h/--help Muestra la ayuda de bowtie-build.

--version Muestra la version de bowtie-build instalada en el sistema.

1.6. El inspector de ındices bowtie-inspect

bowtie-inspect extrae informacion de un ındice de Bowtie sobre que tipo de ındice y sobre las se-cuencias de referencia se usaron para construirlo. Cuando se ejecuta sin ninguna opcion, bowtie-inspectmostrara en la salida un fichero FASTA que contiene las secuencias de referencia originales (con todos loscaracteres que no son A/C/G/T convertidos en Ns). Tambien puede ser utilizado para extraer los nombresde las secuencias de referencia usando la opcion -n/--names o un resumen mas detallado mediante laopcion -s/--summary.

1.6.1. Lınea de Comandos

Uso de bowtie-inspect en la lınea de comandos:

bowtie-inspect [opciones]* <ebwt_base>

1.6.1.1. Argumentos principales

<ebwt base> El nombre base del ındice que va a ser inspeccionado. El nombre base es el nombrede los ficheros del ındice pero sin incluir la terminacion .X.ebwt/.rev.X.ebwt etc.bowtie busca el ındice especificado primero en el directorio actual, despues en elsubdirectorio indexes dentro del directorio donde bowtie esta instalado, y finalmenteen el directorio especificado en la variable de entorno BOWTIE_INDEXES.

1.6.1.2. Opciones

-a/--across <int> Al imprimir la salida en formato FASTA, imprime un caracter de “nueva linea”cada <int> bases (por defecto: 60).

-n/--names Imprime los nombres de las secuencias de referencia, uno por lınea.

-s/--summary Imprime un resumen que incluye informacion sobre la configuracion del ındice,ası como los nombres y longitudes de las secuencias de entrada. El resumen tieneel siguiente formato:

Colorspace <0 or 1>

SA-Sample 1 in <sample>

FTab-Chars <chars>

Sequence-1 <nombre> <longitud>

Sequence-2 <nombre> <longitud>

34

Page 35: Alejandro tfm

...

Sequence-N <nombre> <longitud>

Los campos se separan mediante tabuladores.

-e/--ebwt-ref Por defecto, cuando ejecutamos bowtie-inspect sin la opcion -s o la opcion -n,este recrea las secuencias de nucleotidos usando los nucleotidos codificados quese encuentran en los ficheros .3.ebwt y .4.ebwt del ındice. Cuando hacemosuso de la opcion -e/--ebwt-ref bowtie-inspect recrea la secuencia de referenciaa partir del fichero .1.ebwt que contiene la secuencia de referencia basada en latransformada de Burrows-Wheeler[3]. El proceso de recreacion es mucho mas lentocuando hacemos uso de -e/--ebwt-ref. Ademas, cuando usamos -e/--ebwt-ref y elındice se basa en espacio de colores, la referencia es imprimida en colores (A=azul,C=verde, G=naranja,T=rojo).

--verbose Muestra toda la salida generada (se usa para debug).

--version Muestra la version de bowtie-inspect instalada en el sistema.

-h/--help Muestra la ayuda de bowtie-inspect.

35

Page 36: Alejandro tfm

36

Page 37: Alejandro tfm

Capıtulo 2

TopHat

2.1. ¿Que es TopHat?

TopHat [20] es un programa que trata de alinear secuencias cortas de RNA dentro de un genoma paraidentificar las uniones de empalme exon-exon. Se basa en la alineacion ultra rapida de lecturas cortas deBowtie1 para su funcionamiento. TopHat corre unicamente en Linux y OS X, para hacerlo funcionar enWindows deberemos usar algun tipo de emulador.

2.2. ¿Que tipo de lecturas podemos usar con TopHat?

En un principio, TopHat fue disenado para trabajar con lecturas producidas por Illumina GenomeAnalyzer 2, aunque muchos usuarios han tenido exito al usar TopHat con lecturas provenientes de otrastecnologıas. En la version 1.1.0 de TopHat se comenzo a soportar el formato de Espacio de Colores deApplied Biosystems. Hay que remarcar que TopHat esta optimizado para lecturas de 75 pares de baseso mas.

Actualmente, TopHat no permite hacer inserciones o deleciones pequenas (menos de unas pocosnucleotidos) dentro de las alineaciones reportadas. El soporte para dicha funcionalidad se pretente anadiren futuras versiones.

La mezcla de lecturas emparejadas y lecturas simples juntas no esta permitida en TopHat.

2.3. ¿Como encuentra TopHat las uniones?

A la hora de encontrar uniones, Tophat lo hace sin anotaciones de referencia. Primero lo que hace esmapear las secuencias cortas de RNA en el genoma; acto seguido, Tophat, identifica exones potenciales,ya que muchas secuencias cortas de RNA se alinearan de manera continua en el genoma. Usando estemapeo inicial, TopHat construye una base de datos con todas las uniones posibles, y a continuacion,mapea cada una de las lecturas con su posible union para confirmarlas.

Las maquinas de secuenciacion en la actualidad producen lecturas cortas de un tamano de 100 paresde bases o superior. Algunos exones son mas cortos de 100 pares de bases, esto produce que muchosexones se puedan “perder” en el mapeo inicial. TopHat para solucionar este problema fracciona todaslas lecturas de entrada en fragmentos mas pequenos, y los mapea de forma independiente. En la etapafinal TopHat vuelve a “pegar” los segmentos para ası poder producir las alineaciones.

1Vease el capıtulo 1 en la pagina 15 para mas informacion2Illumina Genoma Analyzer es un secuenciador de DNA de la empresa Illumina

37

Page 38: Alejandro tfm

Tophat, a la hora de generar la base de datos de la uniones, hace uso de tres posibles fuentes deevidencias:

La primera fuente son los emparejamientos de “islas de cobertura”, que se localizan en distintasregiones de la pila de lecturas de la asignacion inicial. Las “islas” vecinas son, a menudo, colocadasjuntas en el transcriptoma; ası, TopHat, busca la forma de unirlas con un intron.

La segunda fuente solo es utilizada cuando TopHat se ejecuta con lecturas de extremos emparejados.Cuando se lee un par proveniente de diferentes exones de una transcripcion, por lo general, seasignan bastante separados en el genoma. Cuando nos encontramos frente a una situacion de estetipo, TopHat trata de “cerrar” la brecha entre ambos mediante la busqueda de subsecuencias delgenoma que sean “companeras” de una longitud total igual a la distancia de la brecha. Despues deesto, los intrones de la subsecuencia se anadiran a la base de datos que genera TopHat.

La tercera, y mas fuerte fuente de evidencias, se produce cuando dos segmentos de la misma lecturase asignan lejos uno de otro, o cuando falla el mapeo de un segmento interno. Con lecturas largas (demas de 75 pares de bases), los intrones “GT-AG”, “GC-AG” y “A-AC” se encuentran al principio.Con cadenas cortas, TopHat solo informa alineamientos con los intrones “GT-AG”.

2.4. Prerrequisitos

Como dijimos en la seccion 2.1 en la pagina anterior, TopHat esta basado en Bowtie. Por ello parapoder ejecutar TopHat en nuestro sistema deberemos tener los siguientes ejecutables de Bowtie dentrode nuestra variable PATH.

bowtie

bowtie-inspect

bowtie-build

Por otro lado, las alineaciones de salida de TopHat usan el formato BAM, por lo que necesitaremosdescargar e instalar SAM tools. Si necesita mas informacion sobre SAM tools puede leer el capıtulo 4 enla pagina 69 que habla sobre dicho sistema.

El ultimo requisito necesario para hacer funcionar correctamente TopHat en nuestro sistema es quedebe de tener la version 2.4, o superior, de Python.

2.5. Obtener e instalar TopHat

Para obtener TopHat puede ir directamente a la pagina web de TopHat y descargar los ficheros fuente.Para compilar los ficheros fuente deberemos seguir lo siguentes pasos:

1. Extraer los ficheros fuente del paquete comprimido.

2. Acceder al directorio extraıdo.

3. Ejecutar el comando ./configure para que nos prepare el entorno antes de compilar.

4. Ejecutar el comando make que nos generara los ficheros ejecutables.

5. Finalmente para instalar TopHat en nuestro sistema deberemos de ejecutar sudo make install.De esta forma TopHat quedara correctamente instalado y los ejecutables estaran listos para serusados.

En la seccion 2.6 en la pagina siguiente podra tener informacion relevante y de una forma detalladade todas las opciones que puede usar con TopHat.

38

Page 39: Alejandro tfm

2.6. Usando el mapeador de uniones TopHat

Veamos una descripcion detallada del formato que ha de seguir para poder invocar correctamente aTopHat:

tophat [opciones]* <indice_de_bases> <lecturas1_1 [,... lecturasN_1]>

<lecturas1_2,... lecturasN_2>

Cuando ejecutamos TopHat con extremos emparejados, hay que tener en cuenta que es muy impor-tante que los ficheros * 1 y * 2 (es decir, los conjuntos de lecturas 1 y 2), tienen que aparecer separadospor comas en listas separadas. Y el orden de estos ficheros tiene que ser el mismo en ambas listas.

2.6.1. Argumentos

indice de bases El nombre base del ındice que se debe buscar. El nombre base esel nombre de los ficheros del ındice pero sin incluir la terminacion.1.ebwt/, .rev.1.ebwt etc. bowtie busca el ındice especifica-do primero en el directorio actual, despues en el subdirectorioindexes dentro del directorio donde bowtie esta instalado, y fi-nalmente en el directorio especificado en la variable de entornoBOWTIE_INDEXES.

lecturas1 1 ,. . . lecturasN 1 Lista separada por comas de ficheros que contienen lecturas enformato FASTA o FASTQ. Cuando ejecutamos TopHat con lec-turas de finales emparejados, estos deben ser el conjunto * 1.

lecturas1 2,. . . lecturasN 2 Lista separada por comas de ficheros que contienen lecturas enformato FASTA o FASTQ. Solo es usado cuando usamos TopHatcon lecturas de finales emparejados, y contiene el conjunto deficheros * 2. Los ficheros * 2 deben aparecer en el mismo ordenque los ficheros * 1.

2.6.2. Opciones

-h/--help Muestra la ayuda de TopHat.

-v/--version Muestra la version de TopHat instalada en el sistema.

-o/--output-dir <string> Establece el directorio en el cual TopHat guardara las sa-lidas generadas. Por defecto es el directorio “.tophat out”.

-r/--mate-inner-dist <int> Esta es la distancia (media) esperada entre companeros.Por ejemplo, para extremos emparejados si ejecutamos confragmentos de 300 pares de bases, en los que cada final tiene50 pares de bases, entonces deberemos establecer -r a 200.No existe valor por defecto, y es necesario para ejecucionescon extremos emparejados.

--mate-std-dev <int> La desviacion estandar para la distribucion de las distan-cias internas entre pares companeros. El valor por defectoes 20 pares de bases.

-a/--min-anchor-length <int> La “longitud del ancla”. TopHat informara de uniones ge-neradas por lecturas con al menos <int> bases en cadalado de la union. Como mınimo debe ser 3 y por defectoesta establecido a 8.

39

Page 40: Alejandro tfm

-m/--splice-mismatches <int> El numero maximo de desajustes que pueden aparecer enla region “ancla” de una alineacion emparejada. El valorpor defecto es 0.

-i/--min-intron-length <int> La longitud mınima del intron. Tophat ignorara pares do-nante/receptor que esten mas cerca de la distancia mınimaestablecida. El valor por defecto son 70 pares de bases.

-I/--max-intron-length <int> La longitud maxima del intron.

--allow-indels Establece el motor de busqueda “indel”3. La busqueda “in-del” esta deshabilitada por defecto.

--max-insertion-length <int> Podemos cambiar la longitud maxima de insercion, que pordefecto esta establecida a 3.

--max-deletion-length <int> Podemos cambiar la longitud maxima de delecion, que pordefecto esta establecida a 3.

--solexa-quals Usa la escala “Solexa” para los valores de calidad en losficheros FASTQ4.

--solexa1.3-quals En la version 1.3 del “pipeline” Illumina GA, las calidadesPhred van codificadas en base 64. Usaremos esta opcionpara los ficheros FASTQ dentro del “pipeline” 1.3 o ante-rior.

-Q/--quals Usaremos esta opcion para indicarle que las calidades vie-nen en ficheros separados. Los ficheros con lecturas en es-pacio de colores (CSFASTA) vienen con las calidades enficheros separados.

--integer-quals Los valores de las calidades vienen delimitados por valoresenteros, esto viene por defecto cuando usamos la opcion-C/--color.

-C/--color Lecturas en espacio de colores. Hay que tener en cuen-ta que debemos usar un indexado por espacio de coloresen Bowtie 0.12.6 o superior. El uso tıpico es el siguientetophat --color --quals

[otras opciones]*

<indice_espacio_de_colores> <lecturas>

<calidades>

-F/--min-isoform-fraction < 0, 0− 1,0 > TopHat ignora uniones que estan basadas en pocos alinea-mientos. Supongamos que tenemos una union que abarca 2exones, formada por S lecturas. Definamos la profundidadpromedio de cobertura del exon A como D, y asumimosque es mayor que B. Si S/D es menor que “min-isoform-fraction”, la union no sera reportada. El valor 0 deshabilitael filtro. Por defecto es 0,15.

-p/--num-threads <int> Podemos especificar cuantos threads se van a usar paraalinear las lecturas. Por defecto unicamente usamos un th-read.

-g/--max-multihits <int> Permite a TopHat que muestre un numero maximo de ali-neamientos para una lectura dada, el resto de alineamientoslos descarta. El valor por defecto es 20.

3indel es una contraccion de “insert-delete”, insercion y borrado4Vease la seccion A.5 en la pagina 117 para mas informacion del formato FASTQ

40

Page 41: Alejandro tfm

--no-closure-search Desactiva la busqueda de companeros basada en cierrespara uniones. Esta desactivado por defecto.

--closure-search Activa la busqueda de companeros basada en cierres paralos cruces. Hay que tener en cuenta que se debe habilitarcuando la distancia entre companeros es pequena (≤ 50pb)

--no-coverage-search Desactiva la busqueda de cobertura para cruces.

--coverage-search Activa la busqueda de cobertura para cruces.

--microexon-search Con esta opcion, tophat intentara buscar alineamientosincidentes en microexones. Solo funciona para lecturas de50 pb o mayores.

--butterfly-search TopHat utilizara un algoritmo mas lento, pero potencial-mente mas sensible para encontrar uniones, ademas dela busqueda estandar. Considere el uso de esta opcion sipreve que su experimento va a producir muchas lecturascortas a partir del pre-mRNA, que caeran dentro de losintrones de sus transcritos.

--library-type TopHat tratara las lecturas de una hebra especıfica. Cadaalineamiento de una lectura tendra una etiqueta de atribu-to XS. Se considera la posibilidad de aportar una librerıade tipos para seleccionar el correcto protocolo de secuen-ciacion de RNA.

Tipo de la Librerıa Ejemplo Descripcion

fr-unstranded StandardIllumina

Las lecturas del principio (parte mas a la izquierda)del fragmento se alinean en el normal de la hebra, ylas lecturas del final (parte mas a la derecha) en lahebra opuesta.

fr-firststrand dUTP, NSR,NNSR

Igual que en el caso anterior, pero se debe cumplirla regla de que el extremo mas a la derecha del frag-mento es lo primero en ser secuenciado. .

fr-secondstrand Ligation,StandardSOLiD

Igual que en el caso anterior, pero se debe cumplirla regla de que el extremo mas a la izquierda delfragmento es lo primero en ser secuenciado.

2.6.3. Opciones Avanzadas

--initial-read-mismatches Las lecturas estan inicialmente mapeadas, permitiendo mas des-ajustes en cada alineamiento. El valor por defecto es 2.

--bowtie-n Tophat usa el modo -v para mapear (el modo por defecto). Conla opcion --bowtie-n usamos el modo -n.

--segment-mismatches Los segmentos de lecturas son mapeados independientemente,permitiendo mas desajustes en cada alineamiento. El valor pordefecto es 2.

--segment-length Cada lectura se corta en segmentos, y cada uno de ellos tiene eltamano que se le defina en --segment-length. Estos segmentos seasignan de forma independiente. El valor por defecto es 25.

--min-closure-exon Longitud maxima entre exones al hacer uso de la busqueda decierre.

41

Page 42: Alejandro tfm

--min-closure-intron Longitud mınima del intron que se puede encontrar durante labusqueda de cierre. El valor por defecto es 50.

--max-closure-intron Longitud maxima del intron que se puede encontrar durante labusqueda de cierre. El valor por defecto es 5000.

--min-coverage-intron Longitud mınima del intron que se puede encontrar durante labusqueda por cobertura. El valor por defecto es 50.

--max-coverage-intron Longitud maxima del intron que se puede encontrar durante labusqueda por cobertura. El valor por defecto es 20000.

--min-segment-intron Longitud mınima del intron que se puede encontrar durante labusqueda por division de segmentos. El valor por defecto es 50.

--max-segment-intron Longitud maxima del intron que se puede encontrar durante labusqueda por division de segmentos. El valor por defecto es 500000.

--keep-tmp Hace que TopHat mantenga los ficheros temporales producidosdurante la ejecucion. Por defecto, TopHat los elimina despues dela ejecucion.

--no-sort-bam El fichero de salida BAM no es ordenado segun coordenadas.

--no-convert-bam No se convierte al formato BAM. El fichero de salida es un ficheroSAM de la siguiente forma:<dir_salida>/accepted_hit.sam. Esta opcion implica --no-sort-bam.

-z/--zpacker Especificaremos de forma manual el programa que se usara paracomprimir los ficheros temporales; por defecto se usa gzip. Nose tiene porque usar gzip unicamente, se pueden usar programascompatibles como por ejemplo: bzip2, pigz, pbzip2.

2.6.4. Suministrando nuestras propias uniones

Las opciones siguientes nos permiten validar nuestras propias uniones con los datos de nuestro RNAsecuenciado.

-G/--GTF <GTF 2.2 file> Suministramos a TopHat una lista de modelos de anota-ciones de genes. TopHat utilizara los registros de exonesen este archivo para crear un conjunto de uniones de em-palme para cada gen, y tratara de alinear lecturas a estasuniones incluso si no estuvieran inicialmente cubiertas porla asignacion inicial.

-j/--raw-juncs <.juncs file> Suministramos a TopHat una lista de uniones en bruto.Las uniones se especifican una por lınea, y se hace uso detabuladores para separar la informacion. Los registros sonde la forma:

<cromosoma> <izq> <der> <+/->

izq y der son coordenadas de bases, y especifican el primery el ultimo caracter de la secuencia.

--no-novel-juncs Busca unicamente lecturas a traves de las uniones indica-das en el archivo GFF5 o el fichero de uniones.

5Vease el apendice A.6 en la pagina 118 para mas informacion acerca del formato GFF

42

Page 43: Alejandro tfm

2.6.5. Suministrando nuestas propias inserciones y deleciones

--insertions/--deletions <.juncs file> Suministramos a TopHat una lista de inserciones y delecio-nes con respecto a una referencia. Los indels se especificanuna por lınea, y se hace uso de tabuladores para separar lainformacion. Los registros son de la forma:

<cromosoma> <izq> <der> <+/->

izq y der son coordenadas de bases, y especifican el primery el ultimo caracter de la secuencia.

--no-novel-indels Busca unicamente lecturas a traves de los indels del ficherosuministrado, o deshabilita la deteccion de indels cuandono se adjunta ningun fichero.

2.6.6. Proporcionando a TopHat un fichero de anotaciones

Si opta por suministrar a TopHat un archivo GTF6 con anotaciones de genes, el programa buscara lasuniones entre exones en los transcritos anotados. Hay que tener en cuenta que los valores de la primeracolumna, que indica donde se encuentra localizado el cromosoma o contig, debe coincidir con una se-cuencia de referencia del ındice de Bowtie que este utilizando TopHat. Para ver la lista de secuencias deun ındice de Bowtie deberemos usar el comando siguiente:

bowtie-inspect --names tu_indice

2.7. Salida de TopHat

El comando tophat produce una serie de ficheros en el directorio en el cual se invoca. La mayorıa deestos archivos son archivos internos, archivos temporales que se generan para el uso dentro del “pipeline”.Los archivos de salida mas importantes son los siguientes:

1. accepted this.bam. Una lista de lecturas alineadas en formato SAM7.

2. junctions.bed Conjunto de uniones UCSC BED8 reportadas por TopHat. Cada union constade dos bloques BED conectados, donde cada bloque es tan largo como la proyeccon maxima queabarca cualquier lectura de la union. La puntuacion es el numero de alineaciones que abarca launion.

3. insertions.bed y deletions.bed Conjunto de inserciones y deleciones UCSC BED reportadaspor TopHat.

6Vease el apendice A.7 en la pagina 118 para mas informacion acerca del formato GTF7Vease el apendice A.1 en la pagina 107 para mas informacion sobre el formato SAM8Vease el apendice A.3 en la pagina 114 para mas informacion del formato BED

43

Page 44: Alejandro tfm

44

Page 45: Alejandro tfm

Capıtulo 3

Cufflinks

3.1. ¿Que es Cufflinks?

Cufflinks[21][18] ensambla alineamientos de lecturas de RNA en transcritos, calcula estimaciones desu abundancia y prueba la expresion diferencial y la regulacion del transcriptoma. Cufflinks se ejecutatanto en maquinas con Sistema Operativo Linux como Mac OS X.

3.1.1. ¿Como ensambla los transcritos Cufflinks?

Cufflinks construye un pequeno conjunto de transcritos que “explican” las lecturas observadas en unexperimento de secuencias de RNA. Esto lo realiza reduciendo el problema de ensamblaje a un problemade emparejamiento maximo en grafos bipartitos. En esencia, Cufflinks implementa una demostracionconstructiva del Teorema de Dilworth [5] mediante la construccion de una relacion de cobertura en laslecturas a alinear, y encontrando un camino de cobertura mınimo en el grafo acıclico dirigido de larelacion.

Aunque Cufflinks trabaja muy bien con lecturas de RNA desemparejadas, esta disenado para trabajarcon lecturas emparejadas. El algoritmo de ensamblaje se encarga explıcitamente de manejar lecturas deextremos emparejados mediante el tratamiento de un par determinado como un objeto unico en la relacionde cobertura. La demostracion del Teorema de Dilworth nos dice que se encuentra una cardinalidadmaxima en el grafo bipartito del cierre transitivo del DAG (Grafo Dirigido Acıclico). Sin embargo, nonecesariamente es unica la maxima cardinalidad encontrada, lo que refleja el hecho de que debido altamano limitado de los fragmentos de cDNA, no podemos saber con certeza que los resultados de loseventos de “splicing” alternativo van de la mano de los mismos transcritos. Cufflinks trata de encontrar elconjunto correcto de transcritos mediante la realizacion de un emparejamiento de coste mınimo. El costode asociar los eventos de splicing esta basado en la puntuacion de “porcentaje de uniones” introducidoen [23].

Este emparejamiento es ampliado a un camino mınimo de cobertura del DAG, cada camino representaun transcrito diferente.

El algoritmo se basa en las ideas que hay detras del algoritmo ShoRAH para la estimacion de laabundancia de halotipos en las poblaciones virales, que se describe en [6].

El ensamblador tambien toma prestadas algunas ideas introducidas en el algoritmo PASA para anotargenomas de EST y plena evidencia de la longitud del mRNA, descrito en [8].

Cufflinks esta implementado en C++ y hace un uso substancial de las librerıas Boost, ası comode la librerıa de Graficos LEMON, que fue lanzada por Egervary Research Group on CombinationalOptimization (EGRES)

45

Page 46: Alejandro tfm

3.1.2. ¿Como calcula Cufflinks la abundancia de transcritos?

En los experimentos de secuenciacion de RNA, los fragmentos de cDNA se ordenan y se asignana genes e idealmente a transcritos individuales. Segun una normalizacion adecuada, cada fragmentode RNA puede ser utilizado como una medida de la abundancia de los transcritos, y Cufflinks midela abundancia de transcritos en fragmentos por kilobase de exon por millon de fragmentos asignados(FPKM), que es una analogıa a una sola lectura “RPKM”, que fue originalmente propuesto en [17].

En los experimentos de RNA con extremos emparejados, los fragmentos se ordenan a partir de ambosextremos, siempre que tengan dos lecturas por cada fragmento. Para calcular los niveles de abundanciade isomorfos, se deben asignar fragmentos a transcritos individuales, lo cual puede ser complejo ya queuna lectura puede alinear multiples isomorfos en el mismo gen. Cufflinks usa un modelo estadıstico desecuenciacion de extremos emparejados para obtener una probabilidad de la abundancia de un conjuntode transcritos de un conjunto de fragmentos. Esta funcion de verosimilitud (probabilidad) se puededemostrar que tiene un maximo unico, el cual Cufflinks encuentra mediante un algoritmo de optimizacionnumerica. El programa multiplica estas probabilidades para calcular la probabilidad general que se podrıaobservar en los fragmentos del experimento. Debido a que el modelo estadıstico de Cufflinks es lineal, lafuncion de verosimilitud tiene un valor maximo y unico, y Cufflinks lo encuentra mediante un algoritmode optimizacion numerica.

Cuando algunos isomorfos tienen una abundancia mayor que otros del mismo gen, o cuando el numerode lecturas para esa localizacion es menor, este procedimiento numerico es menos preciso. Para generarconfianza en la abundancia reportada, se ha adaptado el procedimiento de inferencia Bayesiana propuestopor Jiang Hui y Wing para lecturas simples de RNA en [10].

Usando estos metodos estadısticos, Cufflinks puede estimar la abundancia de los isomorfos presentesen una muestra, ya sea con una anotacion “de referencia” conocida, o despues de un ensamblaje ab-initiode los transcritos utilizando solo el genoma de referencia.

3.1.3. ¿Como calcula Cufflinks la distribucion de la longitud de los fragmen-tos?

La distribucion de probabilidad de la longitud de los fragmentos juega un papel importante en elensamblaje, la estimacion de la abundancia y la correccion del sesgo. La precision de esta distribuciontendra un gran impacto en la exactitud de nuestros resultados.

◦ Si solo se proporcionan lecturas con extremos simples, no hay manera de estimar la distribucionempıricamente, por lo que Cufflinks debe usar una distribucion aproximada de Gauss, ya sea convalores por defecto o proporcionados por el usuario1.

◦ Si el archivo con los alineamientos contiene lecturas con extremos emparejados y se proporcionaun ensamblaje, Cufflinks es capaz de generar la distribucion a partir de las lecturas que se mapeanen isomorfismos simples en los genes. Debido a que el ensamblaje proporciona una estructura deuniones, los intrones pueden ser eliminados de las lecturas emparejadas, proporcionando de estaforma una estimacion mas precisa.

◦ Si se proporciona lecturas con extremos emparejados y ningun ensamblaje, Cufflinks buscara gran-des “zonas abiertas” donde los alineamientos no contengan uniones de lecturas. Dentro de esas“zonas” (o rangos), Cufflinks usara la longitud de la lectura para estimar la distribucion. Si nose encuentran suficientes lecturas dentro de estas zonas, Cufflinks calculara la distribucion aproxi-mada de Gauss como en el caso de lecturas simples (primer caso). Para asegurar una distribucionempırica primero se ensamblara con la Gaussiana y luego la salida GTF2 se ensamblara en unasegunda ejecucion de Cufflinks.

1Vease la seccion 3.4 en la pagina 51 para mas informacion acerca de las opciones disponibles2Vease el apendice A.7 en la pagina 118 para mas informacion

46

Page 47: Alejandro tfm

3.1.4. ¿Como Cufflinks identifica y corrige el sesgo de las secuencias?

A menudo, en los experimentos de secuenciacion de RNA, se presenta una secuencia especıfica a modode sesgo en la preparacion de la biblioteca que desafıa el supuesto de la cobertura uniforme. Por ejemplo,una secuencia especıfica de sesgo fue causada por el uso de hexameros aleatorios fue identificada en [9].

Debido a que este sesgo es causado generalmente por los cebadores usados, ya sea en la PCR o en latranscripcion inversa, este aparece cerca de los finales de los fragmentos. Se ha desarrollado un metodopara corregir este sesgo mediante “aprendizaje” de las secuencias que estan siendo seleccionadas (oignoradas) para un experimento concreto, e incluyendo estas medidas para la estimacion de la abundancia.

El primer paso en el proceso es generar una estimacion de la abundancia inicial sin utilizar la co-rreccion del sesgo. Debido a que diferentes transcritos nos pueden proporcionar diferentes secuencias enellos, usamos esta abundancia aproximada para “valorar” las lecturas mediante el nivel de expresion deltranscrito en el que se presentan. Esto nos ayuda a evitar que las secuencias que mas aparecen interfierandemasiado en el calculo del sesgo.

A continuacion, volvemos a cada fragmento en el fichero de alineamientos y aplicamos la ponderacionde la abundancia que hemos “aprendido”. Seguimos un modelo diferente para cada extremo de la lecturaya que el sesgo en la sıntesis de la primera y la segunda hebra no es siempre el mismo.

Finalmente, se vuelve a estimar la abundancia con una funcion de verosimilitud que ha sido adaptadapara tener en cuenta el sesgo de la secuencia, en base a los parametros del modelo calculado en el pasoanterior. El resultado es un nuevo conjunto de FPKMs que se ven menos afectados por el sesgo especıficode la secuencia.

Mas detalles acerca de este metodo pueden encontrarse en [18].

3.1.5. ¿Como gestiona Cufflinks las lecturas con multiples alineaciones?

Las lecturas individuales a veces son mapeadas en multiples posiciones en el genoma debido a que lasecuencia se repite y a la homologıa. Por defecto, Cufflinks dividira uniformemente cada lectura mapeadamuchas veces en todas las posiciones en las que ha sido asignada. En otras palabras, una lectura asignadaen 10 posiciones contara como un 10 % de una lectura en cada posicion.

Si usamos la correccion de lecturas “multi-mapeadas” (-u/--multi-read-correct), Cufflinks mejorara suestimacion de inspirandose (pero con mas informacion) en el metodo “rescate” descrito en [17].

Cufflinks primero calculara las estimaciones iniciales de la abundancia para todos los transcritosusando el esquema de division uniforme. Luego Cufflinks re-estimara la abundancia dividiendo cadalectura “multi-mapeada” probabilisticamente basandose en la estimacion de la abundancia inicial de losgenes en los que ha sido asignada, la longitud inferida del fragmento y el sesgo del fragmento (si seesta usando correccion de sesgo).

3.1.6. ¿Como funciona la anotacion de referencia basada en transcritos (RABT)?

El ensamblaje basado en anotacion de referencia pretende aprovechar la informacion disponible sobreel transcriptoma de un organismo para encontrar nuevos genes e isomorfismos. Cuando proporcionamosuna referencia GTF3 (con la opcion -g/--GTF-guide), los transcritos de referencia son “revestidos” conlecturas falsas que ayudan en el ensamblaje de los nuevos isomorfos. Estas lecturas falsas se combinan conlas lecturas de la secuencia y se introducen en el ensamblador de Cufflinks. Los “transfrags” ensambladosson comparados con los transcritos de referencia para determinar si son lo suficientemente diferentes paraser considerados nuevos. Los que son “marcados” como nuevos segun nuestro criterio (vease las opcionesde Cufflinks en la seccion 3.4 en la pagina 51 para ajustar los parametros) se muestran junto con lostranscritos de la anotacion.

EL uso de las lecturas falsas se inspiro en los metodos descritos en [22].

3Vease mas informacion en el apendice A.7 en la pagina 118

47

Page 48: Alejandro tfm

3.2. ¿Que es Cuffdiff?

Cuffdiff es un programa que usa el motor de cuantifiacion de transcritos de Cufflinks para calcular losniveles de expresion de genes y transcritos. Se puede usar para encontrar encontrar genes y transcritosexpresados diferencialmemte, ası como genes que estan siendo regulados diferencialmente en el niveltranscripcional y post-transcripcional.

3.2.1. ¿Como prueba Cuffdiff la expresion diferencial y la regulacion?

Cuffdiff toma un fichero GTF de transcritos como entrada, junto con dos o mas ficheros SAM quecontienen los fragmentos alineados para dos o mas muestras. Esto produce una serie de ficheros de salidaque contienen los resultados de los cambios de los niveles de expresion de los transcritos, los transcritosprimarios y los genes. Tambien registra los cambios en la abundancia relativa de los transcritos quecomparten una localizacion de transcripcion inicial y en los cambios de la abundancia relativa de lostranscritos primarios de cada gen. Cuffdiff requiere que los transcritos en el fichero de entrada GTFesten anotados con ciertos atributos con el fin de buscar cambios en la expresion de los transcritos pri-marios, las uniones, la codificacion de salida y el uso del promotor. Estos atributos son los siguientes:

Atributo Descripciontss id El ID de la posicion de comienzo del transcrito. Determina cual es el

transcrito primario del que se cree que este transcrito proviene.p id El ID de la secuencia que contiene este transcrito. Este atributo se adjun-

ta a la salida de Cuffcompare4 solo cuando se ejecuta con una anotacionde referencia que incluye registros CDS. Ademas, el analisis diferencialde CDS solo se realiza cuando todos los isomorfos del gen tienen el atri-buto p id , ya que ni Cufflinks ni Cuffcompare asignan un marco abiertode lecturas a transcritos.

Los atributos anteriores, junto con el gene id requerido por la especificacion GTF, hace que cadatranscrito pertenezca a un “grupo de genes”, “grupo de transcritos primarios” o “grupo CDS”. Lostranscritos con el mismo gene id se integran en el mismo grupo de gen, y similarmente, los que tienen elmismo tss id y p id son parte del mismo grupo de transcritos primarios y grupo CDS. Cuffdiff realizaun seguimiento de los cambios no solo en el transcrito absoluto, transcrito primario, CDS y los FPKMsdel gen, si no que tambien en los cambios relativos dentro de esos grupos.

Para comprobar si una diferencia observada en la expresion genica es significante, Cuffdiff comparala relacion logarıtmica de expresion genica con dos condiciones contra el de una condicion. Supongamosque escribimos la relacion de la expresion de un transcrito “t” con la condicion a versus la condicion bde la siguiente forma

Y =FPKMa

FPKMb

El logaritmo de la relacion T puede ser usado como una prueba estadıstica debido a la cantidad:

T =E[log(Y )]

V ar[log(Y )]

que es aproximadamente una distribucion normal y puede ser calculada como

T =E[log(Y )]

V ar[log(Y )]≈

log(FPKMa

FPKMb)√

V ar[FPKMa]FPKM2

a+ FPKMb

FPKM2b

Hay que tener en cuenta que para calcular T , es necesario conocer la variacion del nivel de expresionen cada condicion. La varianza tiene que incluir la variabilidad del numero de fragmentos generados porel transcrito a traves de las replicas, y tambien debe incorporar cualquier incertidumbre en la estimacionde la expresion en si misma. Si el transcrito es el unico isomorfo en el gen al que pertenece (y todas sus

48

Page 49: Alejandro tfm

lecturas se mapean de forma unica), no hay incertidumbre en la estimacion de la expresion. Sin embargo,si el transcrito es uno de multiples isomorfos, habra cierta incertidumbre sobre el nivel de expresion decada isomorfo. Cuffdiff calcula la variacion en el nivel de expresion del transcrito como

V ar[FPKMt] =

(109

l(t)M

)2

(V ar[Xt])

DondeV ar[Xt]

es la variacion en el numero de fragmentos que provienen de los transcritos a traves de las replicasdel experimento. Si no hay repeticiones, este numero se supone que es una distribucion de Poisson, esdecir, la variacion es igual a la media de la cuenta. En general, esto no es un gran modelo, porque lavariacion entre repeticiones biologicas tiende a ser mayor que la media. Sin embargo, si el experimentose repite para cada condicion, Cuffdiff puede estimar mejor la varianza del numero de fragmentos y porlo tanto ofrecer una expresion diferencial mas exacta. Para genes con isomorfos unicos, Cuffdiff modelala varianza del numero de fragmentos usando una distribucion binomial negativa, al igual que el metododescrito por Anders y Huber [1]. Cuando un gen tiene multiples isomorfismos, Cuffdiff incorpora su propiaincertidumbre en la forma en la que asigna fragmento a transcritos en el calculo de la varianza del numerode fragmentos. Cuffdiff usa la beta-binomial negativa para modelar la sobredispersion y la incertidumbrede la asignacion de fragmentos de forma simultanea. La beta-binomial negativa es una distribucion quesurge cuando se mezclan varias binomiales negativas. Para cada gen, Cuffdiff ajusta los parametros dela beta-binomial negativa (llamados α, β y r) resolviendo el siguiente sistema de ecuaciones:

r(1− p)p

= A

r(1− p)p2

= B

αβ

(α+ β)2(α+ β + 1)=A4

B4· Cr2

Donde A, B y C se definen como:

A = Xgγt

B = VXg γt

C = X2gψ

gt,t

Y p es:

p =α− 1

α+ β − 1

En las ecuaciones anteriores, Xg es el numero de fragmentos que caen sobre cualquier isomorfo del geng al que pertenece el transcrito. El valor γt es la proporcion estimada de fragmentos de la secuenciaciondel gen que vienen del transcrito t. El valor ψt,t es la incertidumbre del algoritmo en la propia estimacionde γt. B es la variacion de cantidad de transcritos que tienen un recuento medio similar a t. Cuandose proporcionan replicas a Cuffdiff, los computos de fragmentos se modelan mediante una regresion nolineal, como se describe en el punto 3.2.3 en la pagina siguiente.

Una vez que tenemos una estimacion de la varianza de la abundancia de transcritos en cada condicion,se puede calcular el estadıstico de prueba. Ademas, dada la variacion de la abundancia para cada isomorfode un gen, podemos calcular la varianza de la abundancia de los genes. Cuando buscamos genes concambios estadısticamente significativos en la expresion absoluta, Cufflinks utilizar un t-test para calcularlos valores p de los cambios observados.

49

Page 50: Alejandro tfm

Como se menciono anteriormente, Cufflinks tambien busca cambios en la abundancia relativa den-tro de los grupos biologicamente interesantes de transcritos. Un tipo simple de cambio relativo en laabundancia de isomorfos es cuando un gen con varios promotores cambia entre ellos dependiendo de lascondiciones. Otro tipo es la inclusion o exclusion de los exones alternativos. Al agrupar los transcritosjuntos por sus promotores y buscar cambios en ellos y entre los grupos, podemos hacer una hipotesis sobrecual es el mecanismo regulador (por uniones, transcripcional, etc.) que esta produciendo esos cambios.

Los cambios en la abundancia relativa son cuantificados mediante la raız cuadrada de la divergenciade Jensen-Shannon, que tienen algunas caracterısticas clave que se necesitan aquı. Para un grupo detranscritos, podemos escribir sus abundancias relativas p1, p2, . . . , pn de tal manera que sumen 1. Laentropıa de esta distribucion discreta p se describe como:

H(p) = −n∑i=1

pi log pi

La divergencia de Jensen-Shannon entre un conjunto de distribuciones p1, p2, . . . , pm se define como

JS(p1, . . . , pm) = H

(p1 + . . .+ pm

m

)−

m∑j=1

H(pj)

m

Es decir, la divergencia JS es la entropıa de la distribucion promedio menos el promedio de lasentropıas individuales. Cuffdiff utiliza la raız cuadrada de esta divergencia para medir la “distancia”entre la abundancia relativa de un grupo de transcritos en dos condiciones de diferencia. Cuffdiff asignalos valores de p basandose en los cambios observados sobre la base de la divergencia JS.

3.2.2. ¿Como funciona la normalizacion del cuartil superior?

Como se menciona en [2], un pequeno numero de genes abundantes diferencialmente expresadospueden crear la (incorrecta) impresion de que genes menos abundantes tambien esten diferencialmenteexpresados. Este problema puede ser mitigado mediante la exclusion de estos genes en la normalizacionde los valores de expresion del numero de lecturas asignadas en cada muestra. Un metodo para haceresto es el metodo llamado “normalizacion del cuartil superior”, que ha demostrado ser un buen metodopara aumentar la exactitud diferencial en [2].

Esta correccion se lleva a cabo en Cufflinks y Cuffdiff como una opcion dentro de la lınea de comandos.Si se solicita, Cufflinks/Cuffdiff usara el numero de lecturas asignadas al cuartil superior en vez de usartodo el mapa (M) cuando se calcula FPKM.

3.2.3. ¿Como trata Cuffdiff las replicas biologicas?

La secuenciacion de RNA es un analisis muy sensible para la medicion de la expresion genica, ypuede ser usada para encontrar los genes que son diferencialmente expresados entre diferentes condi-ciones. Varios estudios anteriores analizaron multiples bibliotecas genomicas a partir del mismo RNA yencontraron que el RNA es extremadamente reproducible. Estos estudios concluyeron que las tecnicasde replicacion de muestras no suelen ser necesarias. Numerosos estudios de secuenciacion de RNA hanusado el “modelo de Poisson” para realizar las pruebas de expresion genica diferencial. Este modelo diceque la varianza de las replicas en el numero de fragmentos generados es igual a la media del numero defragmentos de ese gen a traves de las replicas. Tambien nos lleva a algunas metodos sencillos para detec-tar la expresion genica diferencial de una forma estadıstica. Sin embargo, varios estudios recientes hanencontrado que mientas el modelo de Poisson es apropiado para tecnicas de replicacion del mismo RNA,puede ser un pobre ajuste para replicas biologicas. Varios grupos han evaluado los modelos alternativospara la varianza del numero de fragmentos con buenos resultados. Para mas detalles sobre el manejo dereplicas en la secuenciacion de RNA deben buscar informacion en los artıculos [16],[19], [12] y [1].

50

Page 51: Alejandro tfm

Cuffdiff adopta un enfoque de analisis de expresion diferencial que es radicalmente diferente de lamayorıa de los otros paquetes de analisis de secuencias de RNA. Debido a que Cufflinks calcula laabundancia de transcritos individuales, esto hace que sea muy sensible a la hora de buscar la expresiondiferencial en genes, especialmente cuando hay muchos “splice alternativos”. Sin embargo, con el fin dehacer frente a la sobredispersion, que se sabe que existe entre las replicas biologicas, Cuffdiff se ajusta aun modelo de variacion del numero de fragmentos en cada condicion antes de realizar cualquier prueba.Cuffdiff utiliza el paquete de regresion LOCFIT, creado por Catherine Loader y Jiayang Sun, para esteproposito. Cuffdiff modela la sobredispersion del numero de fragmentos del mismo modo en que Andersy Huber lo hacen en su paquete DEseq para obtener un modelo de dispersion para cada condicion expe-rimental. Si solo hay una replica disponible en cada condicion, Cuffdiff agrupa las condiciones para crearun modelo de dispersion. El modelo de dispersion, que describe las varianzas del numero de fragmento atraves de las replicas, se utiliza para calcular las variaciones en los niveles relativos de expresion genicaa traves de las replicas. son estas variaciones del nivel de expresion las que se usan durante las pruebasde las diferencias entre los niveles de genes y transcritos.

Una de las principales ventajas de usar Cuffdiff para el analisis diferencial sobre el resto de he-rramientas es que Cuffdiff nos dice cuales son los genes diferencialmente “emparejados”. Sin embargo,puede haber una cierta cantidad de variacion en la abundancia relativa de los isomorfos alternativosde un gen dependiendo de las replicas. A fin de captar esa diferencia para su uso en las pruebas deexpresion diferencial y regulacion, Cuffdiff agrupa los fragmentos antes de calcular la abundancia de losisomorfos individuales y luego examina la posibilidad de replicar dicho grupo a traves de un muestropor importancia. El modelo de sobredispersion producido por LOCFIT se combina con el la estimacionde la incertidumbre por el procedimiento de muestreo por importancia para establecer los parametrosde una primera version de una distribucion binomial negativa. Esta distribucion proporciona un modelode variacion para el numero de fragmentos que se originan en cada isomorfo de un splice alternativo.Por lo tanto, Cuffdiff no solo aprende los niveles de sobredispersion del numero de fragmentos a travesde las replicas, sino que tambien utiliza las replicas para capturar la incertidumbre entre los isomorfosalternativos de cada gen.

3.3. Prerrequisitos

Para poder ejecutar Cufflinks necesitamos una maquina con arquitectura intel que tenga como sistemaoperativo Linux o Mac OS X, ademas de tener instalado GCC 4.0 o superior. Para usar Cufflinks puedehacer uso de los binarios pre-compilados o compilar los fuentes usted mismo. Si prefiere la opcion decompilar los fuentes, necesita instalar previamente en el sistema la librerıa Boost de C++. Ademas, ne-cesita tener instalado tambien SAM tools5, debido a que las cabeceras y la librerıa libbam son necesariaspara construir Cufflinks.

3.4. Ejecutando Cufflinks

Uso de cufflinks en la lınea de comandos:

Uso: cufflinks [opciones]* <lecturas_alineadas.(sam/bam)>

A continuacion veremos una descripcion detallada de las opciones usadas para controlar cufflinks.

3.4.1. Argumentos

<lecturas alineadas.(sam/bam)> Un fichero de lecturas alineadas de secuencias de RNA en forma-to SAM6. SAM es un estandar sobre alineamientos de lecturascortas, permite a los alineadores fijar etiquetas personalizadas a

5Vease la seccion 4 en la pagina 69 para mas informacion acerca de SAM tools6Vease el apendice A.1 en la pagina 107 para mas informacion sobre el formato SAM

51

Page 52: Alejandro tfm

alineamientos individuales, y Cufflinks que las alineaciones quele pasamos tengan ciertas etiquetas. Vease la seccion 3.4.7 en lapagina 55 para mas detalles.

3.4.2. Opciones generales

-h/--help Muestra la ayuda de Cufflinks.

-o/--output-dir <dir> Indicamos el nombre del directorio en el cual Cuf-flinks creara los ficheros de salida. El directorio pordefecto es ./.

-p/--num-threads <int> Podemos especificar cuantos threads se van a usar.Por defecto unicamente usamos un thread.

-G/--GTF <anotacion de ref.(gtf/gff)> Con esta opcion le indicamos a cufflinks que usela anotacion de referencia suministrada (en un fi-chero GFF7) para estimar la expresion isomorfa.No va a ensamblar nuevos transcritos, y el pro-grama va a ignorar las alineaciones que no seanestructuralmente compatibles con algun transcritode referencia.

-g/--GTF-guide <anotacion de ref.(gtf/gff)> Con esta opcion le indicamos a cufflinks queuse la anotacion de referencia suministrada (en unfichero GFF) para guiar el ensamblaje RABT 8.Los transcritos de referencia seran unidos a lectu-ras “falsas” para proveer informacion adicional enel ensamblaje. En la salida se incluyen todos lostranscritos de referencia, ası como cualquier nuevogen e isomorfo que se haya ensamblado.

-M/--mask-file <mascara.(gtf/gff)> Indicamos a Cufflinks que omita todas las lecturasque pudieran haber venido de transcritos del fiche-ro GFF. Se recomienda incluir en el fichero rRNAanotado, transcritos mitocondriales y otros trans-critos que se deseen ignorar del analisis

-b/--frag-bias-correct <genoma> Proveemos a Cufflinks un fichero multifasta paraque ejecute la deteccion de sesgo y el algoritmo decorreccion para mejorar la precision de las estima-ciones de la abundancia de transcritos. Acceda a laseccion 3.1.4 en la pagina 47 para mas informacion.

-u/--multi-read-correct Le indica a Cufflinks que haga una estimacion ini-cial de forma mas precisa para alinear lecturas enmultiples localizaciones a traves del genoma. Veasela seccion 3.1.5 en la pagina 47 para mas detalles.

--library-type Vease Biblioteca de Tipos en la seccion 3.9 en lapagina 67.

7Vease el apendice A.6 en la pagina 118 para mas informacion acerca del formato GFF8Vease la seccion 3.1.6 en la pagina 47 para mas informacion acerca de RABT

52

Page 53: Alejandro tfm

3.4.3. Opciones avanzadas de estimacion de la abundancia

-m/--frag-len-mean <int> Longitud esperada (de media) de los fragmentos. Por defecto200 pb.9

-s/--frag-len-std-dev <int> La desviacion estandar para la distribucion de longitudes de losfragmentos. El valor predeterminado es 80 pb.10

-N/--upper-quartile-norm Con esta opcion, Cufflinks normaliza segun el cuartil superiorde la cantidad de fragmentos alineados individualmente en lugarde hacerlo segun el numero total de fragmentos secuenciados.

--total-hits-norm Con esta opcion, Cufflinks cuenta todos los fragmentos, inclu-yendo todos aquellos que no son compatibles con alguno de lostranscritos de referencia, para calcular el numero de aciertos ma-peados usados en el denominador FPKM. Esta opcion puede sercombinada con -N/--upper-quartile-norm. Por defecto esta acti-vada.

--compatible-hits-norm Con esta opcion, Cufflinks cuenta unicamente los fragmentosque son compatibles con algun transcrito de referencia, paracalcular el numero de aciertos mapeados usados en el denomina-dor FPKM. Esta opcion puede ser combinada con -N/--upper-quartile-norm. Por defecto esta desactivada, y puede ser solousada en combinacion con --GTF.

--num-importance-samples <int> Establece el numero de muestras relevantes generadas para cadalugar durante la estimacion de la abundancia. Por defecto son1000.

--max-mle-iterations <int> Establece el numero de iteraciones permitidas durante la estima-cion de la maxima verosimilitud de la abundancia. Por defectoson 5000.

3.4.4. Opciones avanzadas de ensamblaje

-L/--label Cufflinks informara de los “transfrags”11 en formato GTF12,con un prefijo tomado mediante esta opcion. El prefijo pordefecto es “CUFF”.

-F/--min-isoform-fraction < 0,0 − 1,0 > Despues de calcular la abundancia de isomorfos para ungen, Cufflinks ignora los transcritos que “el cree” que tienenuna baja abundancia, debido a que los isomorfos expresa-dos con unos niveles extremadamente pequenos a menudono son capaces de ensamblarse, ademas pueden ser precur-sores de empalmes incompletos de transcritos procesados.Este parametro tambien puede ser usado para ignorar losintrones que forman parte de pocos alineamientos empal-mados. El valor por defecto es 0,1, o el 10 % del isomorfomas abundante (el isomorfo mas importante) del gen.

-j/--pre-mrna-fraction < 0,0− 1,0 > Algunos protocolos de RNA-seq producen una gran canti-dad de lecturas que se originan a partir de transcritos em-palmados incompletos, y estas lecturas pueden confundir

9Cufflinks ahora aprende la longitud media de los fragmentos para un fichero SAM, ası que usar esta opcion no serecomienda para lecturas con apareamientos finales

10Cufflinks ahora aprende la longitud media de los fragmentos para un fichero SAM, ası que usar esta opcion no serecomienda para lecturas con apareamientos finales

11Fragmentos de transcritos12Vease el apendice A.7 en la pagina 118 para mas informacion acerca del formato GTF

53

Page 54: Alejandro tfm

el ensamblaje de los mRNA. Cufflinks usa este parametropara filtrar los alineamientos que se encuentran dentro delos intervalos intronicos implicados por los alineamientosempalmados. La profundidad mınima de cobertura en laregion intronica cubierta por la alineacion se divide por elnumero de lecturas empalmadas, si el resultado es menorque el valor del parametro las alineaciones intronicas sonignoradas. El valor por defecto es del 15 %.

-I/--max-intron-length <int> Longitud maxima del intron. Cufflinks no informara de lostranscritos con intrones mas grandes de este tamano e ig-norara los alineamientos SAM con operaciones REF SKIP

CIGAR mas grandes de este tamano. El valor por defecto es300000.

-a/--junc-alpha < 0,0− 1,0 > El valor “alfa” para el test binomial.

-A/--small-anchor-fraction < 0,0−1,0 > Las lecturas emparejadas con menos de este porcentaje enla longitud de cada uno de los lados de la union son consi-deradas “sospechosas” y son candidatas para ser filtradasantes del ensamblaje. El valor por defecto es 0,09.

--min-frags-per-transfrag <int> Numero mınimo de fragmentos de RNA por transfrag paraque sea reportado. El valor por defecto es 10

--overhang-tolerance <int> El numero de pares de bases permitidas para meter elintron de un transcrito para determinar si una lectura uotro transcrito es asignable a/compatible con el.

--max-bundle-length <int> Longitud genomica maxima permitida para un paquete de-terminado. El valor por defecto es 3500000 pares de bases.

--min-intron-length <int> Tamano mınimo permitido del intron en el genoma. El va-lor por defecto es 50 pb.

--trim-3-avgcov-thresh <int> Cobertura promedia mınima requerida para intentar el re-corte 3′. El valor por defeco es 10.

--trim-3-dropoff-frac <int> Fraccion de cobertura media por debajo de la cual se “cor-ta” el extremo 3′ de un transcrito ensamblado. El valor pordefecto es 0,1.

3.4.5. Opciones avanzadas de anotaciones de referencia basada en Transcri-tos (RABT)

--3-overhang-tolerance <int> El numero de pares de bases permitidos en el extremo 3′ deun transcrito de referencia para determinar si un transcritoensamblado debe fusionarse con el. El valor por defecto es600pb.

--intron-overhang-tolerance <int> El numero de pares de bases permitidas en el intron de untranscrito de referencia para determinar si un transcrito deensamblado debe ser fusionado por el. El valor por defecto esde 50pb.

--no-faux-reads Esta opcion desactiva el apilamiento de los transcritos de re-ferencia con lecturas “falsas”.

54

Page 55: Alejandro tfm

3.4.6. Opciones avanzadas del programa de comportamiento

-v/--verbose Imprime la informacion de estado y de diagnostico.

-q/--quiet Omite los mensajes que no sean de advertencias y errores.

--no-update-check Desactiva la comprobacion de actualizaciones de Cufflinks.

3.4.7. Ficheros de entrada

Cufflinks toma como fichero de entrada un fichero de alineamientos en formato SAM13, o un ficheroSAM binario (BAM14). Aunque Cufflinks acepta alineamientos en formato SAM generados por multiplesalineadores, se recomienda usar TopHat15. Veamos un ejemplo de alineamiento aceptado por Cufflinks:

s6.25mer.txt-913508 16 chr1 4482736 255 14M431N11M * 0 0 \

CAAGATGCTAGGCAAGTCTTGGAAG IIIIIIIIIIIIIIIIIIIIIIIII NM:i:0 XS:A:-

Observe el uso de la etiqueta personalizada XS. Este atributo, que debe tener un valor de “+” o “-”, indica el sentido de la cadena de RNA. Mientras que esta etiqueta puede ser aplicada a cualquieralineamiento, incluidos los alineamientos no “empalmados”, debe estar presente para todos alineamientosempalmados (aquellos con una operacion “N” en su cadena CIGAR16).

El fichero SAM que suministramos a Cufflinks debe estar ordenado segun la posicion de referencia. Sise han alineado las lecturas con TopHat, sus alineamientos estaran ordenados de forma automatica. Sise usa otra herramienta, debe de asegurarse de que estan debidamente ordenados de la siguiente forma:

sort -k 3,3 -k 4,4n hits.sam > hits.sam.sorted

3.4.8. Ficheros de salida

Cufflinks produce tres ficheros de salida:

1. transcripts.gtfEste fichero GTF contiene los isomorfos ensamblados de Cufflinks. Las primeras 7 columnas sonlas estandar de GTF, y la ultima columna contiene los atributos, algunos de los cuales tambienestan estandarizados (“gene id” y “transcript id”). Hay un registro por cada fila de GTF, y cadaregistro representa o bien un transcrito o un exon dentro de un transcrito. Las columnas se definencomo sigue:

13Para mas detalles vease el apendice A.1 en la pagina 10714Para mas detalles vease el apendice A.2 en la pagina 11415Vease el capıtulo 2 en la pagina 3716Vease el apendice A.1.3 en la pagina 109 para mas informacion acerca de la cadena CIGAR

55

Page 56: Alejandro tfm

Tabla 3.1: Descripcion del fichero transcripts.gtfNo Nombre Ejemplo Descripcion1 seqname chrX Nombre del cromosoma o contig2 source Cufflinks Nombre del programa que ha generado el fichero3 feature exon Tipo de registro (“transcrito” o “exon”)4 start 77696957 La coordenada mas a la izquierda del registro5 end 77712009 La coordenada mas a la derecha del registro6 score 77712009 El isomormismo mas abundante de cada gen tiene asociado la

puntuacion 1000. El resto se puntuan con la relacion FPKMmenorFPKMmayor

7 strand + Sentido de la hebra. “+” o “-”.7 frame . Este campo no se usa, ya que Cufflinks no predice los codones de

inicio y parada.8 attributes . . . Vea la siguiente tabla.

Cada registro GTF es decorado con los siguientes atributos:

Tabla 3.2: Descripcion de un registro GTFAtributo Ejemplo Descripciongene id CUFF.1 Identificador del gen de Cufflinkstranscript id CUFF.1.1 Identificador del transcrito de CufflinksFPKM 101.267 Nivel de abundancia relativa del isomorfofrac 0.7647 Reservadoconf lo 0.07 Lımite inferior del intervalo de confianza del 95 % de la abundancia

de dicho isomorfoconf hi 0.1102 Lımite superior del intervalo de confianza del 95 % de la abundan-

cia de dicho isomorfocov 100.765 Estimacion de la profundidad absoluta de la cobertura de la lec-

tura a traves del transcrito enterofull read support yes Cuando hacemos uso del ensamblaje RABT, este atributo infor-

ma de todos los intrones y exones internos que fueron cubiertostotalmente por lecturas.

2. isoforms.fpkm trackingEste archivo contiene los valores estimados de los niveles de expresion de los isomorfos en el formatode seguimiento FPKM17. Tenga en cuenta que como solo hay una muestra el formato “q” no seusa.

3. genes.fpkm trackingEste archivo contiene los valores estimados de los niveles de expresion de los genes en el formatode seguimiento FPKM. Tenga en cuenta que como solo hay una muestra el formato “q” no se usa.

3.5. Ejecutando Cuffcompare

Cufflinks incluye un programa que nos ayuda a analizar los transfrags que hemos ensamblado. Elprograma Cuffcompare nos ayuda a :

Comparar los transcritos ensamblados con una anotacion de referencia.

Rastrear los transcritos de Cufflinks a traves de multiples experimentos (por ejemplo, a traves deltiempo).

Desde la lınea de comandos, deberemos usar el siguiente formato:

17Vease la seccion 3.8 en la pagina 66 para mas informacion acerca del formato FPKM

56

Page 57: Alejandro tfm

cuffcompare [opciones]* <cuff1.gtf> [cuff2.gtf] ... [cuffN.gtf]

3.5.1. Argumentos

<cuff*.gtf> Fichero GTF producido por Cufflinks.

3.5.2. Opciones

-h Muestra la ayuda de Cuffcompare.

-o <pref salida> Todos los ficheros generados por Cufflinks tendran este prefijo de salida (porejemplo,<outprefix>.loci, <outprefix>.tracking,. . . ). Si no se hace uso deesta opcion tendran el prefijo de salida por defecto, cuffcmp.

-r Incluımos una anotacion de “referencia” mediante un fichero GTF. Cada muestrase compara con este archivo, y los isomorfos de la muestra son etiquetados comosuperposicion, igualacion o nuevo (segun sea) 18.

-R Si hemos usado la opcion -r, esta opcion hara que cuffcompare ignore los trans-critos de referencia que no solapen a ningun transcrito en ninguno de los ficheroscuff1.gtf,. . . , cuffN.gtf. Util para ignorar transcritos anotados que no estanpresentes en las muestras de RNA.

-s <seq dir> Cufflinks mirara en los archivos FASTA con la secuencia genomica base (un fi-chero por contig) para ver que lecturas fueron alineadas por alguna funcion declasificacion opcional.

-C Permite que los transcritos “contenidos” puedan ser escritos tambien en el<pref salida>.combined.gtffile, con el atributo contained in indicando elprimer transfrag contenedor encontrado.

-V Cuffcompare es un poco mas detallado acerca de lo que esta haciendo. Es decir,muestra mas detalles del proceso en la salida estandar.

3.5.3. Ficheros de entrada

Cuffcompare toma como entrada ficheros GTF provenientes de Cufflinks, y opcionalmente puederecibir una anotacion de referencia.

3.5.4. Ficheros de salida

Cuffcompare produce los siguientes ficheros de salida:

1. <pref salida>.statsCuffcompare reporta varias estadısticas relacionadas con la “exactitud” de los transcritos en cadamuestra cuando son comparados con los datos de la anotacion de referencia. Las medidas tıpicas debusqueda en los genes de “sensibilidad” y “especificidad” (como se define en [4]) son calculadas envarios niveles (nucleotidos, exon, intron, transcrito, gen) para cada archivo de entrada y se reflejanen este archivo. Las columnas Sn y Sp muestran los valores de especificidad y sensibilidad de cadanivel, mientras que las columnas fSn y fSp son variaciones “difusas” de estos mismos calculos,lo que nos permite admitir variaciones muy pequenas en las fronteras del exon para poder seguirconsiderando como coincidencia.

18Vea la definicion de refmap en en la pagina siguiente y de tmap en la pagina 59 para mas informacion

57

Page 58: Alejandro tfm

2. <pref salida>.combined.gtfCuffcompare reporta un fichero GTF que contiene la “union” de todos los transfrags de cadamuestra. Si un transfrag esta presente en ambas muestras, es reportado una vez en el fichero GTFcombinado.

3. <pref salida>.trackingEste fichero coteja los transcritos entre muestras. Cada fila contiene la estructura de un transcritoque esta presente en uno o mas ficheros de entrada GTF. Debido a que los transcritos, generalmente,tienen diferentes ID (a menos que se ensamble las lecturas de RNA a partir de un transcriptomade referencia) cuffcompare examina la estructura de cada uno de los transcritos, emparejandotranscritos que tienen las mismas coordenadas para cada uno de sus intrones (siguiendo la mismadireccion de la hebra). En los transcritos emparejados pueden diferir la longitud del primer y delultimo exon, ya que las longitudes varıan de una muestra a otra, debido al caracter aleatorio de lasecuencia. Veamos un ejemplo de una linea de este fichero:

TCONS_00000045 XLOC_000023 Tcea|uc007afj.1 j \

q1:exp.115|exp.115.0|100|3.061355|0.350242|0.350207 \

q2:60hr.292|60hr.292.0|100|4.094084|0.000000|0.000000

En este ejemplo, tenemos un transcrito presente en dos de los ficheros de entrada, llamadosexp.115.0 y 60hr.292.0, no coincide con ningun transcrito de referencia exactamente, pero com-parte exones con uc007afj.1, un isomorfo del gen Tcea, como indica el codigo de clase j. Veamosuna descripcion de las columnas mas detallada:

Tabla 3.3: Descripcion del fichero .trackingNo Nombre Ejemplo Descripcion1 Transfrag id TCONS 00000045 Identificador unico para el transfrag2 Id del lugar XLOC 000023 Identificador unico para la localizacion3 Id de Ref. del gen Tcea El atributo “gene name” del registro de refe-

rencia GTF para el transcrito, o “-” si no exis-te

4 Id de Ref. del transcrito uc007afj.1 El atributo “transcript id” del registro dereferencia GTF para el transcrito, o “-” si noexiste

5 Codigo de Clase c Vease los codigos de clase en 3.5.4.1 en la pagi-na 60

Cada columna despues del quinto tienen el siguiente formato:

qJ:<gene_id>|<transcript_id>|<FMI>|<FPKM>|<conf_lo>|<conf_hi>|<cov>|<len>

Un transcrito no necesita estar presente en todas las muestras para ser incluido en el fichero deseguimiento. La muestra que no contiene un transcrito tendra un “-” en su entrada en la fila de esetranscrito.

4. <pref salida>.refmapSe crea un fichero de este tipo por cada fichero de de cufflinks de entrada. En cada fichero, hay

una fila por cada transcrito de referencia, y las columnas son como sigue:

58

Page 59: Alejandro tfm

Tabla 3.4: Descripcion del fichero .refmapNo Nombre Ejemplo Descripcion1 Nombre del gen Myog Nombre del gen al que pertenece el transcrito

segun el atributo gene name2 Id del transcrito uc007crl Identificador del transcrito3 Codigo de clase c El tipo de emparejamiento entre el transcrito

de Cufflinks en la columna 4 y el transcrito dereferencia. “c” para emparejamiento parcial y“=” para total

4 Emparejamientos CUFF.23567.0,

CUFF.24689.0

Lista de identificadores de transcritos que em-parejan con el de referencia.

5. <pref salida>.tmapEste fichero delimitado por tabuladores muestra los mejores emparejamientos para cada transcrito

de Cufflinks. Hay uno por cada fila, y las columnas son las siguientes:

Tabla 3.5: Descripcion del fichero .tmapNo Nombre Ejemplo Descripcion1 Nombre del gen Myog Nombre del gen al que pertenece el transcrito

segun el atributo gene name

2 Id del transcrito uc007crl Identificador del transcrito3 Codigo de clase c El tipo de emparejamiento entre el transcrito

de Cufflinks en la columna 4 y el transcrito dereferencia.

4 Id del Gen (Cuff.) CUFF.23567.0 Identificador, interno de Cufflinks, del gen.5 Id del Transcrito

(Cuff.)CUFF.23567.0 Identificador, interno de Cufflinks, del trans-

crito.6 Fraccion del iso-

morfo principal100 La expresion del transcrito como fraccion del

isomorfo principal del gen. (1− 100)7 FPKM 1.4567 Valor de FPKM.8 FPKM conf lo 0.7778 Lımite interior del intervalo de confianza del

95 % del FPKM9 FPKM conf hi 1.9776 Lımite superior del intervalo de confianza del

95 % del FPKM10 Coverage 3.2687 Estimacion de la profundidad absoluta de la

lectura de cobertura a traves del transcrito.11 Length 1426 longitud del transcrito.12 Id del Isomorfo

principalCUFF.23567.0 Identificador el Isomorfo principal.

59

Page 60: Alejandro tfm

3.5.4.1. Codigo de clases

Si usa cuffcompare con la opcion -r, las filas de seguimiento contendran alguno de los siguientesvalores. Si no hacemos uso de la opcion -r, las filas contendran “-” en la columna de codigo de clase.

Tabla 3.6: Codigo de clasesPrioridad Codigo Descripcion1 = Emparejamiento total de la cadena de intrones2 c Contenido3 j Isomorfo potencialmente nuevo (fragmento): al menos una union de em-

palme es compartido con algun transcrito de referencia4 e Un transfrag de exon simple solapa a un exon de referencia en al menos

10pb en un intron de referencia, indica un posible fragmento de pre-mRNA

5 i Un transfrag cae por completo en un intron de referencia6 o Solapamiento general de exones con un transcrito de referencia7 p Posible ejecucion de la polimerasa en el fragmento (en 2kbases de un

transcrito de referencia)8 r Repeticion.9 u Desconocido, transcrito intergenico10 x Solapamiento de exones con referencia en la cadena opuesta11 s Un intron de un transfrag solapa un intron de referencia en la cadena

opuesta (probablemente debido a errores de mapeo de la lectura)12 . Solo en el fichero .tracking, indica multiples clasificaciones

3.6. Uniendo ensamblajes con Cuffmerge

Cufflinks incluye un script llamado cuffmerge que se puede usar para fusionar varios conjuntos deensamblajes de Cufflinks. Si tambien tenemos un fichero de referencia GTF disponible, se puede incluiren cuffmerge para fusionar de una forma mas elegante los nuevos isomorfos y los isomorfos conocidospara maximizar la calidad del ensamblaje en general. El proposito general de este script es hacer masfacil la creacion de un fichero de ensamblaje GTF adecuado para su uso con Cuffdiff19. Desde la lınea decomandos deberemos usar cuffmerge de la siguiente forma:

cuffmerge [opciones]* <lista_ensamblajes.txt>

3.6.1. Argumentos

<lista ensamblajes>.txt Archivo de texto “manifiesto” con una lista de los archivos GTF que sedesea unir en un unico fichero GTF.

3.6.2. Opciones

-h/--help Muestra la ayuda de cuffmerge.

-o <pre salida> Muestra las estadısticas en el fichero indicado.

-g/--ref-gtf Una anotacion de “referencia” GTF opcional. Los ensambladosde entrada se combinan junto con la referencia GTF y se incluyenen el resultado final.

19Vease la seccion 3.2 en la pagina 48 para mas informacion acerca de Cuffdiff

60

Page 61: Alejandro tfm

-p/--num-threads <int> Numero de hilos que se generaran para realizar el proceso. Elvalor por defecto es 1.

-s/--ref-sequence <seq fasta> Este argumento debe apuntar a las secuencias de DNA de re-ferencia. Si es un directorio, debe contener un fichero fasta porcontig. Si es un fichero multifasta, todos los contigs deben estarpresentes.

3.6.3. Ficheros de entrada

Cuffmerge toma una seria de ficheros GTF de ensamblaje provenientes de Cufflinks. Los ficheros deentrada se deben especificar dentro de un fichero “manifiesto” con las rutas de los mismos.

3.6.4. Ficheros de salida

Cuffmerge produce un fichero GTF que contiene un ensamblado que fusiona los ensamblados deentrada.

<outprefix>/merged.gtf

3.7. Ejecutando Cuffdiff

Cufflinks incluye un programa, “Cuffdiff”, que se usa para encontrar cambios significativos en laexpresion de los transcritos, uniones y el uso del promotor. Desde la lınea de comandos podemos ejecutarcuffdiff como sigue:

cuffdiff [options]* <transcripts.gtf>

<sample1_replicate1.sam[,...,sample1_replicateM]>

<sample2_replicate1.sam[,...,sample2_replicateM.sam]>...

[sampleN.sam_replicate1.sam[,...,sample2_replicateM.sam]]

3.7.1. Argumentos

<transcritos.(gtf/gff)> Un fichero de transcritos producido por Cufflinks, Cuffcompare u otrafuente.

<sample1.sam> Un fichero SAM de lecturas alineadas. Si se proporcionan mas de dosficheros, Cuffdiff calculara la expresion diferencial y la regulacion entretodos los pares de muestras.

3.7.2. Opciones

-h/--help Muestra la ayuda de Cuffdiff.

-o/--output-dir <dir> Establece el directorio en el cual Cuffdiff pondra todos losficheros de salida. Por defecto es “./”.

-L/--labels <et1,et2,...,etN> Establece una etiqueta para cada muestra, que seran incluidasen los ficheros de salida de Cuffdiff.

-p/--num-threads <int> No de hilos que se crearan para ejecutar Cuffdiff.

61

Page 62: Alejandro tfm

-T/--time-series Encarga a Cuffdiff analizar las muestras suministradas comouna serie temporal, en lugar de pruebas para las diferenciasentre los pares de muestras. Las muestras deben ser propor-cionadas incrementalmente a lo largo del tiempo a traves dela lınea de comandos (por ejemplo, primera marca de tiempoFICHERO SAM, segunda marca de tiempo FICHERO SAM,. . . ).

-N/--upper-quartile-norm Con esta opcion, Cufflinks normaliza por el cuartil superior dela cantidad de fragmentos mapeados por cada locus en lugardel total de fragmentos secuenciados. Esto puede mejorar larobustez del calculo de la expresion diferencial de genes ytranscritos menos abundantes.

--total-hits-norm Con esta opcion, Cufflinks cuenta todos los fragmentos, in-cluyendo los que no son compatibles con ningun transcrito dereferencia, para calcular el numero de fragmentos mapeadosutilizado en el denominador FPKM. Por defecto esta inactivo.

--compatible-hits-norm Con esta opcion, Cufflinks cuenta solo aquellos fragmentoscompatibles que algun transcrito de referencia para calcularel numero de fragmentos usados en el denominador FPKM.Por defecto esta activado.

-b/--frag-bias-correct <genoma.fa> Proporciona a Cufflinks un fichero multifasta con lecturas ma-peadas para que se ejecute usando nuestro sesgo de detecciony algoritmo de correccion. Vease la seccion 3.1.4 en la pagi-na 47 para mas informacion.

-u/--multi-read-correct Le indicamos a Cufflinks realizar un procedimiento de esti-macion inicial de mayor precision para mapear lecturas enmultiples posiciones en el genoma. Vease la seccion 3.1.5 enla pagina 47 para mas informacion.

-c/--min-alignment-count <int> Numero mınimo de alineaciones en un locus necesarias pararealizar las pruebas de significancia en dicho locus observadasentre muestras. El valor por defecto son 10 alineaciones.

-M/--mask-file <mask.(gtf/gff)> Indica a Cuffdiff ignorar todas las lecturas que pudieran ha-ber salido de los transcritos del fichero GTF que recibe porparametro.

--FDR <float> La tasa de falso “descubrimiento” permitido. El valor pordefecto es 0,05.

3.7.3. Opciones avanzadas

--library-type Vease la seccion 3.9 en la pagina 67 para mas informacion.

-m/--frag-len-mean <int> Longitud (media) esperada del fragmento. El valor por de-fecto es 200pb.

-s/--frag-len-std-dev <int> Desviacion estandar para la distribucion de longitudes delos fragmentos. El valor por defeco es 80pb.

--num-importance-samples <int> Establece el numero de muestras importantes generadaspara cada lugar durante la estimacion de la abundancia.El valor por defecto es 1000.

62

Page 63: Alejandro tfm

--max-mle-iterations <int> Establece el numero de iteraciones permitidas durante laestimacion de la maxima verosimilitud de la abundancia.El valor por defecto es 5000.

-v/--verbose Muestra las actualizaciones de estado y demas informacionde diagnostico.

-q/--quiet Suprime los mensajes que no sean advertencias serias yerrores.

--no-update-check Desactiva la comprobacion automatica de actualizaciones.

--poisson-dispersion Usa el modelo de dispersion basado en Poisson.

--emit-count-tables Cuffdiff generara un fichero para cada condicion (llamado<sample> counts.txt) que contendra el numero de frag-mentos, las varianzas y el modelo de la varianza ajustada.

-F/--min-isoform-fraction <0.0-1.0> Cuffdiff redondeara a cero la abundancia de los isomorfosalternativos cuantificados por debajo de la fraccion espe-cificada de isomorfos principales. El valor por defecto es1 · 10−5, y se recomienda no tocar este parametro

3.7.4. Ficheros de entrada

Cuffdiff toma un archivo GTF2/GTF320 de transcritos como entrada, junto con dos o mas archivosSAM que contienen los fragmentos alineados para dos o mas muestras. Cuffdiff produce una serie deficheros de salida que contienen resultados de las pruebas de los cambios en los niveles de expresion detranscritos, transcritos primarios y genes. Ademas registra los cambios en la abundancia de los transcritosque comparten un mismo sitio de inicio, y en la abundancia relativa de los transcritos primarios de cadagen. El seguimiento de los primeros permite ver los cambios en la union, y los segundos ver los cambiosen el uso del promotor dentro de un gen. Si se tiene mas de una replica de una muestra, se debensuministrar los ficheros SAM para la muestra separados por comas. No es necesario tener el mismonumero de repeticiones para cada muestra.

3.7.5. Ficheros de salida

1. Ficheros FPKMCuffdiff calcula el FPKM de cada transcrito, transcrito primario y genes en cada muestra. El FPKMde los transcritos y genes se calcula sumando el FPKM de los grupos de transcritos primarios ogrupo de genes. Los resultados se emiten en ficheros FPKM de seguimiento en el formato descritomas abajo. Hay cuatro archivos FPKM de seguimiento:

isoforms.fpkm tracking FPKM de los transcritos.

genes.fpkm tracking FPKM de los genes.

cds.fpkm tracking FPKM de la codificacion de la secuencia.

tss groups.fpkm tracking FPKM de los transcritos primarios.

2. Test de expresion diferencialEste fichero delimita los resultados de las pruebas de expresion diferencial entre las muestras. Paracada par de pruebas x e y se crean cuatro ficheros:

isoform exp.diff FPKM diferencial de los transcritos.

gene exp.diff FPKM diferencial de los genes.

tss group exp.diff FPKM diferencial de los transcritos primarios.

20Vease el apendice A.7 en la pagina 118 para mas informacion acerca del formato GTF

63

Page 64: Alejandro tfm

cds exp.diff FPKM diferencial de la codificacion de la secuencia.

Cada uno de estos ficheros tiene el siguiente formato:

Tabla 3.7: Formato de los ficheros de expresion diferencialNo Nombre Ejemplo Descripcion1 Id XLOC 000001 Identificador unico que representa al trans-

crito, gen, transcrito primario o CDS queesta siendo probado.

2 Gen Lypla1 El gen name o gene id que esta siendo proba-do.

3 Locus chr1:4797771

-4835363

Coordenada genomica del gen o transcrito.

4 Muestra 1 Liver Etiqueta de la primera muestra.5 Muestra 2 Brain Etiqueta de la segunda muestra.6 Estado NOTEST Puede ser OK, NOTEST, LOWDATA o FAIL.7 FPKMx 8.01089 FPKM del gen de la muestra x.8 FPKMy 8.551545 FPKM del gen de la muestra y.9 ln(FPKMy/FPKMx) 0.06531 El logaritmo de la relacion y/x10 Estadisticas 0.860902 El valor de la prueba estadıstica utilizada para

calcular la importancia de los cambios obser-vados en FPKM.

11 Valor de p 0.389292 El valor p sin corregir de la prueba estadıstica.12 Valor de q 0.985216 El valor p FDR-ajustado de la prueba es-

tadıstica.13 Significado no Puede ser “yes” o “no”, dependiendo de si p es

mayor que el FDR despues de la correccion deBenjamini-Hochberg para multiples pruebas.

64

Page 65: Alejandro tfm

3. Test de uniones diferenciales - splicing.diffEste fichero lista, para cada transcrito primario, la cantidad de uniones diferenciales que existenentre los isomorfos procesados a partir de un unico transcrito primario. Solo los transcritos primariosde los que dos o mas se empalman se enumeran en este archivo.

Tabla 3.8: Formato de los ficheros de union diferencialNo Nombre Ejemplo Descripcion1 Id TSS10015 Identificador unico que representa al transcrito, gen, trans-

crito primario o CDS que esta siendo probado.2 Gen Rtkn El gen name o gene id que esta siendo probado.3 Locus chr6:83087311

-83102572

Coordenada genomica del gen o transcrito.

4 Muestra 1 Liver Etiqueta de la primera muestra.5 Muestra 2 Brain Etiqueta de la segunda muestra.6 Estado OK Puede ser OK, NOTEST, LOWDATA o FAIL.7 Reservado 0

8 Reservado 0

9√JS(x, y) 0.22115 La sobrecarga del empalme del primer transcrito, medida

como la raız cuadrada de la divergencia de Jensen-Shannoncalculada sobre la abundancia relativa de las variantes delempalme.

10 Estadısticas 0.22115 El valor de la prueba estadıstica utilizada para calcular laimportancia de la sobrecarga observada, igual a

√JS(x, y)

11 Valor de p 0.000174982 El valor p sin corregir de la prueba estadıstica.12 Significado yes Puede ser “yes” o “no”, dependiendo de si p es mayor que el

FDR despues de la correccion de Benjamini-Hochberg paramultiples pruebas.

4. Codificacion diferencial de salida - cds.diffEste fichero lista, para cada gen, la cantidad de sobrecarga detectada entre sus secuencias decodificacion, es decir, la cantidad de CDS diferencial de salida existente entre muestras. Solo losgenes productores de dos o mas CDS distintos (es decir, genes multiproteicos) son listados aquı.

Tabla 3.9: Formato de los ficheros de codificacion diferencial de salidaNo Nombre Ejemplo Descripcion1 Id XLOC 000002 Identificador unico que representa al transcrito, gen, trans-

crito primario o CDS que esta siendo probado.2 Gen Atp6v1h El gen name o gene id que esta siendo probado.3 Locus chr1:5073200

-5152501

Coordenada genomica del gen o transcrito.

4 Muestra 1 Liver Etiqueta de la primera muestra.5 Muestra 2 Brain Etiqueta de la segunda muestra.6 Estado OK Puede ser OK, NOTEST, LOWDATA o FAIL.7 Reservado 0

8 Reservado 0

9√JS(x, y) 0.0686517 La sobrecarga del empalme del primer transcrito, medida

como la raız cuadrada de la divergencia de Jensen-Shannoncalculada sobre la abundancia relativa de las variantes delempalme.

10 Estadisticas 0.0686517 El valor de la prueba estadıstica utilizada para calcular laimportancia de la sobrecarga observada, igual a

√JS(x, y)

11 Valor de p 0.00546783 El valor p sin corregir de la prueba estadıstica.12 Significado yes Puede ser “yes” o “no”, dependiendo de si p es mayor que el

FDR despues de la correccion de Benjamini-Hochberg paramultiples pruebas.

65

Page 66: Alejandro tfm

5. Uso diferencial del promotor - promoters.diffEste fichero lista, para cada gen, la cantidad de sobrecarga detectada entre sus transcritos primarios,es decir, que uso diferencial del promotor existe entre muestras. Solo los genes productores de doso mas transcritos primarios distintos son listados aquı.

Tabla 3.10: Formato de los ficheros de uso diferencial del promotorNo Nombre Ejemplo Descripcion1 Id XLOC 000019 Identificador unico que representa al transcrito, gen, trans-

crito primario o CDS que esta siendo probado.2 Gen Tmem70 El gen name o gene id que esta siendo probado.3 Locus chr1:16651657

-16668357

Coordenada genomica del gen o transcrito.

4 Muestra 1 Liver Etiqueta de la primera muestra.5 Muestra 2 Brain Etiqueta de la segunda muestra.6 Estado OK Puede ser OK, NOTEST, LOWDATA o FAIL.7 Reservado 0

8 Reservado 0

9√JS(x, y) 0.0124768 La sobrecarga del empalme del primer transcrito, medida

como la raız cuadrada de la divergencia de Jensen-Shannoncalculada sobre la abundancia relativa de las variantes delempalme.

10 Estadısticas 0.0124768 El valor de la prueba estadıstica utilizada para calcular laimportancia de la sobrecarga observada, igual a

√JS(x, y)

11 Valor de p 0.394327 El valor p sin corregir de la prueba estadıstica.12 Significado no Puede ser “yes” o “no”, dependiendo de si p es mayor que el

FDR despues de la correccion de Benjamini-Hochberg paramultiples pruebas.

3.8. Formato de seguimiento FPKM

Los archivos FPKM usan un formato generico para mostrar valores de expresion estimados. Cadaarchivo FPKM tiene el siguiente formato:

66

Page 67: Alejandro tfm

Tabla 3.11: Formato FPKMNo Nombre Ejemplo Descripcion

1 tracking id TCONS 00000001 Identificador unico describiendo al objeto2 class code = El codigo de clase del objeto3 nearest ref id NM 008866.1 El transcrito de referencia al que se refiere el

codigo de clase, si existe4 gene id NM 008866 El gene id asociado con el objeto5 gene short name Lypla1 El gene short name asociado con el objeto6 tss id TSS1 El tss id asociado con el objeto7 locus chr1:4797771

-4835363

Coordenadas en el genoma para una mejor vi-sualizacion del objeto

8 length 2447 El numero de pares de bases en el transcrito9 coverage 43.4279 Estimacion de la profundidad absoluta de la

lectura de cobertura a traves del objeto10 status OK Puede ser OK, LOWDATA o FAIL

11 q0 FPKM 8.01089 FPKM del objeto en la muestra 012 q0 FPKM lo 7.03583 Lımite inferior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 013 q0 FPKM hi 8.98595 Lımite superior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 014 q1 FPKM 8.55155 FPKM del objeto en la muestra 115 q1 FPKM lo 7.77692 Lımite inferior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 116 q1 FPKM hi 9.32617 Lımite superior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 13N + 11 qN FPKM 7.34115 FPKM del objeto en la muestra N3N + 12 qN FPKM lo 6.33394 Lımite inferior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 0N3N + 13 qN FPKM hi 8.34836 Lımite superior del intervalo de confianza del

95 % en el FPKM del objeto en la muestra 0N

3.9. Biblioteca de Tipos

En los casos en que Cufflinks no puede determinar la plataforma y/o el protocolo usado para generarlas lecturas de entrada, se puede proporcionar esta informacion de forma manual, lo que permite aCufflinks inferir informacion del origen de ciertos protocolos.

Tabla 3.12: Biblioteca de tipos de CufflinksTipo Ejemplo Descripcion

fr-unstranded StandardIllumina

Las lecturas del principio (parte mas a la izquierda) delfragmento se alinean en el normal de la hebra, y las lecturasdel final (parte mas a la derecha) en la hebra opuesta.

fr-firststrand dUTP, NSR,NNSR

Igual que en el caso anterior, pero se debe cumplir la reglade que el extremo mas a la derecha del fragmento es loprimero en ser secuenciado. .

fr-secondstrand Ligation,StandardSOLiD

Igual que en el caso anterior, pero se debe cumplir la reglade que el extremo mas a la izquierda del fragmento es loprimero en ser secuenciado.

67

Page 68: Alejandro tfm

68

Page 69: Alejandro tfm

Capıtulo 4

SAMtools

4.1. ¿Que es SAMtools?

SAMtools es un conjunto de utilidades para manipular alineamientos en el formato BAM1. SAM-tools importa y exporta en formato SAM (Sequence Alignment/Map), ordena, une e indexa, y permiterecuperar las lecturas de cualquier region con rapidez.

SAMtools esta disenado para trabajar dentro de un flujo de trabajo. Muchos de los comandos puedenser combinados con tuberıas de Unix. Todos los mensajes de error y alerta son mostrados en la salidaestandar (stderr).

Tambien es capaz de abrir un fichero BAM (no SAM) en un servidor FTP o HTTP remoto si laruta del fichero comienza por ftp:// o http://. SAMtools comprueba el directorio de trabajo actualen busca del archivo ındice. SAMtools no recupera el archivo de alineamientos entero a no ser que se loindiquemos expresamente.

4.2. Comandos y opciones de SAMtools

Veamos el conjunto de comandos y las opciones de cada uno de ellos que nos facilita SAMtools:

view Extrae/imprime todos o una porcion de alineamientos en formato SAM o BAM. Si no se es-pecifica ninguna region, se imprimiran todos los alineamientos; por contra, si especificamosuna region en concreto, entonces unicamente se mostraran lo s alineamientos que caiganen dicha region. Una region puede ser indicada, por ejemplo, en el siguiente formato: chr2(el cromosoma chr2 entero), chr2:1000000 (la region que comienza en el 1000000pb) ochr2:1,000,000-2,000,000 (la region comprendida entre 1000000− 2000000pb).

Formato

samtools view [-bchuHS] [-t in.refList] [-o output]

[-f reqFlag] [-F skipFlag] [-q minMapQ] [-l library] [-r readGroup]

[-R rgFile] <in.bam>|<in.sam> [region1 [...]]

Opciones:

-b Salida en formato BAM.

-f INT Solo muestra los alineamientos que tengan en el campo FLAT los bits INTpresentes.

-F INT Omite los alineamientos con los bits presentes en INT.

1Vease el apendice A.2 en la pagina 114 para mas informacion acerca del formato BAM

69

Page 70: Alejandro tfm

-h Incluye la cabecera en la salida.

-H Solo muestra la cabecera.

-l LIB Solo muestra las lecturas de la librerıa LIB.

-o FICH Fichero de salida.

-q INT Omite lecturas con MAPQ menores que INT.

-r CAD Solo muestra lecturas en el grupo CAD.

-R FICH Muestra las lecturas de los grupos listados en FICH.

-S El formato de entrada es formato SAM.

-c En lugar de mostrar todos los alineamientos, solo los cuenta y muestra el total.Todas las opciones de filtrado son tomadas en cuenta.

-t FICH El fichero esta delimitado por tabuladores y cada lınea debe contener el nom-bre de referencia y la longitud de referencia. Cada lınea debe debe conteneruna referencia unica y los campos adicionales son ignorados. Este fichero tam-bien define el orden de clasificacion de las secuencias de referencia. Si ejecutasamtools faidx <ref.fa> el fichero indexado resultante <ref.fa>.fai pue-de ser usado como fichero <in.ref lst>.

-u Salida en formato BAM no comprimido. Esta opcion guarda el tiempo dedicadoa la compresion/descompresion y nos da la posibilidad de canalizarlo a otrocomando de SAMtools mediante tuberıas.

Ejemplo

samtools view -bt ref_list.txt -o aln.bam aln.sam.gz

tview Visualiza alineamientos en formato texto (basado en la librerıa ncurses). En el visor, pre-sione ‘?’ para mostrar la ayuda y presione ‘g’ para verificar el inicio de un alineamiento enuna region en el formato chr10:10,000,000 o =10,000,000 al ver la secuencia de referencia.

Formato

samtools tview <in.sorted.bam> [ref.fasta]

Ejemplo

samtools tview aln.sorted.bam ref.fasta

mpileup Generar un BCF o pila para uno o varios archivos BAM. Los registros de alineamientosson agrupados por los identificadores de la muestra en las lıneas de cabecera @RG. Si losidentificadores de la muestra no estan, cada fichero de entrada es considerado como unamuestra.

En el formato apilado (sin -u o -g) cada lınea representa una posicion genomica, consistenteen el nombre del cromosoma, unas coordenadas, una base de referencia, unas lecturas base,unas calidades de lecturas y unas calidades de mapeo de alineamiento. La informacion sobreel ajuste, desajuste, indel, calidad del mapeo y el inicio y fin de la lectura son codificadasen la columna base de la lectura.

Formato

samtools mpileup [-EBug] [-C capQcoef] [-r reg] [-f in.fa] [-l list]

[-M capMapQ] [-Q minBaseQ] [-q minMapQ] in.bam [in2.bam [...]]

Opciones de entrada:

-6 Asume que la calidad esta en la cofificacion Illumina 1.3.

70

Page 71: Alejandro tfm

-B Desactiva la realineacion probabilıstica para el calculo de la base de la calidadde la alineacion (BAQ). BAQ es la probabilidad en la escala Phred que unalectura este desalineada. La aplicacion de esta opcion ayuda a reducir los falsosSNPs causados por los desajustes.

-b FICH Lista de ficheros BAM, un fichero por lınea.

-C INT Coeficiente para disminuir la calidad del mapeo para aquellas lectura que con-tengan muchos desajustes.

-d INT Lee un maximo de INT lecturas de una entrada BAM.

-E Calculo BAQ extendido. Esta opcion ayuda a la sensibilidad principalmentepara los MNPs, pero puede perjudicar un poco.

-f FICH Fichero indexado de referencia mediante faidx en formato FASTA. El ficheropuede estar comprimido mediante razip.

-l FICH Fichero BED o una lista de ficheros que contienen regiones o localizacionesdonde generar BCF o ficheros apilados2.

-q INT Calidad mınima de mapeo para que un alineamiento sea usado.

-Q INT Calidad base mınima para que una base sea considerada.

-r CAD Solo genera una pila en la region delimitada por CAD.

Opciones de entrada:

-D Profundidad en la salida de cada lectura por muestra.

-g Calcula las probabilidades del genotipo y genera un fichero binario BCF.

-u Similar a -g excepto que la salida es un fichero BCF sin comprimir, que esmejor para su uso en tuberıas.

Opciones para el calculo de probabilidades del Genotipo:

-e INT Probabiliad en escala Phred de que exista un error de secuencia en un espaciode extension. Reducir el valor de INT conduce a indels mas grandes.

-h INT Coeficiente de error de modelado de homopolımeros.

-I No realiza una recoleccion de indels.

-L INT Omite la recoleccion de indels si la profundidad media por muestra esta porencima de INT.

-o INT Probabiliad en escala Phred de que exista un error de secuencia en un espacioabierto. Reducir el valor de INT conduce a recoger mas indels.

-P CAD Lista separada por comas de plataformas (delimitadas por @RG-PL) de las cua-les se obtienen los candidatos indels. Se recomienda recoger los indles candida-tos a partir de tecnologıas de secuenciacion que tengan una tasa baja de errorde indels como puede ser ILLUMINA.

Ejemplo

samtools mpileup -C50 -gf ref.fasta -r chr3:1,000-2,000 in1.bam in2.bam

reheader Reemplaza la cabecera en in.bam con la cabecera de in.header.sam. Este comando esmucho mas rapido que reemplazar la cabecera con una conversion BAM->SAM->BAM.

Formato

samtools reheader <in.header.sam> <in.bam>

2Vease el comando mpileup para mas informacion acerca de BCF y pilas

71

Page 72: Alejandro tfm

cat Concatena ficheros BAM. El diccionario de secuencias de cada entrada BAM debe seridentico, aunque este comando no lo comprueba.

Formato

samtools cat [-h header.sam] [-o out.bam] <in1.bam> <in2.bam> [ ... ]

sort Ordena alineamientos por su extremo izquierdo. Se creara un fichero nuevo <out.prefix>.bamcon el contenido ordenado.

Formato

samtools sort [-no] [-m maxMem] <in.bam> <out.prefix>

Opciones:

-o Muestra los alineamientos en la salida estandar.

-n Ordena por el nombre de las lecturas en vez de las coordenadas en el cromo-soma.

-m INT Aproximadamente el maximo de memoria requerida.

Ejemplo

samtools sort aln.bam aln.sorted

merge Combina multiples alineamientos ordenados. La cabecera de referencia de todos los ficherosBAM, ası como el @SQ del fichero inh.sam, si existe, deben hacer referencia al mismoconjunto de secuencias de referencia.

Formato

samtools merge [-nur1f] [-h inh.sam] [-R reg] <out.bam>

<in1.bam> <in2.bam> [...]

Opciones:

-1 Usa el nivel de compresion 1 de zlib para comprimir la salida.

-f Fuerza la sobreescritura del fichero de salida si existe.

-h FICH Usa las lıneas del fichero como cabeceras ‘@’, que seran copiadas en out.bam.El fichero debe estar en formato SAM

-n Los alineamientos de entrada estan ordenados por el nombre de las lecturas envez de las coordenadas en el cromosoma.

-R CAD Combina los ficheros en la region especificada en CAD.

-r Adjunta una etiqueta @RG a cada alineamiento. El valor de la variable se infierede los nombres de los ficheros.

-u BAM de salida sin comprimir.

Ejemplo

samtools merge out.bam in1.bam in2.bam in3.bam

index Indexa los alineamientos ordenados para un acceso aleatorio mas rapido. Se creara un ficherode ındice con extension .bai.

Formato

samtools index <aln.bam>

Ejemplo

72

Page 73: Alejandro tfm

samtools index aln.sorted.bam

idxstats Recupera e imprime las estadısticas en el archivo del ındice.

Formato

samtools idxstats <aln.bam>

Ejemplo

samtools idxstats aln.sorted.bam

faidx Indexa una secuencia de referencia en formato FASTA3 o extrae una subsecuencia de unasecuencia de referencia indexada. Creara un fichero indexado con extension .fai.

Formato

samtools faidx <ref.fasta> [region1 [...]]

Ejemplo

samtools faidx ref.fasta

rmdup Elimina posibles duplicados PCR: si multiples pares de lecturas tienen las mismas coorde-nadas, solo retiene el par con la calidad de mapeo mas alta.

Formato

samtools rmdup [-sS] <input.srt.bam> <out.bam>

Opciones:

-s Elimina duplicados de lecturas simples. Por defecto solo trabaja con lecturasemparejadas.

-S Trata tanto lecturas simples como emparejadas.

calmd Genera la etiqueta @MD. Si la etiqueta @MD ya esta presente, este comando advertira si laetiqueta existente es diferente a la generada. Por defecto devuelve la salida en formato SAM.

Formato

samtools calmd [-EeubSr] [-C capQcoef] <aln.bam> <ref.fasta>

Opciones:

-A Cuando se usa junto con -r sobreescribe la calidad base original.

-e Convierte la base de la lectura a “=” si es identica a la base de referenciaalineada.

-u La salida en formato BAM no esta comprimida.

-b La salida en formato BAM esta comprimida.

-S La entrada es un fichero SAM con lıneas de cabecera.

-C INT Coeficiente para limitar la calidad de las lecturas mal alineadas.

-r Genera la etiqueta BQ (sin -A).

-E Calculo extendido de BAQ.

targetcut Este comando identifica las regiones de destino mediante examinando la continuidad de laslecturas generando un fichero SAM con los resultados. Cuando se hace uso de la opcion -fse aplica tambien BAQ.

Formato

3Vease el apendice A.4 en la pagina 115 para mas informacion del formato FASTA

73

Page 74: Alejandro tfm

samtools targetcut [-Q minBaseQ] [-i inPenalty] [-0 em0]

[-1 em1] [-2 em2] [-f ref] <in.bam>

phase Recoge y elimina heterocigotos SNPs.

Formato

samtools phase [-AF] [-k len] [-b prefix] [-q minLOD]

[-Q minBaseQ] <in.bam>

Opciones:

-A Elimina lecturas con fase ambigua.

-b CAD Prefijo de los ficheros en formato BAM.

-F No trata de arreglar las lecturas “quimericas”.

-k INT Longitud maxima para la eliminacion local.

-q INT Mınima calidad Phred LOD para recoger un heterocigoto.

-Q INT Mınima calidad base para ser usada en la recogida de heterocigotos.

74

Page 75: Alejandro tfm

Parte II

Casos practicos

75

Page 76: Alejandro tfm
Page 77: Alejandro tfm

Capıtulo 5

Arabidopsis Thaliana

La Arabidopsis Thaliana es una especide de crucıfera nativa de Europa, Asia y el noroeste de Africa.En la imagen 5.1 vemos un detalle de la planta.

Figura 5.1: Detalle de la Arabidopsis Thaliana

Usamos la A. Thaliana por ser una planta de la que se dispone el genoma para poder descargar yhacer pruebas con el. Ademas de que existen multitud de experimentos y artıculos que tratan sobre dichaplanta. En las siguientes secciones veremos detalles de su genoma ası como de varios experimentos quehemos realizado con las tecnologıas vistas en los capıtulos anteriores para ver su funcionamiento.

5.1. Genoma de la A. Thaliana

El genoma de la A. Thaliana se puede obtener de varias formas. Podemos acceder a la comunidad eninternet de la A. Thaliana1 o desde la pagina web de Bowtie podremos descargarnos dicho genoma. Ala hora de descargar el genoma podremos descargarlo indexado normal o con espacio de colores2. La A.Thaliana esta formada por cinco cromosomas mas el cloroplasto y el mitocondrial. Por eso al descargar

1La web oficial es http://www.arabidopsis.org/2Vease la seccion 1.5 en la pagina 31 para mas informacion de las indexaciones

77

Page 78: Alejandro tfm

el genoma tendremos a nuestra disposicion un total de 7 ficheros como apreciamos en la imagen 5.2 enla pagina siguiente:

Figura 5.2: Ficheros del genoma de la A. Thaliana

El genoma completo tiene un total de 120.000.000 de pares de bases repartidas entre los ficherosanteriormente mencionados, generando un total de 121, 2MB de tamano. En la imagen 5.3 podemosapreciar parte del contenido del cromosoma 1 de la A. Thaliana.

Figura 5.3: Detalle del Cromosoma 1 de la A.Thaliana

5.2. Indexacion del Genoma

Desde la propia pagina de Bowtie podemos descargarnos el genoma indexado (incluso mediante espaciode colores). Si por el contrario, estamos en posesion de un genoma no indexado (por ejemplo en formatoFASTA) deberemos de indexar el genoma para ası poder proceder con las herramientas descritas en laparte de Manuales de usuario en en la pagina 15.

Para poder indexar el genoma deberemos de usar el programa bowtie-build3. El comando paraindexar el genoma de la A. Thaliana es el siguente:

bowtie-build chr1.fas, chr2.fas, chr3.fas, chr4.fas, chr5.fas, chrC.fas, chrM.fas

a_thaliana

3Vease la seccion 1.5 en la pagina 31 para mas informacion

78

Page 79: Alejandro tfm

Como vimos en la seccion de bowtie-build recibe por parametro el total de cromosomas de un genomay ademas el nombre que tendra el genoma indexado. En estos experimentos hemos usado el comandoen su modo por defecto, sin incluirle opciones especiales (ni haciendo uso del espacio de colores). Elresultado del comando lo podemos apreciar en la imagen 5.4: El comando bowtie-build en indexar el

Figura 5.4: Ficheros del Genoma indexado de la A.Thaliana

genoma de la A. Thaliana emplea 4 minutos y 46 segundos y genera un total de 136, 4 MB. No podemosmostrar un detalle de los ficheros del ındice porque son ficheros binarios en lugar de ficheros de texto.

79

Page 80: Alejandro tfm

5.3. Experimento SRP000615

Pasemos a describir el primero de los experimentos realizados con el genoma de la A. Thaliana. Elexperimento SRP000615 4 es un estudio sobre Arabidopsis, poppy y Persea. Consta de una serie depruebas y nos centraremos en el conjunto de datos SRX002936.

5.3.1. Lecturas

Si accedemos a la informacion del paquete SRX002936 podemos descargarnos un fichero comprimidocon un conjunto de lecturas cortas en formato FASTQ. El fichero descargado tiene un tamano de 41, 4MBy un total de 134791 lecturas cortas. Las lecturas de este paquete tienen longitudes dispares. En laimagen 5.5 vemos un grafico que nos muestra el tamano de la lectura y el total de lecturas de esetamano.

Figura 5.5: Grafico del tamano de las lecturas del exp SRP000615

En la imagen 5.6 en la pagina siguiente vemos un detalle del contenido del fichero de lecturas cortas:

4Para mas informacion vea la web http://trace.ddbj.nig.ac.jp/DRASearch/study?acc=SRP000615

80

Page 81: Alejandro tfm

Figura 5.6: Detalle de las lecturas cortas del exp SRP000615

5.3.2. Ejecucion de TopHat

El comando tophat5 usado con este experimento es el siguiente:

tophat -p 2 -o results/expSRP000615 indexes/a_thaliana reads/SRX002936.fastq

Y la salida generada por dicho comando es la siguiente:

[Sat May 21 10:58:19 2011] Beginning TopHat run (v1.2.0)

-----------------------------------------------

[Sat May 21 10:58:19 2011] Preparing output location results/expSRP000615/

[Sat May 21 10:58:19 2011] Checking for Bowtie index files

[Sat May 21 10:58:19 2011] Checking for reference FASTA file

Warning: Could not find FASTA file indexes/a_thaliana.fa

[Sat May 21 10:58:19 2011] Reconstituting reference FASTA file from Bowtie index

[Sat May 21 10:58:30 2011] Checking for Bowtie

Bowtie version: 0.12.7.0

[Sat May 21 10:58:30 2011] Checking for Samtools

Samtools Version: 0.1.16

[Sat May 21 10:58:30 2011] Checking reads

min read length: 37bp, max read length: 610bp

format: fastq

quality scale: phred33 (default)

[Sat May 21 10:58:36 2011] Mapping reads against a_thaliana with Bowtie

[Sat May 21 10:59:02 2011] Joining segment hits

[Sat May 21 10:59:12 2011] Mapping reads against a_thaliana with Bowtie(1/24)

[Sat May 21 10:59:49 2011] Mapping reads against a_thaliana with Bowtie(2/24)

[Sat May 21 11:00:20 2011] Mapping reads against a_thaliana with Bowtie(3/24)

[Sat May 21 11:00:47 2011] Mapping reads against a_thaliana with Bowtie(4/24)

[Sat May 21 11:01:07 2011] Mapping reads against a_thaliana with Bowtie(5/24)

[Sat May 21 11:01:13 2011] Mapping reads against a_thaliana with Bowtie(6/24)

5Para mas detalles del formato y opciones de tophat vease 2 en la pagina 37

81

Page 82: Alejandro tfm

[Sat May 21 11:01:15 2011] Mapping reads against a_thaliana with Bowtie(7/24)

[Sat May 21 11:01:16 2011] Mapping reads against a_thaliana with Bowtie(8/24)

[Sat May 21 11:01:16 2011] Mapping reads against a_thaliana with Bowtie(9/24)

[Sat May 21 11:01:16 2011] Mapping reads against a_thaliana with Bowtie(10/24)

[Sat May 21 11:01:16 2011] Mapping reads against a_thaliana with Bowtie(11/24)

[Sat May 21 11:01:17 2011] Mapping reads against a_thaliana with Bowtie(12/24)

[Sat May 21 11:01:17 2011] Mapping reads against a_thaliana with Bowtie(13/24)

[Sat May 21 11:01:17 2011] Mapping reads against a_thaliana with Bowtie(14/24)

[Sat May 21 11:01:17 2011] Mapping reads against a_thaliana with Bowtie(15/24)

[Sat May 21 11:01:18 2011] Mapping reads against a_thaliana with Bowtie(16/24)

[Sat May 21 11:01:18 2011] Mapping reads against a_thaliana with Bowtie(17/24)

[Sat May 21 11:01:18 2011] Mapping reads against a_thaliana with Bowtie(18/24)

[Sat May 21 11:01:18 2011] Mapping reads against a_thaliana with Bowtie(19/24)

[Sat May 21 11:01:19 2011] Mapping reads against a_thaliana with Bowtie(20/24)

[Sat May 21 11:01:19 2011] Mapping reads against a_thaliana with Bowtie(21/24)

[Sat May 21 11:01:19 2011] Mapping reads against a_thaliana with Bowtie(22/24)

[Sat May 21 11:01:19 2011] Mapping reads against a_thaliana with Bowtie(23/24)

[Sat May 21 11:01:19 2011] Mapping reads against a_thaliana with Bowtie(24/24)

[Sat May 21 11:01:20 2011] Searching for junctions via segment mapping

[Sat May 21 11:01:43 2011] Retrieving sequences for splices

[Sat May 21 11:02:05 2011] Indexing splices

[Sat May 21 11:03:08 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:04:35 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:05:58 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:07:19 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:08:37 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:09:51 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:11:01 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:12:12 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:13:22 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:14:31 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:15:41 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:16:51 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:18:02 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:19:11 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:20:21 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:21:30 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:22:40 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:23:50 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:24:59 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:26:09 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:27:18 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:28:29 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:29:38 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:30:48 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 11:31:57 2011] Joining segment hits

[Sat May 21 11:32:07 2011] Reporting output tracks

-----------------------------------------------

Run complete [00:33:52 elapsed]

Y como podemos comprobar al final de dicha ejecucion es que el tiempo total invertido es de 33 minutosy 52 segundos.

En la imagen 5.7 en la pagina siguiente podemos ver los ficheros6 que crea TopHat:

6Vease el capıtulo 2 en la pagina 37 para mas detalles del contenido de los ficheros

82

Page 83: Alejandro tfm

Figura 5.7: Ficheros creados por Tophat en el exp SRP000615

En la imagen 5.8 vemos el contenido del fichero junctions.bed, para ver el contenido del ficheroaccepted hits.bam deberemos convertirlo previamente a formato SAM (eso lo haremos en el siguientepunto).

Figura 5.8: Detalle del fichero junctions.bed del exp SRP000615

Del total de 134790 lecturas de las que partıamos, tras realizar la ejecucion de TopHat se han alineadoun total de 30805 y 103985 se han quedado sin alinear. En la imagen 5.9 en la pagina siguiente vemosuna grafica indicando el porcentaje de alineamientos y no alineamientos frente al total de lecturas delque partıamos.

83

Page 84: Alejandro tfm

Figura 5.9: Porcentajes de alineamientos en el exp SRP000615

5.3.3. Ejecucion de SAMtools

Debido a que TopHat nos devuelve un fichero en formato BAM7, y dicho formato es binario; deberemosde hacer uso de SAMtools para convertir dicho fichero BAM en formato SAM. El comando usado es elsiguiente:

samtools view -h -o accepted_hits.sam accepted_hits.bam

Tras la ejecucion del comando, samtools nos crea un fichero llamado accepted hits.sam que es unfichero de texto plano en formato SAM. Veamos un detalle de dicho fichero en el cual aparecen losalineamientos encontrados por TopHat.

7Vease el apendice A.2 en la pagina 114 para mas detalles del formato BAM

84

Page 85: Alejandro tfm

Figura 5.10: Fichero accepted hits.sam del exp SRP000615

5.3.4. Ejecucion de Cufflinks

Despues de calcular los alineamientos con TopHat, ademas de obtener los “junctions”, “deletions”e “insertions”. Usaremos Cufflinks para calcular la expresion diferencial. Es decir, que genes agrupanmas alineamientos. Para realizar el calculo de la expresion diferencial con Cufflinks usaremos el siguientecomando:

cufflinks accepted_hits.bam

Despues de un tiempo de 35 segundos Cufflinks crea 3 ficheros:genes.fpkm tracking, isoforms.fpkm tracking

y transcripts.gtf; donde nos muestra la expresion diferencial de genes, isomorfos y transcritos. Ademasla salida por pantalla es la siguiente:

[12:04:16] Inspecting reads and determining fragment length distribution.

> Processed 21374 loci. [*************************] 100%

> Map Properties:

>Total Map Mass: 39563.00

>Read Type: 161bp single-end

85

Page 86: Alejandro tfm

>Fragment Length Distribution: Truncated Gaussian (default)

> Default Mean: 200

> Default Std Dev: 80

[12:04:27] Assembling transcripts and estimating abundances.

> Processed 21374 loci. [*************************] 100%

Veamos el contenido de uno de los ficheros: el fichero genes.fpkm tracking que nos muestra laexpresion diferencial de los genes. La imagen 5.11 nos muestra dicho fichero.

Figura 5.11: Fichero genes.fpkm tracking del exp SRP000615

86

Page 87: Alejandro tfm

5.3.5. Resultados

En la imagen 5.12 podemos ver un grafico que nos muestra el tiempo invertido por cada uno de losprogramas usados. Podemos apreciar que la ejecucion de TopHat es el mas elevado. Esto es debido a quelas lecturas cortas usadas tienen longitudes grandes. Cuanto mas grandes sean las lecturas usadas mastiempo tardaran en alinear. Para mejorar este tiempo tambien podemos hacer uso del potencial de lamaquina usando mas hilos.

Figura 5.12: Tiempos ejecucion exp SRP000615

Por otro lado, como vimos en la imagen 5.9 en la pagina 84, tenemos un porcentaje muy bajo dealineamientos. Esto es debido al origen de los datos, propios del experimento.

Para terminar haciendo uso de los ficheros proporcionados por cufflinks junto con la aplicacion IGV8

veremos la expresion diferencial de un trozo del cromosoma 2. La imagen 5.13 en la pagina siguientemuestra dicho contenido. Vemos que en la figura hay muchos alineamientos que van al mismo trozo deGen. Con esto vemos que dicho gen esta muy expresado y es un buen candidato de estudio.

8IGV es una aplicacion para visualizar los datos obtenidos por tophat, cufflinks, etc. Para mas informacion acceda a suweb oficial http://www.broadinstitute.org/igv/

87

Page 88: Alejandro tfm

Figura 5.13: Expresion diferencial en el exp SRP000615

88

Page 89: Alejandro tfm

5.4. Experimento SRX011868

Pasemos a describir el siguiente de los experimentos realizados con el genoma de la A. Thaliana.El experimento SRX011868 9 es un estudio sobre Arabidopsis. Consta de una serie de pruebas y noscentraremos en el conjunto de datos SRR029315.

5.4.1. Lecturas

Si accedemos a la informacion del paquete SRX011868 podemos descargarnos un fichero comprimidocon un conjunto de lecturas cortas en formato FASTQ. El fichero descargado tiene un tamano de 793, 4MBy un total de 6580847 lecturas cortas. Las lecturas de este paquete tienen todas las misma longitud, eneste caso 35pb dispares. En la imagen 5.14 vemos un detalle del contenido del fichero de lecturas cortas:

Figura 5.14: Detalle de las lecturas cortas del exp SRX011868

9Para mas informacion vea la web http://trace.ddbj.nig.ac.jp/DRASearch/experiment?acc=SRX011868

89

Page 90: Alejandro tfm

5.4.2. Ejecucion de TopHat

El comando tophat10 usado con este experimento es el siguiente:

tophat -p 2 -o results/expSRX011868 indexes/a_thaliana reads/SRR029315.fastq

Y la salida generada por dicho comando es la siguiente:

[Tue Aug 2 17:56:08 2011] Beginning TopHat run (v1.3.1)

-----------------------------------------------

[Tue Aug 2 17:56:08 2011] Preparing output location results/expSRX011868/

[Tue Aug 2 17:56:08 2011] Checking for Bowtie index files

[Tue Aug 2 17:56:08 2011] Checking for reference FASTA file

Warning: Could not find FASTA file indexes/a_thaliana.fa

[Tue Aug 2 17:56:08 2011] Reconstituting reference FASTA file from Bowtie index

Executing: /usr/bin/bowtie-inspect indexes/a_thaliana/a_thaliana >

results/expSRX011868/tmp/a_thaliana.fa

[Tue Aug 2 17:56:23 2011] Checking for Bowtie

Bowtie version: 0.12.7.0

[Tue Aug 2 17:56:23 2011] Checking for Samtools

Samtools Version: 0.1.16

[Tue Aug 2 17:56:23 2011] Generating SAM header for indexes/a_thaliana/a_thaliana

[Tue Aug 2 17:56:25 2011] Preparing reads

format: fastq

quality scale: phred33 (default)

Left reads: min. length=35, count=6326042

[Tue Aug 2 17:58:32 2011] Mapping left_kept_reads against a_thaliana with Bowtie

[Tue Aug 2 18:10:08 2011] Processing bowtie hits

Warning: junction database is empty!

[Tue Aug 2 18:14:28 2011] Reporting output tracks

-----------------------------------------------

Run complete [00:26:07 elapsed]

Y como podemos comprobar al final de dicha ejecucion es que el tiempo total invertido es de 26 minutosy 07 segundos.

En la imagen 5.15 podemos ver los ficheros11 que crea TopHat:

Figura 5.15: Ficheros creados por Tophat en el exp SRX011868

10Para mas detalles del formato y opciones de tophat vease 2 en la pagina 3711Vease el capıtulo 2 en la pagina 37 para mas detalles del contenido de los ficheros

90

Page 91: Alejandro tfm

En este experimento el fichero junctions.bed no indica ninguna union por lo que esta vacıo, paraver el contenido del fichero accepted hits.bam deberemos convertirlo previamente a formato SAM (esolo haremos en el siguiente punto).

Del total de 6580847 lecturas de las que partıamos, tras realizar la ejecucion de TopHat se han alineadoun total de 4834785 y 1746062 se han quedado sin alinear. En la imagen 5.16 vemos una grafica indicandoel porcentaje de alineamientos y no alineamientos frente al total de lecturas del que partıamos.

Figura 5.16: Porcentajes de alineamientos en el exp SRX011868

91

Page 92: Alejandro tfm

5.4.3. Ejecucion de SAMtools

Debido a que TopHat nos devuelve un fichero en formato BAM12, y dicho formato es binario; deberemosde hacer uso de SAMtools para convertir dicho fichero BAM en formato SAM. El comando usado es elsiguiente:

samtools view -h -o accepted_hits.sam accepted_hits.bam

Tras la ejecucion del comando, samtools nos crea un fichero llamado accepted hits.sam que es unfichero de texto plano en formato SAM. Veamos un detalle de dicho fichero en el cual aparecen losalineamientos encontrados por TopHat.

Figura 5.17: Fichero accepted hits.sam del exp SRX011868

12Vease el apendice A.2 en la pagina 114 para mas detalles del formato BAM

92

Page 93: Alejandro tfm

5.4.4. Ejecucion de Cufflinks

Despues de calcular los alineamientos con TopHat, ademas de obtener los “junctions”, “deletions”e “insertions”. Usaremos Cufflinks para calcular la expresion diferencial. Es decir, que genes agrupanmas alineamientos. Para realizar el calculo de la expresion diferencial con Cufflinks usaremos el siguientecomando:

cufflinks accepted_hits.bam

Debido a la gran cantidad de alineamientos cufflinks tarda mas que en el caso anterior, en este casoun tiempo de 18 minutos y 2 segundos. Cufflinks crea 3 ficheros:genes.fpkm tracking, isoforms.fpkm tracking

y transcripts.gtf; donde nos muestra la expresion diferencial de genes, isomorfos y transcritos. Ademasla salida por pantalla es la siguiente:

[18:35:18] Inspecting reads and determining fragment length distribution.

> Processed 275054 loci. [*************************] 100%

> Map Properties:

>Total Map Mass: 4738556.00

>Read Type: 35bp single-end

>Fragment Length Distribution: Truncated Gaussian (default)

> Default Mean: 200

> Default Std Dev: 80

[18:37:59] Assembling transcripts and estimating abundances.

> Processed 275054 loci.

Veamos el contenido de uno de los ficheros: el fichero genes.fpkm tracking que nos muestra laexpresion diferencial de los genes. La imagen 5.18 en la pagina siguiente nos muestra dicho fichero.

93

Page 94: Alejandro tfm

Figura 5.18: Fichero genes.fpkm tracking del exp SRX011868

94

Page 95: Alejandro tfm

5.4.5. Resultados

En la imagen 5.19 podemos ver un grafico que nos muestra el tiempo invertido por cada uno de losprogramas usados. Podemos apreciar que la ejecucion de TopHat es el mas elevado. En este caso laslecturas tienen un tamano corto, pero por contra hay muchas mas, por eso el tiempo es elevado, perono como en el caso anterior. Vemos que aquı prima mas la longitud de la lectura que el numero total delecturas. Por otro lado al haber muchos mas alineamientos cufflinks tarda mas tiempo que antes a lahora de calcular la expresion diferencial.

Figura 5.19: Tiempos ejecucion exp SRX011868

Por otro lado, como vimos en la imagen 5.16 en la pagina 91, tenemos un porcentaje muy bajo dealineamientos. Esto es debido al origen de los datos, propios del experimento.

Para terminar haciendo uso de los ficheros proporcionados por cufflinks junto con la aplicacionIGV13 veremos la expresion diferencial de un trozo del cromosoma 2. La imagen 5.20 en la paginasiguiente muestra dicho contenido. Vemos que en la figura hay muchos alineamientos que van al mismotrozo de Gen. Con esto vemos que dicho gen esta muy expresado y es un buen candidato de estudio.

13IGV es una aplicacion para visualizar los datos obtenidos por tophat, cufflinks, etc. Para mas informacion acceda a suweb oficial http://www.broadinstitute.org/igv/

95

Page 96: Alejandro tfm

Figura 5.20: Expresion diferencial en el exp SRX011868

96

Page 97: Alejandro tfm

5.5. Experimento SRX022366

Pasemos a describir el ultimos de los experimentos realizados con el genoma de la A. Thaliana. Elexperimento SRP000615 14 es un estudio sobre Arabidopsis. Este experimento consta de un unico paquetede datos, el SRR058438.

5.5.1. Lecturas

Si accedemos a la informacion del paquete SRX022366 podemos descargarnos un fichero comprimidocon un conjunto de lecturas cortas en formato FASTQ. El fichero descargado tiene un tamano de 631, 1MBy un total de 3486324 lecturas cortas. En este caso todas las lecturas tienen la misma longitud 36pb.

En la imagen 5.21 vemos un detalle del contenido del fichero de lecturas cortas:

Figura 5.21: Detalle de las lecturas cortas del exp SRX022366

14Para mas informacion vea la web http://www.ncbi.nlm.nih.gov/sra?term=SRX022366

97

Page 98: Alejandro tfm

5.5.2. Ejecucion de TopHat

El comando tophat15 usado con este experimento es el siguiente:

tophat -p 2 -o results/expSRX022366 indexes/a_thaliana reads/SRR058438.fastq

Y la salida generada por dicho comando es la siguiente:

[Sat May 21 14:15:08 2011] Beginning TopHat run (v1.2.0)

-----------------------------------------------

[Sat May 21 14:15:08 2011] Preparing output location results/expSRX022366

[Sat May 21 14:15:08 2011] Checking for Bowtie index files

[Sat May 21 14:15:08 2011] Checking for reference FASTA file

Warning: Could not find FASTA file indexes/a_thaliana.fa

[Sat May 21 14:15:08 2011] Reconstituting reference FASTA file from Bowtie index

[Sat May 21 14:15:21 2011] Checking for Bowtie

Bowtie version: 0.12.7.0

[Sat May 21 14:15:21 2011] Checking for Samtools

Samtools Version: 0.1.16

[Sat May 21 14:15:21 2011] Checking reads

min read length: 36bp, max read length: 36bp

format: fastq

quality scale: phred33 (default)

[Sat May 21 14:16:54 2011] Mapping reads against a_thaliana with Bowtie

[Sat May 21 14:22:10 2011] Joining segment hits

[Sat May 21 14:22:24 2011] Searching for junctions via segment mapping

[Sat May 21 14:23:16 2011] Retrieving sequences for splices

[Sat May 21 14:23:32 2011] Indexing splices

[Sat May 21 14:23:32 2011] Mapping reads against segment_juncs with Bowtie

[Sat May 21 14:24:07 2011] Joining segment hits

[Sat May 21 14:24:18 2011] Reporting output tracks

-----------------------------------------------

Run complete [00:09:16 elapsed]

Y como podemos comprobar al final de dicha ejecucion es que el tiempo total invertido es de 9 minutos y16 segundos. Es curioso ver que siendo un paquete de datos grande el tiempo invertido es mucho menorque el resto de los casos, debido a los pocos alineamientos encontrados.

En la imagen 5.22 podemos ver los ficheros16 que crea TopHat:

Figura 5.22: Ficheros creados por Tophat en el exp SRX022366

15Para mas detalles del formato y opciones de tophat vease 2 en la pagina 3716Vease el capıtulo 2 en la pagina 37 para mas detalles del contenido de los ficheros

98

Page 99: Alejandro tfm

En la imagen 5.23 vemos el contenido del fichero junctions.bed (que en este caso solo encentrauna union), para ver el contenido del fichero accepted hits.bam deberemos convertirlo previamente aformato SAM (eso lo haremos en el siguiente punto).

Figura 5.23: Detalle del fichero junctions.bed del exp SRX022366

Del total de 3486324 lecturas de las que partıamos, tras realizar la ejecucion de TopHat se han alineadoun total de 761 y 3485563 se han quedado sin alinear, lo que es un numero excesivamente bajo. En laimagen 5.24 vemos una grafica indicando el porcentaje de alineamientos y no alineamientos frente altotal de lecturas del que partıamos.

Figura 5.24: Porcentajes de alineamientos en el exp SRX022366

99

Page 100: Alejandro tfm

5.5.3. Ejecucion de SAMtools

Debido a que TopHat nos devuelve un fichero en formato BAM17, y dicho formato es binario; deberemosde hacer uso de SAMtools para convertir dicho fichero BAM en formato SAM. El comando usado es elsiguiente:

samtools view -h -o accepted_hits.sam accepted_hits.bam

Tras la ejecucion del comando, samtools nos crea un fichero llamado accepted hits.sam que es unfichero de texto plano en formato SAM. Veamos un detalle de dicho fichero en el cual aparecen losalineamientos encontrados por TopHat.

Figura 5.25: Fichero accepted hits.sam del exp SRX022366

5.5.4. Ejecucion de Cufflinks

Despues de calcular los alineamientos con TopHat, ademas de obtener los “junctions”, “deletions”e “insertions”. Usaremos Cufflinks para calcular la expresion diferencial. Es decir, que genes agrupanmas alineamientos. Para realizar el calculo de la expresion diferencial con Cufflinks usaremos el siguientecomando:

cufflinks accepted_hits.bam

Despues de un tiempo de 35 segundos Cufflinks crea 3 ficheros:genes.fpkm tracking, isoforms.fpkm tracking

y transcripts.gtf; donde nos muestra la expresion diferencial de genes, isomorfos y transcritos. Ademasla salida por pantalla es la siguiente:

[11:35:36] Inspecting reads and determining fragment length distribution.

> Processed 167 loci. [*************************] 100%

> Map Properties:

>Total Map Mass: 587.00

17Vease el apendice A.2 en la pagina 114 para mas detalles del formato BAM

100

Page 101: Alejandro tfm

>Read Type: 36bp single-end

>Fragment Length Distribution: Truncated Gaussian (default)

> Default Mean: 200

> Default Std Dev: 80

[11:35:36] Assembling transcripts and estimating abundances.

> Processed 167 loci. [*************************] 100%

Veamos el contenido de uno de los ficheros: el fichero genes.fpkm tracking que nos muestra laexpresion diferencial de los genes. La imagen 5.26 nos muestra dicho fichero.

Figura 5.26: Fichero genes.fpkm tracking del exp SRX022366

101

Page 102: Alejandro tfm

5.5.5. Resultados

En la imagen 5.27 podemos ver un grafico que nos muestra el tiempo invertido por cada uno de losprogramas usados. En este experimento las ejecuciones son muy rapidas debido a los pocos alineamientosencontrados.

Figura 5.27: Tiempos ejecucion exp SRX022366

Por otro lado, como vimos en la imagen 5.24 en la pagina 99, tenemos un porcentaje muy bajo dealineamientos. Esto es debido al origen de los datos, propios del experimento.

Para terminar haciendo uso de los ficheros proporcionados por cufflinks junto con la aplicacionIGV18 veremos la expresion diferencial de un trozo del cromosoma 2. La imagen 5.28 en la paginasiguiente muestra dicho contenido. Vemos que en la figura hay muchos alineamientos que van al mismotrozo de Gen. Con esto vemos que dicho gen esta muy expresado y es un buen candidato de estudio.

18IGV es una aplicacion para visualizar los datos obtenidos por tophat, cufflinks, etc. Para mas informacion acceda a suweb oficial http://www.broadinstitute.org/igv/

102

Page 103: Alejandro tfm

Figura 5.28: Expresion diferencial en el exp SRX022366

103

Page 104: Alejandro tfm

104

Page 105: Alejandro tfm

Apendices

105

Page 106: Alejandro tfm
Page 107: Alejandro tfm

Apendice A

Formatos de ficheros

A.1. SAM

A.1.1. Introduccion

SAM son las siglas de Sequence Alignment/Map. Y es un formato (delimitado por tabuladores) con-sistente en una seccion de cabecera, la cual es opcional; y una seccion de alineamientos. Si esta presente,la cabecera debe estar antes de los alineamientos. Las lıneas de cabecera deben comenzar con ‘@’, mien-tras que las lıneas de alineamientos no. Cada lınea de alineamiento contiene once campos obligatoriospara la informacion basica del alineamiento, ademas de un numero variable de campos opcionales parainformacion adicional.

A.1.1.1. Un ejemplo del formato SAM

Supongamos que tenemos la alineacion siguiente con las bases en minusculas recortadas de la alinea-cion. Las lecturas r001/1 y r001/2 constituyen una lectura emparejada; r003 es una lectura quimera;r004 representa una alineacion dividida.

Figura A.1: Ejemmplo de lecturas

107

Page 108: Alejandro tfm

El formato SAM correspondiente es:

Figura A.2: Ejemplo de fichero SAM

A.1.2. Cabecera del formato SAM

Cada lınea de la cabecera debe comenzar con el caracter ‘@’ seguido de un codigo formado pordos letras. En la cabecera, cada lınea debe estar tabulada excepto las lıneas que comiencen por @CO.Con respecto a los campos de cada lınea, deben seguir la siguiente estructura:“Etiqueta:Valor” donde“Etiqueta” es una cadena de dos letras que define el contenido y el formato de ‘‘Valor’’. Hay queindicar que las “Etiquetas” con letras minusculas estan reservadas para los usuarios finales.

La lista siguiente recoge los distintos codigos definidos y sus correspondientes etiquetas. Las etiquetasseguidas de “*” son obligatorias cuando el codigo esta presente, es decir, si usamos por ejemplo @VN

tenemos que especificar la etiqueta VN de manera obligatoria.

@HD La lınea de cabecera. La primera lınea debe estar presente.

VN* Formato de la version. Formato Aceptado./^[0-9]+\.[0-9]+$/.

SO Orden de clasificacion de las alineaciones. Valores aceptados: unkown(por defecto), unsorted,queryname y coordinate. Para la busqueda basada en coordinate, la clave de ordenacionprincipal es el campo RNAME, con el orden definido por el orden de las lıneas @SQ de lacabecera. La clave de ordenacion de menor importancia es el campo POS. Para campos quetengan igual RNAME y POS, el orden sera arbitrario. Todos los alineamientos que tengan ‘*’ enel campo RNAME seguiran a alineamientos con otro valor cualquiera, con otros que tengan ‘*’se ordenaran de manera arbitraria.

@SQ Diccionario de referencia de secuencias. El orden de las lıneas @SQ definiran el orden de alineacion.

SN* Referencia del nombre de la secuencia. Cada lınea @SQ debe tener una unica etiqueta SN. Elvalor de este campo es usado para la creacion de los campos RNAME y PNEXT de cada alineacion.

LN* Referencia a la longitud de la secuencia. Rango: [1, 229 − 1].

AS Identificador de ensamblaje del Genoma.

M5 Suma de control (MD5) de la secuencia en mayusculas, con los huecos y los espacios.

SP Especies.

UR URI de la secuencia. Este valor puede empezar con uno de los protocolos estandar como: ftp,http. . . Si no comienza por uno de los protocolos estandar, se supone que es una ruta de accesoal sistema de ficheros.

@RG Grupo de las lecturas. Multiples lıneas desordenadas de @RG estan permitidas.

ID* Identificador del grupo de lecturas. Cada lınea @RG debe tener un ID unico. El valor de ID seutiliza en las etiquetas RG de los registros de alineacion. Debe ser unico entre todos los gruposde lecturas en la seccion de encabezado. Los ID de grupos de lecturas pueden ser modificadoscuando se unen ficheros SAM con el fin de manejar mejor las colisiones.

108

Page 109: Alejandro tfm

CN Nombre de la secuencia central que produce la lectura.

DS Descripcion

DT Fecha de cuando se produjo la ejecucion.

FO Orden del flujo. El conjunto de bases de nucleotidos que corresponden a los nucleotidos usadospara cada flujo de cada lectura. Los flujos de varias bases estan codificados en formato IU-PAC, y los flujos que no estan formados por nucleotidos esta codificados por otros caracteres.Formato: /\*|[ACMGRSVTWYHKDBN]+/

KS El conjunto de bases de nucleotidos que corresponden a la secuencia “clave” de cada lectura.

LB Librerıa.

PG Programa usado para procesar el conjunto de lecturas.

PI Prediccion del tamano medio de las inserciones.

PL Plataforma/tecnologıa usada para producir las lecturas. Valores aceptados: CAPILLARY,LS454, ILLUMINA, SOLID, HELICOS, IONTORRENT y PACBIO.

PU Unidad usada en la plataforma. Identificador unico.

SM Muestra.

@PG Programa.

ID* Identificador del programa de registro. Cada lınea @PG debe tener un ID unico. El valor deID se usa en la etiqueta PG del alineamiento y en las etiquetas PP de otras lıneas @PG. Al igualque antes, los ID de las etiquetas PG pueden ser modificados cuando se unen ficheros SAMpara manejar las colisiones.

PN Nombre del programa.

CL Lınea de comandos.

PP Anterior @PG-ID. Debe coincidir con el ID de alguna etiqueta de encabezado @PG. Los registros@PG pueden encadenarse con etiquetas PP, con el ultimo registro de la cadena que no tieneetiqueta PP. Esta cadena define el orden de los programas que se han aplicado al alineamiento.Los valores PP se pueden modificar cuando se unen ficheros SAM para manejar colisiones delos IDs de los PGs. El primer registro PG en una cadena describe el programa mas recienteen usar el fichero SAM. El siguiente registro PG describe el siguiente en usar el fichero SAM.De esta forma podemos tener un registro de los programas que han intervenido en el registroSAM.

VN Version del programa.

@CO Comentario de texto de una lınea. Se permiten multiples lıneas @CO desordenadas.

A.1.3. Campos obligatorios de la seccion de Alineamientos

Cada lınea que representa a un alineamiento tiene 11 campos que son obligatorios. Estos campossiempre deben de aparecer en el mismo orden y siempre deben estar presente, aunque sus valores puedenser ‘0’ o ‘*’ (dependiendo del campo) si la informacion correspondiente no esta disponible. La siguientetabla nos resume los campos obligatorios del formato SAM

109

Page 110: Alejandro tfm

Tabla A.1: Campos obligatorios del formato SAMNo Campo Tipo Exp Regular / Rango Descripcion1 QNAME Cadena [!−?A− ∼]{1, 255} Nombre de la consulta2 FLAG Entero [0, 216 − 1] Bandera de opciones3 RNAME Cadena \ ∗ |[!− () +− <> − ∼][!− ∼]∗ Referencia del nombre de la

secuencia4 POS Entero [0, 229 − 1] Posicion de la primera base

mas a la izquierda5 MAPQ Entero [0, 28 − 1] Calidad del Mapeo6 CIGAR Cadena \ ∗ |([0− 9] + [MIDNSHPX =])+ Cadena CIGAR

7 RNEXT Cadena \ ∗ | = |[!− () +− <> − ∼][!− ∼]∗ Nombre de referencia del si-guiente fragmento

8 PNEXT Entero [0, 229 − 1] Posicion el siguiente fragmen-to

9 TLEN Entero [−229 + 1, 229 − 1] Longitud de la plantilla10 SEQ Cadena \ ∗ |[A− Za− z = .]+ Fragmento de secuencia11 QUAL Cadena [!− ∼]+ Calidad de la secuencia

1. QNAME: Nombre de la consulta. Las lecturas y/o los fragmentos que tienen identico QNAME seconsideran que provienen de la misma plantilla. Un QNAME con ‘*’ indica que la informacion noesta disponible.

2. FLAG: Bandera de opciones. Cada bit se explica en la siguiente tabla:

Tabla A.2: Bits de la etiqueta FLAGBit Descripcion0x1 La plantilla tiene multiples fragmentos de secuenciacion0x2 Cada fragmento se alinea correctamente de acuerdo al alineador0x4 Fragmento no mapeado/asignado0x8 Siguiente fragmento en la plantilla no esta mapeado0x10 SEQ esta inversamente complementada0x20 SEQ del siguiente fragmento en la plantilla ha sido invertida0x40 Primer fragmento en la plantilla

0x80 Ultimo fragmento en la plantilla0x100 Alineamiento secundario0x200 No ha pasado los controles de calidad0x400 Duplicado PCR o duplicado optico

El Bit 0x04 es el unico sitio de confianza para saber si el fragmento esta o no mapeado. Si0x4 esta a 1, no podemos suponer nada acerca de RNAME, POS, CIGAR, MAPQ, bits 0x2, 0x10 y0x100 y bit 0x20 de los siguiente fragmento en la plantilla.

Si 0x40 y 0x80 estan ambos a 1, el fragmento pertenece a una plantilla linear, pero no es niel primer fragmento ni el ultimo. Si ambos estan a 0, el ındice del fragmento en la plantilla esdesconocido. Esto puede ser debido a una plantilla no lineal o que el ındice se ha perdido enel procesamiento de los datos.

El bit 0x100 indica que el alineamiento no debe ser usado en ciertos analisis. Para ello ciertasherramientas hacen uso de este bit para no procesar dichos alineamientos.

Si el bit 0x1 esta a 0, no podemos suponer nada acerca de 0x2, 0x8, 0x20, 0x40 y 0x80.

3. RNAME: Nombre de la secuencia de referencia de la alineacion. Si @SQ esta presente en la cabecera,RNAME (si no ‘*’) debe estar presente en una de las etiquetas SQ-SN. Si RNAME es ‘*’, no podemoshacer suposiciones acerca de POS y CIGAR.

110

Page 111: Alejandro tfm

4. POS: Posicion de la primera base mas a la izquierda de la asignacion. La primera base en unasecuencia de referencia tiene la coordenada 1. POS vale 0 en el caso de tener una lectura no asignadasin coordenada. Si POS es 0, no podemos hacer suposiciones acerca de RNAME y CIGAR.

5. MAPQ: Calidad del Mapeo. Es igual a −10 log10 Pr, redondeado al entero mas proximo. Un valor de255 indica que la calidad no esta disponible.

6. CIGAR: Cadena CIGAR. Las operaciones CIGAR se muestran en la siguiente tabla (si no esta disponibleusamos ‘*’):

Tabla A.3: Operaciones CIGAROp BAM DescripcionM 0 Coincidencia en la alineacion (puede ser una coincidencia o no)I 1 Insercion en la referenciaD 2 Borrado de la referenciaN 3 Se omite la region de la referenciaS 4 Recorte suave (recorta las secuencias presentes en la SEQ)H 5 Recorte duro (recorta las secuencias no presentes en la SEQ)P 6 Relleno= 7 Coincidencia en la secuenciaX 8 Desajuste en la secuencia

H solo puede estar presente en la primera/ultima operacion.

S solo puede tener operaciones H entre ellos y el final de la cadena CIGAR.

Para alineamientos entre mRNA y genoma, una operacion N representa un intron. Para otrotipo de alineamientos, la interpretacion de N no esta definida.

La suma de las longitudes de las operaciones M/I/S/=/X debe ser igual a la longitud de SEQ.

7. RNEXT: Referencia al nombre del siguiente fragmento de secuencia en la plantilla. Para el caso delultimo fragmento, su siguiente serıa el primer fragmento de la secuencia. Si esta incluida la etiqueta@SQ, RNEXT debe estar presente en alguna de las etiquetas SQ-SN (si no debe aparecer ‘*’ o ‘=’).Este campo viene denotado por ‘*’ cuando la informacion no esta disponible, y con ‘=’ cuandoRNEXT es identico a RNAME. Si este campo no es ‘=’ y el siguiente fragmento en la plantilla tieneuna asignacion primaria, este campo es identico a RNAME del siguiente fragmento. Si el siguientefragmento tiene multiples asignaciones primarias, no podemos asumir nada acerca de RNEXT yPNEXT. Si RNEXT es ‘*’, no podemos asumir nada acerca de PNEXT y el bit 0x20.

8. PNEXT: Posicion del siguiente fragmento dentro de la plantilla. Cuando no hay informacion nodisponible aparecera un 0. Este campo es igual al campo POS del siguiente fragmento. Si PNEXT es0, no podemos hacer suposiciones acerca de RNEXT y el bit 0x20.

9. TLEN: Longitud de la plantilla. Si todos los fragmentos se asignan a la misma referencia, TLEN esigual al numero de bases desde la base mas a la izquierda hasta la mas a la derecha.

10. SEQ: Fragmento de secuencia. Este campo puede valer ‘*’ cuando la secuencia no se ha almacenado.Si tenemos contenido diferente a ‘*’, entonces la longitud de la cadena debe ser igual a la suma delas longitudes de las operaciones M/I/S/=/X en CIGAR. Un signo ‘=’ indica que la base es identicaa la base de referencia.

11. QUAL: Hace referencia a la calidad que tiene cada una de las componentes de la secuencia. Paramas informacion ver la seccion que habla del formato FASTQ1.

1Vease la seccion A.5 en la pagina 117 para mas informacion acerca del formato FASTQ

111

Page 112: Alejandro tfm

A.1.4. Campos opcionales de la seccion de alineamientos

Todos los campos opcionales de TopHat siguen el siguiente ETIQUETA:TIPO:VALOR donde ETIQUETA esuna cadena de dos caracteres de la forma [A-Za-z][A-Za-z0-9]. Cada ETIQUETA solo puede aparecer unaunica vez dentro de una lınea de alineamiento. Una ETIQUETA que este en letras minusculas esta reservadapara usuarios finales. En cada campo opcional, TIPO es una letra sola (sensible a mayusculas y minusculas)la cual define el formato del VALOR.

Tabla A.4: Campos opcionales del formato SAMTipo Valor aceptado DescripcionA [!− ∼] Caracter imprimiblei [−+]?[0− 9]+ Entero de 32 bitf [−+]?[0− 9] ∗ \.?[0− 9] + ([eE][−+]?[0− 9]+)? Numero en punto flotanteZ [ !− ∼]+ Cadena imprimible, incluyendo

espaciosH [0− 9A− F ]+ Conjunto de bits en formato he-

xadecimalB [cCsSiIf ](, [−+]?[0− 9] ∗ \?[0− 9] + ([eE][−+]?[0− 9]+)?)+ Entero o tabla numerica

Para un entero o una tabla numerica (tipo ‘B’), la primera letra indica el tipo de los numeros enla siguiente tabla de numeros separados por comas. La letra puede ser una de las siguientes: ‘cCsSiIf’,correspondiendo a int8_t (entero de 8 bits con signo), uint8_t (entero de 8 bits sin signo), int16_t,int16_t, int32_t, uint32_t y float, respectivamente. Durante el proceso de importacion/exportacionel tipo del elemento puede ser cambiado si el nuevo tipo tambien es compatible con la tabla.

Las etiquetas predefinidas se muestran en la siguiente tabla. Usted puede anadir libremente las eti-quetas que necesite, ademas si cree que dicha etiqueta puede ser de interes comun puede enviarla [email protected] para anadirla en la especificacion. Tenga en cuenta que lasetiquetas que comienzan con ‘X’, ‘Y’ y ‘Z’ o las etiquetas con letras minusculas en cualquier posicionestan reservadas para uso local y no se definen formalmente para futuras versiones de la especificaciondel formato SAM.

112

Page 113: Alejandro tfm

Tabla A.5: Etiquetas predefinidas del formato SAM

Etiqueta Tipo DescripcionX? ? Campo reservado para el usuario final (junto con Y? y Z? )AM i Calidad de la asignacion mas pequena independiente de la plantilla.AS i Puntuacion de la alineacion generada por el alineador.BQ Z Desplazamiento de las calidades de las bases del alineamiento (BAQ), de la misma

longitud que la lectura. En la base i-esima, BAQi = Qi − (BQi − 64) donde Qi es lacalidad de la base i.

CC Z Nombre de referencia del siguiente acierto; “=” si es el mismo cromosoma.CM i Editar distancia entre la secuencia de colores y la referencia de color (Vease tambien

NM).CP i Coordenada mas a la izquierda del siguiente acierto.CQ Z Calidad de color de la lectura en la cadena original de la lectura. Misma codificacion

que QUAL; misma longitud que CS.CS Z Secuencia de color de la lectura en la cadena original de la lectura.E2 Z La segunda base mas probable para recoger. Misma codificacion y longitud que QUAL.FI i El ındice del fragmento en la plantilla.FS Z Sufijo del fragmento.FZ H La intensidad de flujo de senal en la cadena original de la lectura, se almacena como

(uint16 t) round(value * 100.0).LB Z Librerıa. Valor que tiene que ser consistente con la etiqueta RG-LB si @RG esta presente.H0 i No de aciertos perfectos.H1 i No de aciertos con 1 diferencia (Vease tambien NM)H2 i No de aciertos con 2 diferencias (Vease tambien NM)HI i Posicion (ındice) de la consulta (si hay acierto).IH i No de alineaciones almacenadas en SAM que contienen la consulta en el registro

actual.MD Z Cadena que representa las posiciones de los desajustes.MQ i Calidad del alineamiento del siguiente fragmento o companero.NH i No de alineamientos reportados que contienen la consulta en el registro actual.NM i Distancia de la referencia, incluyendo las bases ambiguas pero excluyendo los “recor-

tes”.OQ Z Calidad base original. Misma codificacion que QUAL.OP i Posicion de mapeo original.OC Z Cadena CIGAR original.PG Z Programa. Debe coincidir con la etiqueta PG-ID si @PG esta presente.PQ i Probabilidad Phred de la plantilla.PU Z Unidad de la plataforma. El valor debe ser consistente con la cabecera RG-PU si @RG

esta presente.Q2 Z Phred quality del companero/siguiente fragmento en la plantilla. Misma codificacion

que QUAL.R2 Z Secuencia del companero/siguiente fragmento en la plantilla.RG Z Grupo de la lectura. El valor debe ser consistente con la cabecera RG-ID si @RG esta pre-

sente.SM i Calidad de la asignacion independiente de la plantilla.TC i No de fragmentos en la plantilla.UQ i Probabilidad Phred del fragmento, condicionada a que la asignacion sea correcta.

113

Page 114: Alejandro tfm

A.2. BAM

BAM es la version binaria comprimida del formato SAM2. Es una representacion compacta e indexablede las secuencias de alineamientos. Muchas herramientas de NGS trabajan con los formatos SAM/BAMpor lo que es un formato importante.

El formato BAM al ser un formato binario, no es posible visualizarlo con un editor de texto. Parapoder ver el contenido debemos de convertir el fichero BAM a un fichero SAM, que sı es posible verlo conun editor de texto plano. El comando para convertir un fichero BAM a un fichero SAM es el siguiente3:

samtools view -S -b -o fichero.bam fichero.sam

Para mas informacion puede accerder a la Web http://genome.ucsc.edu/goldenPath/help/bam.htmlen la cual detallan el formato BAM con mas detalle.

A.3. BED

A.3.1. Introduccion

El formato BED proporciona una manera flexible para definir las lıneas de datos que seran mostradasal usuario en un fichero con extension “.bed”. Cada lınea BED tiene tres campos obligatorios y nueveque son adicionales/opcionales. El numero de campos tiene que ser consistente en todo el conjunto delıneas, es decir, no podemos tener lıneas con diferentes numero de campos; todas tienen que tener elmismo numero de campos y los campos deben de ser los mismos. El orden de los campos opcionales esvinculante: si hacemos uso de un campo, por ejemplo numerado en la siguiente lista con el 7, los camposdel 4 al 7 deben de estar presentes obligatoriamente.

A.3.2. Campos obligatorios en el formato BED

Los tres primeros campos en el formato BED son obligatorios. Su descripcion es la siguiente:

1. Cromosoma - El nombre del cromosoma (por ejemplo Chr1, Chr3, ChrM. . . ) o esqueleto (porejemplo scaffold10671).

2. Comienzo - El punto donde comienza la lectura dentro del cromosoma o esqueleto. La primerabase del cromosoma esta numerada con el 0.

3. Fin - El punto donde finaliza la lectura dentro del cromosoma o esqueleto.

A.3.3. Campos adicionales u opcionales en el formato BED

Los nueve campos adicionales u opcionales deben ir a continuacion de los obligatorios. Y si hacemosuso de uno de ellos los anteriores en la lista tambien deben de ir obligatoriamente. Veamos cuales son loscampos en la siguiente lista:

4. nombre - Define el nombre de la lınea BED.

5. puntuacion - Una puntuacion entre 0 y 100. Marca el nivel de gris con el que se mostrara (cuantomas alto sea su valor mas oscuro sera).

6. hebra - Define la orientacion de la hebra: ‘+’ o ‘-’.

7. Comienzo “Grueso” - Define el punto donde se comienza a “dibular” la lectura (por ejemplo elcodon de partida en un gen).

2Vease el formato SAM en el apendice A.1 en la pagina 1073Para mas informacion acerca de SAMtools vea el capıtulo 4 en la pagina 69

114

Page 115: Alejandro tfm

8. Final “Grueso” - Define el punto donde se termina de “dibujar” la lectura (por ejemplo, el codonde parada en un gen).

9. RGB - Determina un valor RGB (0-255,0-255,0-255). Si se ha establecido la opcion itemRgb=Onentonces el valor RGB determinara el color que tendra la lectura cuando se visualice.

10. Numero de bloques - Numero de bloques (exones) que hay en la lınea BED.

11. Tamano de bloques - Lista de tamanos de bloques separados por comas. El numero de elementosde esta lista debe corresponder con el Numero de bloques.

12. Comienzo de bloque - lista de comienzos de bloques separados por comas. El numero de ele-mentos de esta lista debe corresponder con el Numero de bloques.

A.3.4. Ejemplo de fichero BED

Veamos un ejemplo de como serıa un fichero BED con los campos obligatorios ası como algunoscampos opcionales/adicionales.

track name=junctions description="TopHat junctions"

Chr2 89280 89459 JUNC00000001 1 - 89280 89459 255,0,0 2 28,23 0,156

Chr2 133079 133351 JUNC00000002 4 - 133079 133351 255,0,0 2 79,94 0,178

Chr2 133295 133530 JUNC00000003 2 - 133295 133530 255,0,0 2 65,76 0,159

A.4. FASTA

El formato FASTA es un formato de texto plano utilizado para represental especialmente acidosnucleicos. En dicho formato cada par de bases o aminoacidos se representan con un codigo de una unicaletra. El formato tambien permite la inclusion de comentarios ası como de ponerle nombre a la secuencia.

Una lınea de formato FASTA comienza con una lınea de cabecera seguida de una serie de lıneas dedatos de la secuencia. La lınea de cabecera se distingue de los datos porque comienza con el caracter‘¿’. La palabra que sigue al caracter ‘¿’ es el identificador de la secuencia y el resto de la lınea es ladescripcion. Es recomendable que las lıneas no superen los 80 caracteres. Por otro lado, tenemos queindicar que la secuencia termina cuando aparece una lınea que comienza con ‘¿’ (indicando la secuenciasiguiente). Un ejemplo de una secuencia en formato FASTA serıa:

>gi|129295|sp|P01013|OVAX_CHICK GENE X PROTEIN (OVALBUMIN-RELATED)

QIKDLLVSSSTDLDTTLVLVNAIYFKGMWKTAFNAEDTREMPFHVTKQESKPVQMMCMNNSFNVATLPAE

KMKILELPFASGDLSMLVLLPDEVSDLERIEKTINFEKLTEWTNPNTMEKRRVKVYLPQMKIEEKYNLTS

VLMALGMTDLFIPSANLTGISSAESLKISQAVHGAFMELSEDGIEMAGSTGVIEDIKHSPESEQFRADHP

FLFLIKHNPTNTIVYFGRYWSP

A.4.1. Lınea de cabecera

La lınea de cabecera (que comienza por ‘¿’) proporciona un nombre y/o identificador unico a cadasecuencia, y en ciertas ocasiones informacion adicional. Muchas bases de datos de secuencias usan unaserie de cabeceras estandarizadas, para de esta forma poder extraer informacion automatica de cadasecuencia.

Veamos un fichero que contiene varias secuencias con sus respectivos identificadores:

>IDENT_1

MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG

LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK

IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL

115

Page 116: Alejandro tfm

MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL

>IDENT_2

SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI

ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH

A.4.2. Representacion de la secuencia

Tras la lınea de cabecera prosiguen las lineas de secuencia (de una longitud, recomendada, no mayorde 80). Las secuencias pueden corresponder a secuencias de proteınas o de acidos nucleicos. Ademaspueden contener huecos (gaps) o caracteres de alineamiento. No se aceptan dıgitos numericos y entre lasletras aceptadas se ven en las siguientes tablas.

Los codigos de acidos nucleicos soportados son:

Tabla A.6: Codigos de acidos nucleicos en el formato FASTACodigo Significado

A AdenosinaC CitosinaG GuaninaT TiminaU UraciloR G A (puRina)Y T C (pirimidina/pYrimidine)K G T (cetona/Ketone)M A C (grupo aMino)S G C (interaccion fuerte/Strong interaction)W A T (interaccion debil/Weak interaction)B G T C (no A) (B viene tras la A)D G A T (no C) (D viene tras la C)H A C T (no G) (H viene tras la G)V G C A (no T, no U) (V viene tras la U)N A G C T (cualquiera/aNy)X mascara- hueco (gap) de longitud indeterminada

Los codigos de aminoacidos soportados son:

116

Page 117: Alejandro tfm

Tabla A.7: Codigos de aminoacidos en el formato FASTACodigo Significado

A Alanina

B Acido aspartico o AsparaginaC Cisteına

D Acido aspartico

E Acido glutamicoF FenilalaninaG GlicinaH HistidinaI IsoleucinaK LisinaL LeucinaM MetioninaN AsparaginaO PirrolisinaP ProlinaQ GlutaminaR ArgininaS SerinaT TreoninaU SelenocisteınaV ValinaW TriptofanoY Tirosina

Z Acido glutamico o GlutaminaX cualquiera* parada de traduccion- hueco (gap) de longitud indeterminada

A.5. FASTQ

El formato FASTQ es un formato de texto plano para almacenar secuencias (principalmente) denucleotidos ademas de los valores de calidad asociados a cada base. Tanto la base como la calidad estancodificados con un unico caracter ASCII.

A.5.1. Formato

Un fichero FASTQ usa generalmente 4 lıneas por cada secuencia.

1. La primera lınea comienza con una ‘@’ y le sigue un identificador de secuencia y opcionalmente unadescripcion (como en el caso del formato FASTA).

2. La lınea 2 contiene todo el contenido de la secuecia (las bases nucleotidas).

3. La lınea 3 comienza con el caracter ‘+’, y opcionalmente el identificador de la secuencia queencontramos en la lınea 1.

4. La lınea 3 contiene las calidades asociadas a la secuencia de la lınea 2.

Un ejemplo de fichero FASTQ es el siguiente:

@SEQ_ID

GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT

+

!’’*((((***+))%%%++)(%%%%).1***-+*’’))**55CCF>>>>>>CCCCCCC65

117

Page 118: Alejandro tfm

Los valores de calidad van codificados segun la Phred Quality4.

A.6. GFF

El formato GFF (del ingles General Feature Format) es un formato de fichero en el cual cada lınea cons-ta de nueve campos obligatorios separados por tabulaciones. Si estos campos se separan por espacios enblanco, en vez de tabuladores, pueden aparecer errores a la hora de mostrar la informacion. Para mas in-formacion acerca del formato GFF puede acceder a la web oficial http://www.sanger.ac.uk/resources/software/gff.

Veamos una breve descripcion de los campos del formato GFF:

seqname El nombre de la secuencia.

source El programa que genero dicha informacion.

feature El nombre del tipo de caracterıstica. Algunos ejemplos de caracterısticas estandar son“CDS”, “start codon”, “stop codon” y “exon”.

start Primera posicion en la cadena. La primera base se numera como 1.

stop Ultima posicion en la cadena.

score Puntuacion entre 0 y 1000. Hace referencia a la tonalidad de gris que se usara para mostrarla informacion.

strand Orientacion de la hebra: “+” o “-”.

frame Si la caracterıstica es un “exon”, frame sera un numero entre 0− 2 que representa el marcode lectura de la primera base. En caso contrario el valor debera ser “.”.

group Todas las lıneas de un mismo grupo son enlazadas juntas en un mismo elemento.

Aquı vemos un ejemplo de un fragmento de fichero GFF.

track name=regulatory description="TeleGene(tm) Regulatory Regions"

chr22 TeleGene enhancer 1000000 1001000 500 + . touch1

chr22 TeleGene promoter 1010000 1010100 900 + . touch1

chr22 TeleGene promoter 1020000 1020000 800 - . touch2

A.7. GTF

A.7.1. Introduccion

GTF son las siglas de Formato de Transferencia de Genes (del ingles Gene Transfer Format). Tomaprestadas caracterısticas de GFF5, pero anade una estructura adicional que garantiza una definicion porseparado y un formato de nombre.

La estructura es como un fichero GFF, por lo que los campos son:

<seqname> <source> <feature> <start> <end> <score> <strand> <frame> [attributes] [comments]

Aquı vemos un ejemplo simple con 3 exones traducidos. El orden de las filas no es relevante.

381 Twinscan CDS 380 401 . + 0 gene_id "001"; transcript_id "001.1";

381 Twinscan CDS 501 650 . + 2 gene_id "001"; transcript_id "001.1";

381 Twinscan CDS 700 707 . + 2 gene_id "001"; transcript_id "001.1";

381 Twinscan start_codon 380 382 . + 0 gene_id "001"; transcript_id "001.1";

381 Twinscan stop_codon 708 710 . + 0 gene_id "001"; transcript_id "001.1";

4Para mas informacion acceda a la web http://www.phrap.com/phred/5Vease el apendice A.6 para mas informacion acerca del formato GFF

118

Page 119: Alejandro tfm

Los espacios en blanco en el ejemplo es para facilitar la lectura. En GTF, los campos deben estarseparados por tabuladores no por espacios en blanco.

A.7.2. Campos del formato GTF

Veamos una definicion mas detallada de cada uno de los campos de un registro dentro de un ficheroGTF:

<seqname> El nombre de la secuencia. Por lo general, este es el Id del cromosoma o el Id delcontig.

<source> Source debe ser una columna con una etiqueta unica que indique de donde vienenlas anotaciones (por lo general de un programa de prediccion o una base de datospublica).

<feature> Se requieren alguna de las siguientes caracterısticas6: “CDS”, “start codon” o “stop codon”.Las opciones “5UTR”, “3UTR”, “inter”, “inter CNS”, “intron CNS” y “exon” sonopcionales. Todas las demas seran ignoradas.

<start><end> Entero que representa las coordenadas de inicio y fin relativas a la secuencia nom-brada por <seqname>. <start> debe ser menor o igual que <end>. Los valores de<start> y <end> que se extiendan fuera de la secuencia de referencia son tecnica-mente acepables, pero se desalientan.

<score> El campo puntuacion indica el grado de confianza en la existencia de la caracterısticaası como en las coordenadas. El valor de este campo no tiene escala global peropuede tener importancia relativa cuando el campo <source> indica la prediccion delprograma usado para crear dicha anotacion. Puede ser un numero en punto flotanteo entero, y no es necesario, puede ser reemplazado por un punto.

<strand> Contenido de la hebra.

<frame> Un 0 indica que la caracterıstica comienza con un codon en la primera base delsentido 5′. Un 1 significa que hay una base extra (la tercera base de un codon) antesdel primer codon entero y un 2 significa que hay dos bases extras (las bases segunda ytercera del codon) antes del primer codon. Tenga en cuenta que para la hebra inversa,la base mas cerca de la 5′ es la coordenada <end>.

atributes Los nueve campos tienen los mismos dos atributos obligatorios al final del registro:

gene id value; Identificador unico que identifica al gen. Si esta vacıo, no hay genasociado al regisro.

transcript id value; Identificador unico que identifica al transcrito. Si esta vacıo,no hay transcrito asociado al registro.

Estos atributos estan disenados para el manejo de multiples transcritos de la mismaregion genomica. Cualquier otro atributo o comentario deberan aparecer despues deestos dos y seran ignorados. Los atributos deben terminar en punto y coma, queademas deben separarse entre sı (los atributos) mediante un espacio en blanco. Losatributos de texto deberan ir entre comillas dobles.

comments Los comentarios comienzan con una almohadilla (‘#’) y continuan hasta el final dela lınea. Pueden aparecer en cualquier parte del archivo, incluyendo el final de unregistro.

6Para mas informacion acerca de estas caracterısticas visite la pagina oficial de GTFhttp://mblab.wustl.edu/GTF22.html

119

Page 120: Alejandro tfm

A.7.3. Ejemplos del formato GTF

Veamos un ejemplo de un gen (en el sentido inverso de la hebra) incluyendo regiones UTR.

140 Twinscan inter 5141 8522 . - . gene_id ""; transcript_id "";

140 Twinscan inter_CNS 8523 9711 . - . gene_id ""; transcript_id "";

140 Twinscan inter 9712 13182 . - . gene_id ""; transcript_id "";

140 Twinscan 3UTR 65149 65487 . - . gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan 3UTR 66823 66992 . - . gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan stop_codon 66993 66995 . - 0 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan CDS 66996 66999 . - 1 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan intron_CNS 70103 70151 . - . gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan CDS 70207 70294 . - 2 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan CDS 71696 71807 . - 0 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan start_codon 71805 71806 . - 0 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan start_codon 73222 73222 . - 2 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan CDS 73222 73222 . - 0 gene_id "140.000"; transcript_id "140.000.1";

140 Twinscan 5UTR 73223 73504 . - . gene_id "140.000"; transcript_id "140.000.1";

He aquı un ejemplo en el que se utiliza la caracterıstica “exon”.

381 Twinscan exon 150 200 . + . gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan exon 300 401 . + . gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan CDS 380 401 . + 0 gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan exon 501 650 . + . gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan CDS 501 650 . + 2 gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan exon 700 800 . + . gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan CDS 700 707 . + 2 gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan exon 900 1000 . + . gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan start_codon 380 382 . + 0 gene_id "381.000"; transcript_id "381.000.1";

381 Twinscan stop_codon 708 710 . + 0 gene_id "381.000"; transcript_id "381.000.1";

120

Page 121: Alejandro tfm

Bibliografıa

[1] Simon Anders and Wolfgang Huber. Differential expression analysis for sequence count data. Ge-nome Biology, 11(10):R106, 2010.

[2] James Bullard, Elizabeth Purdom, Kasper Hansen, and Sandrine Dudoit. Evaluation of statisticalmethods for normalization and differential expression in mrna-seq experiments. BMC Bioinforma-tics, 11(1):94, 2010.

[3] M. Burrows and D. J. Wheeler. A block-sorting lossless data compression algorithm. TechnicalReport 124, 1994.

[4] Moises Burset and Roderic Guigo. Evaluation of gene structure prediction programs. Genomics,34(3):353 – 367, 1996.

[5] R. P. Dilworth. A decomposition theorem for partially ordered sets. 1950.

[6] Nicholas Eriksson, Lior Pachter, Yumi Mitsuya, Soo-Yon Rhee, Chunlin Wang, Baback Gharizadeh,Mostafa Ronaghi, Robert W. Shafer, and Niko Beerenwinkel. Viral population estimation usingpyrosequencing. PLoS Comput Biol, 4(5):e1000074, 05 2008.

[7] P. Ferragina and G. Manzini. Opportunistic data structures with applications. In Proceedings of the41st Annual Symposium on Foundations of Computer Science, pages 390–, Washington, DC, USA,2000. IEEE Computer Society.

[8] Brian J. Haas, Arthur L. Delcher, Stephen M. Mount, Jennifer R. Wortman, Roger K. Smith Jr,Linda I. Hannick, Rama Maiti, Catherine M. Ronning, Douglas B. Rusch, Christopher D. Town,Steven L. Salzberg, and Owen White. Improving the arabidopsis genome annotation using maximaltranscript alignment assemblies. Nucleic Acids Research, 31(19):5654–5666, 2003.

[9] Kasper D. Hansen, Steven E. Brenner, and Sandrine Dudoit. Biases in illumina transcriptomesequencing caused by random hexamer priming. Nucleic Acids Research, 38(12):e131, 2010.

[10] Hui Jiang and Wing Hung Wong. Statistical inferences for isoform expression in rna-seq. Bioinfor-matics, 25(8):1026–1032, 2009.

[11] Juha Karkkainen. Fast bwt in small space by blockwise suffix sorting. Theor. Comput. Sci., 387:249–257, November 2007.

[12] Ben Langmead, Kasper Hansen, and Jeffrey Leek. Cloud-scale rna-sequencing differential expressionanalysis with myrna. Genome Biology, 11(8):R83, 2010.

[13] Ben Langmead, Cole Trapnell, Mihai Pop, and Steven L Salzberg. Ultrafast and memory-efficientalignment of short DNA sequences to the human genome. Genome biology, 10(3):R25, January 2009.

[14] Albert Lehninger, David L. Nelson, and Michael M. Cox. Lehninger Principles of Biochemistry. W.H. Freeman, fifth edition edition, June 2008.

[15] Heng Li and Richard Durbin. Fast and accurate short read alignment with burrows’

wheeler trans-form. Bioinformatics, 25(14):1754–1760, 2009.

121

Page 122: Alejandro tfm

[16] John C. Marioni, Christopher E. Mason, Shrikant M. Mane, Matthew Stephens, and Yoav Gilad.Rna-seq: An assessment of technical reproducibility and comparison with gene expression arrays.Genome Research, 18(9):1509–1517, 2008.

[17] Ali Mortazavi, Brian A Williams, Kenneth McCue, Lorian Schaeffer, and Barbara Wold. Mappingand quantifying mammalian transcriptomes by rna-seq. Nat Meth, 5(7):621–628, 07 2008.

[18] Adam Roberts, Cole Trapnell, Julie Donaghey, John Rinn, and Lior Pachter. Improving rna-seqexpression estimates by correcting for fragment bias. Genome Biology, 12(3):R22, 2011.

[19] Mark D. Robinson, Davis J. McCarthy, and Gordon K. Smyth. edger: a bioconductor package fordifferential expression analysis of digital gene expression data. Bioinformatics, 26(1):139–140, 2010.

[20] Cole Trapnell, Lior Pachter, and Steven L Salzberg. TopHat: discovering splice junctions withRNA-Seq. Bioinformatics (Oxford, England), 25(9):1105–11, May 2009.

[21] Cole Trapnell, Brian A Williams, Geo Pertea, Ali Mortazavi, Gordon Kwan, Marijke J van Baren,Steven L Salzberg, Barbara J Wold, and Lior Pachter. Transcript assembly and quantificationby rna-seq reveals unannotated transcripts and isoform switching during cell differentiation. NatBiotech, 28(5):511–515, 05 2010.

[22] J. Craig Venter, Mark D. Adams, Eugene W. Myers, et al. The sequence of the human genome.Science, 291(5507):1304–1351, 2001.

[23] Eric T. Wang, Rickard Sandberg, Shujun Luo, Irina Khrebtukova, Lu Zhang, Christine Mayr, Step-hen F. Kingsmore, Gary P. Schroth, and Christopher B. Burge. Alternative isoform regulation inhuman tissue transcriptomes. Nature, 456(7221):470–476, 11 2008.

122