SlideShare a Scribd company logo
1 of 122
Download to read offline
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
nueva generaci´on
Autor:
Alejandro Alem´an Ramos
Tutor:
D. Francisco Romero Campero
Sevilla, Viernes 1 de Julio de 2011
2
El proyecto que aqu´ı presentamos hace una revisi´on exhaustiva de una serie de
herramientas que han surgido en el contexto de la secuenciaci´on de nueva generaci´on.
Para ello se ha dividido dicho proyecto en dos partes claramente diferenciadas.
La primera parte trata sobre una revisi´on del software usado. Dentro del software usado
podemos destacar herramientas para indexar genomas, b´usqueda de alineamientos en
genomas, herramientas para realizar an´alisis transcript´omicos cualitativos y
herramientas para realizar an´alisis transcript´omicos cuantitativos.
La segunda parte del proyecto se basa en la realizaci´on de una serie de experimentos
donde se muestra la utilizaci´on de dichas aplicaciones anteriormente mencionadas en la
parte primera, as´ı como de los resultados devueltos por dichas aplicaciones
3
4
´Indice general
I Manuales de usuario 13
1. Bowtie 15
1.1. ¿Qu´e es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2. ¿Qu´e no es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3. Obtener Bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1. Compilando desde los fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4. El alineador bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.1. El modo de alineaci´on -n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4.2. El modo de alineaci´on -v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.3. Estratos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.4. Modos de representaci´on de informes . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4.5. Alineamiento de Extremos emparejados . . . . . . . . . . . . . . . . . . . . . . . . 21
1.4.6. Alineacion por Espacio de Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.7. Optimizaci´on del rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.8. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.9. Salida por defecto de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.4.10. Salida en formato SAM de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.5. El indexador bowtie-build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.5.1. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6. El inspector de ´ındices bowtie-inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.6.1. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2. TopHat 37
2.1. ¿Qu´e es TopHat? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.2. ¿Qu´e tipo de lecturas podemos usar con TopHat? . . . . . . . . . . . . . . . . . . . . . . . 37
2.3. ¿C´omo encuentra TopHat las uniones? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5. Obtener e instalar TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.6. Usando el mapeador de uniones TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6.3. Opciones Avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.6.4. Suministrando nuestras propias uniones . . . . . . . . . . . . . . . . . . . . . . . . 42
2.6.5. Suministrando nuestas propias inserciones y deleciones . . . . . . . . . . . . . . . . 43
2.6.6. Proporcionando a TopHat un fichero de anotaciones . . . . . . . . . . . . . . . . . 43
2.7. Salida de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3. Cufflinks 45
3.1. ¿Qu´e es Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.1. ¿C´omo ensambla los transcritos Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . 45
3.1.2. ¿C´omo calcula Cufflinks la abundancia de transcritos? . . . . . . . . . . . . . . . . 46
3.1.3. ¿C´omo calcula Cufflinks la distribuci´on de la longitud de los fragmentos? . . . . . 46
3.1.4. ¿C´omo Cufflinks identifica y corrige el sesgo de las secuencias? . . . . . . . . . . . 47
3.1.5. ¿C´omo gestiona Cufflinks las lecturas con m´ultiples alineaciones? . . . . . . . . . . 47
5
3.1.6. ¿C´omo funciona la anotaci´on de referencia basada en transcritos (RABT)? . . . . 47
3.2. ¿Qu´e es Cuffdiff? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1. ¿C´omo prueba Cuffdiff la expresi´on diferencial y la regulaci´on? . . . . . . . . . . . 48
3.2.2. ¿C´omo funciona la normalizaci´on del cuartil superior? . . . . . . . . . . . . . . . . 50
3.2.3. ¿C´omo trata Cuffdiff las r´eplicas biol´ogicas? . . . . . . . . . . . . . . . . . . . . . . 50
3.3. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4. Ejecutando Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.2. Opciones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.3. Opciones avanzadas de estimaci´on de la abundancia . . . . . . . . . . . . . . . . . 53
3.4.4. Opciones avanzadas de ensamblaje . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.4.5. Opciones avanzadas de anotaciones de referencia basada en Transcritos (RABT) . 54
3.4.6. Opciones avanzadas del programa de comportamiento . . . . . . . . . . . . . . . . 55
3.4.7. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.4.8. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5. Ejecutando Cuffcompare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.5.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.5.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6. Uniendo ensamblajes con Cuffmerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.6.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7. Ejecutando Cuffdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7.3. Opciones avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7.4. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.7.5. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.8. Formato de seguimiento FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.9. Biblioteca de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4. SAMtools 69
4.1. ¿Qu´e es SAMtools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2. Comandos y opciones de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
II Casos pr´acticos 75
5. Arabidopsis Thaliana 77
5.1. Genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2. Indexaci´on del Genoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3. Experimento SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.3.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.3.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.3.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4. Experimento SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.4.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.4.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.4.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6
5.5. Experimento SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.5.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.5.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.5.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Ap´endices 104
A. Formatos de ficheros 107
A.1. SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.1.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.1.2. Cabecera del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
A.1.3. Campos obligatorios de la secci´on de Alineamientos . . . . . . . . . . . . . . . . . 109
A.1.4. Campos opcionales de la secci´on de alineamientos . . . . . . . . . . . . . . . . . . . 112
A.2. BAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A.3. BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A.3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
A.3.2. Campos obligatorios en el formato BED . . . . . . . . . . . . . . . . . . . . . . . . 114
A.3.3. Campos adicionales u opcionales en el formato BED . . . . . . . . . . . . . . . . . 114
A.3.4. Ejemplo de fichero BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.4. FASTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.4.1. L´ınea de cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.4.2. Representaci´on de la secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
A.5. FASTQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.5.1. Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A.6. GFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.7. GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.7.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A.7.2. Campos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A.7.3. Ejemplos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Bibliograf´ıa 121
7
8
´Indice de Figuras
5.1. Detalle de la Arabidopsis Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2. Ficheros del genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3. Detalle del Cromosoma 1 de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.4. Ficheros del Genoma indexado de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . 79
5.5. Grafico del tama˜no de las lecturas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . 80
5.6. Detalle de las lecturas cortas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . 81
5.7. Ficheros creados por Tophat en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 83
5.8. Detalle del fichero junctions.bed del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . 83
5.9. Porcentajes de alineamientos en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 84
5.10. Fichero accepted hits.sam del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.11. Fichero genes.fpkm tracking del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 86
5.12. Tiempos ejecuci´on exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.13. Expresi´on diferencial en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.14. Detalle de las lecturas cortas del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . 89
5.15. Ficheros creados por Tophat en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 90
5.16. Porcentajes de alineamientos en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 91
5.17. Fichero accepted hits.sam del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.18. Fichero genes.fpkm tracking del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 94
5.19. Tiempos ejecuci´on exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.20. Expresi´on diferencial en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.21. Detalle de las lecturas cortas del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . 97
5.22. Ficheros creados por Tophat en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 98
5.23. Detalle del fichero junctions.bed del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . 99
5.24. Porcentajes de alineamientos en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 99
5.25. Fichero accepted hits.sam del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.26. Fichero genes.fpkm tracking del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 101
5.27. Tiempos ejecuci´on exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.28. Expresi´on diferencial en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . 103
A.1. Ejemmplo de lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A.2. Ejemplo de fichero SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
9
10
´Indice de Tablas
3.1. Descripci´on del fichero transcripts.gtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.2. Descripci´on de un registro GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3. Descripci´on del fichero .tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.4. Descripci´on del fichero .refmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.5. Descripci´on del fichero .tmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6. C´odigo de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.7. Formato de los ficheros de expresi´on diferencial . . . . . . . . . . . . . . . . . . . . . . . . 64
3.8. Formato de los ficheros de uni´on diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.9. Formato de los ficheros de codificaci´on diferencial de salida . . . . . . . . . . . . . . . . . 65
3.10. Formato de los ficheros de uso diferencial del promotor . . . . . . . . . . . . . . . . . . . . 66
3.11. Formato FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.12. Biblioteca de tipos de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.1. Campos obligatorios del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
A.2. Bits de la etiqueta FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
A.3. Operaciones CIGAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
A.4. Campos opcionales del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.5. Etiquetas predefinidas del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.6. C´odigos de ´acidos nucl´eicos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . 116
A.7. C´odigos de amino´acidos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . . . 117
11
12
Parte I
Manuales de usuario
13
Cap´ıtulo 1
Bowtie
1.1. ¿Qu´e es Bowtie?
Bowtie[13] es un sistema para alinear cadenas cortas que es extremadamente r´apido y que tiene una
gesti´on de memoria eficiente. Est´a dirigido a alinear r´apidamente grandes conjuntos de cadenas cortas de
DNA de grandes genomas. En el caso de tener un ordenador de caracter´ısticas t´ıpicas, Bowtie es capaz
de alinear cadenas de 35 pares de bases a un ritmo de 35 millones de lecturas por hora. Bowtie a la hora
de indexar el genoma se basa en la transformada de Burrows-Wheeler[3] para mantener en memoria una
peque˜na huella del mismo: para el caso del genoma humano, el ´ındice suele ocupar unos 2,2 GB (para
la alineaci´on sin parejas) o 2,9 GB (para la alineaci´on de parejas finales o una alineaci´on por espacio de
colores1
).
Para conseguir una mayor velocidad en la alineaci´on se pueden usar m´ultiples procesadores para que
trabajen simult´aneamente. Bowtie, adem´as, produce las alineaciones en formato est´andar de SAM 2
. , lo
que permite que Bowtie pueda trabajar con otras herramientas externas que soportan SAM, incluyendo
SAMtools consensus, SNP y Indel Callers. Bowtie se ejecuta a trav´es de la l´ınea de comandos y es
multiplataforma. Los sistemas operativos soportados son: Windows, Linux, Mac OS X, Linux y Solaris.
Bowtie tambi´en se usa como base para otras herramientas, entre las cuales podemos incluir TopHat 3
; Cufflinks 4
; Crossbow, una herramienta de computaci´on en la nube para resecuenciaci´on de datos a gran
escala; y Myrna, otra herramienta de computaci´on en la nube para el c´alculo de expresiones diferenciales
de genes en grandes conjuntos de secuencias de RNA.
1.2. ¿Qu´e no es Bowtie?
Bowtie no es una herramienta de alineaci´on de prop´osito general como pueden ser MUMmer 5
,
BLAST6
o Vmatch7
. Bowtie tiene un funcionamiento m´as ´optimo cuando se alinean lecturas cortas en
genomas de gran tama˜no, aunque admite tambi´en secuencias de referencia arbitrariamente peque˜nas
(por ejemplo amplicones 8
) y lee cadenas de como m´aximo 1024 bases. Bowtie est´a dise˜nado para ser
extremadamente r´apido con conjuntos de lecturas cortas donde:
a) muchas de las lecturas cortas tienen al menos una alineaci´on, que es v´alida.
1V´ease la secci´on 1.4.6 en la p´agina 22 para m´as informaci´on
2V´ease el ap´endice A.1 en la p´agina 107 para m´as informaci´on acerca del formato SAM
3V´ease el cap´ıtulo 2 en la p´agina 37 para m´as informaci´on sobre TopHat
4V´ease el cap´ıtulo 3 en la p´agina 45 para m´as informaci´on sobre Cufflinks
5Para m´as informaci´on acceda a la Web de MUMmmer http://mummer.sourceforge.net/
6Para m´as informacci´on acceda a la Web de BLAST http://blast.ncbi.nlm.nih.gov/Blast.cgi
7Para m´as informacci´on acceda a la Web de Vmatch http://www.vmatch.de/
8Un amplic´on es un fragmento de DNA formado como producto de eventos de amplificaci´on natural o artificial
15
b) muchas de las lecturas son de una calidad relativamente alta.
c) el n´umero de alineaciones reportadas por cada lectura es peque˜no (cercano a 1).
Bowtie a´un no informa de alineaciones con huecos; es un trabajo futuro.
1.3. Obtener Bowtie
En la p´agina oficial de Bowtie podr´as descargar tanto los ficheros fuente de Bowtie como los binarios
ejecutables 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. Adem´as tenemos a nuestra disposici´on
versiones 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 cual
contenga GCC, GNU Make y otras herramientas b´asicas para compilar c´odigo. En las plataformas Linux
y Mac es posible instalar f´acilmente Bowtie siguiendo las instrucciones que est´an en la documentaci´on del
proyecto. 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 instalado
MSYS.
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 ning´un argumento. Dependiendo del sistema ser´a make o gmake.
En caso de usar MinGW, deberemos usar make desde la linea de comandos MSYS.
Si queremos que Bowtie soporte multithreading (opci´on “-p”), deberemos tener en el sistema instalada
la librer´ıa “pthreads”. Para compilar Bowtie sin pthreads (es decir, desactivar “-p”) deberemos usar make
BOWTIE PTHREADS=0.
1.4. El alineador bowtie
El comando bowtie recibe como entrada un ´ındice y un conjunto de lecturas cortas y como salida
muestra una lista de alineamientos. Los alineamientos son seleccionados de acuerdo a la combinaci´on
elegida de las opciones -v/-n/-e/-l (incluyendo adem´as las opciones -I/-X/–fr/–rf/ –ff para especificar el
alineamiento de extremos emparejados ), los cuales definen cuales de los alineamientos son legales, y las
opciones -k/-a/-m/-M/–best/–strata definen cu´ales y cu´antos alineamientos deber´an ser reportados al
usuario.
Por defecto, Bowtie aplica una pol´ıtica de alineamiento similar a la pol´ıtica que lleva a cabo Maq9
(las
opciones por defecto ser´ıan (-n 2 -l 28 -e 70)10
). Pero Bowtie tambi´en puede cumplir una sencilla
pol´ıtica “end-to-end” con “k-diferencia” (por ejemplo con -v 2)11
. . Debemos de tener en cuenta que los
modos 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 genoma
del ser humano o del rat´on), aunque soporta secuencias de referencia arbitrariamente peque˜nas y lecturas
de un m´aximo de 1020 bases. Bowtie est´a dise˜nado para ser extremadamente r´apido con conjuntos de
lecturas cortas donde:
9Para m´as informaci´on v´ease la Web http://maq.sourceforge.net/
10 V´ease la secci´on 1.4.1 en la p´agina siguiente para m´as informaci´on sobre este modo
11V´ease la secci´on 1.4.2 en la p´agina 18 para obtener m´as informaci´on sobre este modo
16
1. muchas de las lecturas cortas tienen al menos una alineaci´on, que es v´alida.
2. muchas de las lecturas son de una calidad relativamente alta.
3. el n´umero de alineaciones reportadas por cada lectura es peque˜no (cercano a 1).
Estos criterios est´an generalmente satisfechos en el contexto del an´alisis de lecturas cortas por ejemplo
de RNA-seq, ChIP-seq, otros tipos de secuenciaci´on, y otros tipos de resecuenciaci´on de mam´ıferos. Para
otros contextos de investigaci´on se deber´a comprobar los tiempos de ejecuci´on del mismo.
Si Bowtie es demasiado lento para su aplicaci´on, deber´a probar alguna de las sugerencias para opti-
mizaci´on del rendimiento que se describen en la secci´on 1.4.7 en la p´agina 24.
Los alineamientos en los cuales aparezcan uno o m´as caracteres ambiguos de referencia (N, -, R,
Y, etc.) ser´an considerados inv´alidos por Bowtie. Esto es cierto s´olo para caracteres ambiguos en la
referencia; alineaciones que tienen caracteres ambiguos en la lectura ser´an legales, sujetos a la pol´ıtica
de alineaci´on. Los caracteres ambiguos en la lectura ser´an diferentes al resto de caracteres de la lectura.
Las alineaciones que contenga a la secuencia de referencia no ser´an considerados v´alidos.
El proceso por el cual bowtie elige una alineaci´on para informar se realiza al azar con el fin de evitar
el “sesgo de asignaci´on”. bowtie siempre reporta un subconjunto de las alineaciones v´alidas que existen,
haciendo todo lo posible para mostrarlas al azar. Esta aleatoriedad se deriva de un generador de n´umeros
simples pseudoaleatorios llamados semillas de forma determinista en el sentido de que Bowtie siempre
produce los mismos resultados para la misma lectura cuando es ejecutado con el mismo valor de la
semilla12
.
En el modo por defecto, bowtie puede exhibir un sesgo en la hebra. El sesgo en la hebra se produce
cuando 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 n´umero 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 probabilidad
del 50 %, a continuaci´on, reporta un alineamiento seleccionado al azar para dicha lectura de uno de los
sitios en la hebra seleccionada. Esto tiende a asignar m´as alineamientos en hebras con pocos sitios y
menos alineamientos en hebras con muchos sitios. El efecto se mitiga, aunque puede no ser eliminado,
cuando las lecturas son m´as largas o cuando se usan los extremos emparejados. Ejecutando Bowtie con
el modo --best se elimina el sesgo de la hebra forzando a Bowtie a seleccionar una hebra o la otra con
una probabilidad que es proporcional al n´umero de “mejores sitios” de la hebra.
Alineamientos con huecos no est´a soportado actualmente por bowtie, pero lo ser´a en futuras versiones.
1.4.1. El modo de alineaci´on -n
Cuando hacemos uso de la opci´on -n (la cual es la opci´on por defecto en el sistema), Bowtie determina
cuales de los alineamientos son v´alidos de acuerdo con la siguiente pol´ıtica, la cual es muy similar a la
pol´ıtica por defecto en Maq13
.
1. Las alineaciones no pueden tener m´as de N desajustes (donde N es un n´umero entre 0 − 3, y se
establece con la opci´on -n) en las primeras L bases (donde L es un n´umero mayor o igual a 5,
establecido con la opci´on -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 opci´on -e). Cuando
las calidades no est´an disponibles (por ejemplo, si las lecturas son de un archivo FASTA 15
)), los
valores por defecto de la calidad Phred se establecen a 40.
12V´ease la secci´on 1.4.8.9 en la p´agina 29 para m´as informaci´on acerca de la opci´on --seed
13 Acceda a la web de Maq para m´as informaci´on http://maq.sourceforge.net/
14Para m´as informaci´on acceda a la web http://www.phrap.com/phred/
15V´ease la secci´on A.4 en la p´agina 115 para m´as informaci´on
17
La opci´on -n es mutuamente excluyente con la opci´on -v, es decir, no podremos usar las dos a la vez.
Si se da el caso de que existan m´ultiples alineaciones que cumplan los criterios anteriormente definidos,
Bowtie dar´a preferencia a las alineaciones que contengan menos desajustes y donde la suma establecida
en el criterio 2 sea menor. Cuando la opci´on --best est´e especificada, Bowtie nos garantiza que la/s
alineaci´on/es devuelta/s son las “mejores” en los t´erminos de estos criterios (el criterio 1 tiene prioridad
con respecto al 2), y adem´as las alineaciones se mostrar´an de mejor a peor. En el caso de usar la opci´on
--best Bowtie es m´as lento que si no se usa dicha opci´on.
Tenga en cuenta que Maq internamente redondea las calidades menores a 10 y las mayores de 30 a
30. Para mantener la compatibilidad, Bowtie hace lo mismo. El redondeo puede ser suprimido usando la
opci´on --nomaqround.
Por defecto en los modos -n 2 y -n 3 Bowtie no es totalmente exhaustivo. En estos modos Bowtie
impone un “limite de rastreo” para limitar el esfuerzo gastado a la hora de encontrar una alineaci´on
v´alida entre lecturas de baja calidad que muy posiblemente no tengan alineaciones v´alidas. Esto puede
causar que Bowtie pase por alto algunas alineaciones con 2 ´o 3 desajustes como legales. El l´ımite se
establece a un valor predeterminado, pero razonable, (125 para el caso de no tener establecido --best y
800 para el caso de tener establecido --best); claro est´a, que el usuario puede cambiar estos valores si
as´ı lo desea. Para modificar este l´ımite deber´a usar las opciones --maxbts y/o -y. La opci´on -y hace que
Bowtie sea relativamente lento pero nos garantiza exhaustividad completa.
1.4.2. El modo de alineaci´on -v
En el modo -v, las alineaciones no pueden tener m´as de V desajustes, donde V es un n´umero entre
0 − 3, establecido mediante la opci´on -v. Los valores de calidad no se tienen en cuenta. Recordamos que
la opci´on -v es mutuamente excluyente con la opci´on -n.
Si se da el caso de haber muchas alineaciones legales, Bowtie da preferencia a las alineaciones con
menos desajustes. Cuando usamos la opci´on --best, Bowtie garantiza que la alineaci´on/es reportada es
la mejor en t´erminos del n´umero de desajustes, y los resultados son mostrados en un orden de mejor a
peor. Hay que mencionar que Bowtie es m´as lento si usamos la opci´on --best.
1.4.3. Estratos
En el modo de alineamiento -n, una alineaci´on mediante “estratos” se define como el n´umero de
desajustes en la regi´on “semilla”, es decir, las L bases en el extremo m´as a la izquierda (donde L se
define mediante la opci´on -l). En el modo de alineamiento -v, una alineaci´on mediante “estratos” se
define como el n´umero total de desajustes existentes en toda la alineaci´on. Algunas de las opciones
de Bowtie (como --strata y -m) usan el concepto de “estrato” para limitar o ampliar el alcance de las
alineaciones reportadas al usuario.
1.4.4. Modos de representaci´on de informes
Con los modos -k, -a, -m, -M, --best y --strata, el usuario puede seleccionar con cierta flexibilidad
qu´e alineaciones se van a mostrar. A continuaci´on veremos una serie de ejemplos en los cuales veremos
diferentes maneras de combinar estas opciones. Todos los ejemplos se basan en el uso del ´ındice de e coli
empaquetado con Bowtie. La opci´on --suppress se utiliza para mantener la salida concisa y adem´as se
han 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
- 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 opci´on -a le indica a Bowtie que reporte todas las alineaciones v´alidas, sujetas, en este
caso, a la pol´ıtica de alineamiento: -v 2. En el ejemplo, bowtie ha encontrado 5 resultados inexactos
dentro del genoma de la E. Coli; uno de los resultados (el 2o
en la lista) tiene un ´unico desajuste, y
los otros cuatro resultados tienen 2 desajustes. Hay que indicar que 4 de los resultados siguen la linea
inversa de referencia y otro la linea a seguir (s´ımbolo ‘-’ para el caso inverso y ‘+’ para el normal). Hay
que indicar que no est´an listados seg´un 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 opci´on -k 3 le indica a bowtie que reporte hasta 3 alineamientos v´alidos. En este ejemplo,
existen un total de 5 alineamientos v´alidos (V´ease el punto 1.4.4.2 ); bowtie nos muestra 3 alineaciones
de 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 opci´on -k 6 le indica a bowtie que nos muestre 6 alineaciones v´alidas. En este caso,
´unicamente existen 5 alineamientos v´alidos, 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
En este caso dejamos el valor por defecto a la opci´on -k (en este caso 1), esto nos hace que bowtie
nos muestre la primera alineaci´on devuelta. Como no se ha especificado la opci´on --best no podemos
asegurar que la alineaci´on devuelta sea la ´optima, en este caso concreto no lo es (la alineaci´on con un
´unico desajuste del caso anterior ser´ıa mejor). No poner la opci´on -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 opci´on -a mostramos todas las alineaciones v´alidas que existan. Adem´as, como
hacemos uso de la opci´on --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 opci´on --strata junto con -a y --best hace que bowtie nos muestre s´olo las alineaciones que
son las mejores con respecto a la alineaci´on por “estratos” (V´ease el punto 1.4.3 en la p´agina 18 para
m´as informaci´on sobre estratos). Las mejores alineaciones en este caso (con estratos) son las que tienen
el menor n´umero de desajustes (o desajustes ´unicamente en la “semilla” si usamos la opci´on -n). Hay
que tener en cuenta que si usamos la opci´on --strata tambi´en deberemos usar la opci´on --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 opci´on -m le estamos indicando a bowtie que se abstenga de informar cualquier alineaci´on
para lecturas cortas que contengan m´as de “m” resultados, es decir, si incluimos -m 3 estamos diciendo
que si tiene m´as de 3 alineaciones v´alidas que no nos muestre nada. La opci´on -m es ´util cuando se
quiere garantizar que las alineaciones que se han reportado son “´unicas”, nosotros tendremos que definir
el significado concreto de “´unico” para cada caso.
20
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 adem´as nos asegura que hay exactamente
5 alineaciones v´alidas. 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 opci´on -m 3 para decirle a bowtie que se abstenga de mostrar en el
caso de tener m´as de 3 alineaciones v´alidas. Pero como vimos en el ejemplo 6 la lectura s´olo devuelve
una ´unica alineaci´on v´alida cuando especificamos las opciones -a, --best y --strata, por eso la opci´on -m
3 hace que bowtie funcione de la manera habitual.
De una forma intuitiva, la opci´on -m cuando se combina con las opciones --best y --strata, garantiza,
de una forma d´ebil,un principio de “unicidad”. Para tener una unicidad m´as fuerte deberemos usar la
opci´on -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” est´a especificada mediante las opciones -1 y -2 (para parejas sin tratar, FASTA16
, o ficheros
de lecturas FASTQ17
), o usando la opci´on --12 (para leer archivos delimitados por tabuladores). Una
alineaci´on de extremos emparejados v´alida debe cumplir los siguientes criterios:
1. Ambos compa˜neros tienen una alineaci´on v´alida de acuerdo con la pol´ıtica de alineaci´on que se ha
definido mediante alguna de las opciones -v/-n/-e/-l.
2. La orientaci´on y la posici´on relativa de los compa˜neros satisface las restricciones que se han definido
mediante alguna de las opciones -l/-X/–fr/–rf/–ff.
Para una determinada lectura corta podemos determinar la pol´ıtica que gobernar´a las alineaciones
de extremos emparejados mediante las opciones -k, -a y -m. Por otro lado, tenemos que comentar que
no 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 compa˜neros, cada
uno en una l´ınea, donde se formatea el alineamiento para cada compa˜nero como si fueran alineamientos
simples independientes. La alineaci´on para el compa˜nero que aparece m´as cerca del comienzo de la
16V´ease el ap´endice A.4 en la p´agina 115 para m´as informaci´on acerca del formato FASTA
17V´ease el ap´endice A.5 en la p´agina 117 para m´as informaci´on acerca del formato FASTQ
21
secuencia de referencia se imprime siempre antes que el compa˜nero que aparece despu´es. Los ficheros
de lecturas que contienen lecturas de extremos emparejados a veces nombran las lecturas de acuerdo al
compa˜nero al que “pertenecen”, a˜nadiendo el sufijo /1 o /2 respectivamente. Si no se le indica sufijo
en la entrada de Bowtie, el sufijo se le a˜nadir´a cuando se generan los nombres de las lecturas en los
alineamientos (excepto en el modo -S “SAM”, que la informaci´on de los compa˜neros se codifica en los
‘‘FLAGS’’).
Encontrar un alineamiento de extremos emparejados v´alido donde ambos compa˜neros se alinean en
m´ultiples regiones puede consumir mucho tiempo. Por defecto, Bowtie evita gran parte de este coste
mediante la imposici´on de un l´ımite en el n´umero de “intentos” haciendo que se ajuste un alineamiento
para un compa˜nero cerca de un alineamiento para el el otro compa˜nero. El l´ımite por defecto es 100. Esto
hace que bowtie pase por alto algunos alineamientos v´alidos, 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 compa˜neros contiene
al otro se considera inv´alido.
Cuando la alineaci´on por espacio de colores se activa mediante -C, la configuraci´on predeterminada
para la orientaci´on de los extremos emparejados es --ff. Esto es debido a que la mayor´ıa de los conjuntos
de datos de SOLiD llevan esta orientaci´on. Cuando la alineaci´on por espacio de colores no est´a activa
(por defecto), la configuraci´on predeterminada para la orientaci´on es --fr, ya que la mayor´ıa de los datos
de Illumina llevan esta orientaci´on. El valor por defecto se puede cambiar en cualquier caso.
Debido a que Bowtie usa una representaci´on en memoria de la cadena de referencia origial couando
busca alineamientos de extremos emparejados, su consumo de memoria es mayor cuando alinea lecturas
de extremos emparejados.
1.4.6. Alineacion por Espacio de Colores
Desde la versi´on 0.12.0, bowtie puede alinear lecturas en espacio de colores mediante un ´ındice de
espacio de colores cuando hacemos uso de la opci´on -C. El espacio de colores es el formato de salida
caracter´ıstico del sistema SOLiD de Applied Biosystems18
. En una lectura de espacio de colores, cada
car´acter es un color en lugar de un nucle´otido, donde un color codifica una clase de dinucle´otidos. Por
ejemplo el color azul codifica cualquiera de los dinucle´otidos AA, CC, GG, TT. El espacio de colores tiene la
ventaja de ser capaz de encontrar errores de secuenciaci´on 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´ınea
de comandos -c) son compatibles con un espacio de colores (-C). Cuando hacemos uso de la opci´on -C, las
secuencias de lecturas son tratadas como colores. Los colores se podr´an codificar como n´umeros (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 imprimaci´on como primer car´acter, por ejemplo:
>1_53_33_F3
T2213120002010301233221223311331
>1_53_70_F3
T2302111203131231130300111123220
...
Aqu´ı, T es la base de imprimaci´on. bowtie detecta y gestiona de manera adecuada la base de im-
primaci´on (es decir, la base de imprimaci´on y los colores adyacentes se recortan antes de la alineaci´on)
siempre y cuando el resto de la lectura se codifique como un n´umero.
bowtie adem´as gestiona la entrada en formato de ficheros .csfasta y QV.qual. Deberemos usar la
opci´on -f para especificar el fichero .csfasta y -Q o --Q/--Q2 (para lecturas con extremos emparejados)
18Para m´as informaci´on acceda a la web de SOLiD
22
para especificar el correspondiente fichero QV.qual. No es necesario convertirlo antes a FASTQ, aunque
bowtie tambi´en gestiona lecturas en espacio de colores formateadas en FASTQ (con la opci´on -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 que
hemos de usar la opci´on -C cuando ejecutamos bowtie-build19
. Si un usuario intenta usar bowtie sin
la opci´on -C para alinear con un ´ındice que ha sido creado con -C ( y viceversa), bowtie imprimir´a un
mensaje de error y terminar´a.
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 en
nucle´otidos y reporta la secuencia de nucle´otidos decodificada. Es necesario un esquema de decodifica-
ci´on ya que es posible m´ultiples formas diferentes de decodificar. encontrar la decodificaci´on “perfecta”
requiere el conocimiento de todas las posibles variantes (por ejemplo SNPs) en el genoma del sujeto de
antemano, lo cual suele ser bastante complicado. En su lugar, bowtie emplea un esquema de decodi-
ficaci´on aproximada descrito en [15]. Este esquema intenta distinguir las variantes de la secuencia de
acuerdo con su probabilidad relativa bajo un modelo que considera los valores de calidad de los colores
y la probabilidad global de un SNP.
Los valores de calidad tambi´en son “decodificados”, de modo que cada valor de la calidad es una
funci´on de las 2 calidades de color superpuestas. Bowtie de nuevo adopta un esquema descrito en [15], es
decir, la calidad de los nucle´otidos decodificados es la suma de las calidades de color superpuestas (cuando
los dos colores superpuestos corresponden a las bases que coinciden en la alineaci´on) o la calidad de la
igualaci´on de color menos la calidad de no coincidencia de color o 0 (cuando los dos colores superpuestos
corresponden a desajustes).
Para una decodificaci´on correcta, --snpphred/--snpfrac deben establecerse de acuerdo a la mejor es-
timaci´on de la frecuencia de SNPs en el sujeto. El par´ametro --snpphred establece la penalizaci´on SNP
directamente (en la escala Phred), mientras que --snpfrac permite al usuario especificar una fracci´on; la
fracci´on es convertida posteriormente a Phred quality internamente.
Tenga en cuenta, que en el modo -S/--sam-mode, la secuencia de nucle´otidos decodificada es imprimida
por alineamientos, pero la secuencia de color original (con A=azul, C=verde, G=naranja y T=rojo) es
imprimida para lecturas no alineadas sin ninguna alineaci´on reportada. Como es habitual, los par´ametros
--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 generaci´on lecturas de extremos emparejados.
Cuando tenemos activada la alineaci´on mediante espacio de colores, la orientaci´on por defecto de los
extremos emparejados es --ff. Esto es debido a que la mayor´ıa de los conjuntos de datos de SOLiD tienen
esta orientaci´on.
Tenga en cuenta que las lecturas generadas por SOLiD pueden tener compa˜neros “hu´erfanos”, es decir,
sin pareja correspondiente en el otro fichero. Para evitar problemas debidos a compa˜neros hu´erfanos, la
salida de extremos emparejados de SOLiD ha de ser convertida primero a un fichero .csfastq omitiendo
las lecturas desemparejadas. Esto se puede lograr utilizando, por ejemplo, la herramienta de conversi´on
Galaxy20
.
19V´ease la secci´on 1.5 en la p´agina 31 para m´as informaci´on acerca de bowtie-build
20Para m´as informaci´on acceda a la web http://main.g2.bx.psu.edu/ para m´as informaci´on acerca de Galaxy
23
1.4.7. Optimizaci´on del rendimiento
A continuaci´on veremos una serie de consejos para optimizar el rendimiento de bowtie en su sistema:
1. Use la versi´on de bowtie de 64 bits si es posible.
La versi´on de 64 bits de Bowtie es sustancialmente (por lo general m´as del 50 %) m´as r´apida que
la versi´on de 32 bits, debido a la aritm´etica de 64 bits.
2. Si su sistema tiene m´ultiples procesadores/n´ucleos, use la opci´on -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 los
ficheros del´ındice pero sin incluir la terminaci´on .1.ebwt/, .rev.1.ebwt etc. bowtie
busca el ´ındice especificado primero en el directorio actual, despu´es en el subdirecto-
rio /indexes dentro del directorio donde bowtie est´a instalado, y finalmente en el
directorio especificado en la variable de entorno BOWTIE_INDEXES.
<m1> Lista separada por comas de archivos que contienen los primeros compa˜neros (el
nombre del archivo por lo general incluye 1), o, si hacemos uso de la opci´on -c, las
secuencias de compa˜neros directamente.
<m2> Lista separada por comas de archivos que contienen los segundos compa˜neros (el
nombre del archivo por lo general incluye 2), o, si hacemos uso de la opci´on -c, las
secuencias de compa˜neros 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 que
van a ser alineadas, o , si hacemos uso de la opci´on -c, las lecturas desemparejadas
directamente.
<aciertos> Fichero en el cual se van a escribir los alineamientos. Por defecto, se muestran en la
salida est´andar (en este caso la consola).
1.4.8.2. Opciones de entrada
-q Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o
como <s>) son ficheros FASTQ (normalmente con extensi´on .fq o .fastq)
-f Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o
como <s>) son ficheros FASTA (normalmente con extensi´on .fa, .mfa,fna o
similares). Todos los valores de las calidades se suponen 40 en la escala Phred
quality.
21V´ease la opci´on -p en la secci´on 1.4.8.8 en la p´agina 29
24
-r Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o
como <s>) son ficheros Raw (en bruto): una secuencia por l´ınea, sin valores
de calidad o nombres. Todos los valores de las calidades se suponen 40 en la
escala Phred quality.
-c Las sentencias de b´usqueda ser´an recogidas mediante la l´ınea de comandos
-C/--quals <ficheros> Lista separada por comas de archivos que contienen los valores de calidad
para las lecturas CSFASTA no emparejadas. Se usa en combinaci´on con -C y
-f. La opci´on --integer-quals se activa autom´aticamente cuando -Q/--quals es
especifica.
--Q1 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres-
pondientes CSFASTA #1 compa˜neros.
--Q2 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres-
pondientes CSFASTA #2 compa˜neros.
-s/--skip <int> Descarta (no alinea) las primeras <int> lecturas o pares de la entrada.
-u/--qupto <int> S´olo alinea las primeras <int> lecturas de la entrada (despu´es que -s/--skip
haya 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 m´as 33. Esta
opci´on est´a activada por defecto.
--phred64-quals Las calidades son caracteres ASCII iguales a la Phred quality m´as 64. Esta
opci´on est´a desactivada por defecto.
--solexa-quals Convierte las calidades de entrada de Solexa (que pueden ser negativas) a
Phred (que no pueden ser negativas). Esta opci´on es la m´as adecuada cuando
usamos lecturas que provienen de versiones de GA Pipeline anteriores a la 1.3.
Por defecto est´a desactivada.
--solexa1.3-quals Igual que --phread64-quals. Es la opci´on m´as adecuada para usar con lecturas
emitidas por GA Pipeline version 1.3 o posteriores. Por defecto est´a desacti-
vada.
--integer-quals Los valores de las calidades est´an representados en el fichero de entrada como
enteros ASCII (por ejemplo 40 40 30 40. . . ) en vez de caracteres ASCII (por
ejemplo II?I. . . ).
1.4.8.3. Opciones de Alineamientos
-v <int> Reportar alineamientos con un m´aximo de <int> desajustes. Las opciones
-e y -l son ignoradas y los valores de las calidades no tienen efecto en los
alineamientos v´alidos. La opci´on -v es mutuamente excluyente con la opci´on
-n.
-n/--seedmms <int> N´umero m´aximo de desajustes permitidos en la “semilla”. Se permiten los
valores 0, 1, 2 ´o 3; siendo el valor por defecto 2. Esta opci´on es mutuamente
excluyente con la opci´on -v.
-e/--maqerr <int> M´aximo total permitido de los valores de calidad de todos los desajustes
de una lectura a trav´es de toda la alineaci´on, no s´olo en la semilla. El valor
por defecto es 70. Al igual que Maq, bowtie redondea los valores de calidad
25
al 10 m´as cercano y satura al 30; el redondeo puede ser deshabilitado con
la opci´on --nomaqround.
-l/--seedlen <int> La “longitud de la semilla”, es decir, el n´umero de bases en el extremo de
alta calidad de la lectura en el cual se aplica el l´ımite -n. El valor m´as
bajo permitido es 5 y el valor por defecto es 28. bowtie es m´as r´apido para
valores altos de -l.
--nomaqround Maq acepta valores de calidad en la escala Phred quality, pero internamente
redondea los valores con una precisi´on de 10, con un m´aximo de 30. Por
defecto, bowtie redondea de esta forma. --nomaqround indica que no se
use esta forma de redondeo.
-I/--minins <int> El tama˜no m´ınimo de inserci´on para un alineamiento de extremos empare-
jados v´alido. Por ejemplo, si se especifica -I 60 y tenemos dos alineamiento
de extremos emparejados de 20 pares de pases (en la orientaci´on apropiada)
con un hueco de 20 pares de bases entre ellos, este alineamiento se considera
v´alido ( partiendo de la base que --X tambi´en se satisface). Un hueco de 19
pb no ser´ıa v´alido en este caso porque no llegar´ıa al m´ınimo establecido de
60 pb. Si se usan las opciones de recorte -3 o -5, la restricci´on -I se aplica
con respecto a los compa˜neros “sin recortes”. El valor por defecto es 0.
-X/--maxins <int> El tama˜no m´aximo de inserci´on para un alineamiento de extremos empa-
rejados v´alido. Por ejemplo, si se especifica -X 100 y tenemos dos alinea-
mientos de extremos emparejados de 20 pb (en la orientaci´on apropiada)
con un hueco de 60 pb entre ellos, este alineamiento se considera v´alido
(partiendo de la base que --I tambi´en se satisface). Un hueco de 61 pb no
ser´ıa v´alido en este caso porque sobrepasar´ıa el m´aximo permitido de 100.
Si se usan las opciones de recorte -3 o -5, la restricci´on -X se aplica con
respecto a los compa˜neros “sin recortes”. El valor por defecto es 250.
--fr/--rf/--ff Las diferentes orientaciones en las que podemos encontrarnos los com-
pa˜neros en un alineamiento de extremos emparejados. Si hacemos uso de
--fr y hay un alineamiento de extremos emparejados v´alido donde el com-
pa˜nero 1 aparece antes que el inverso complementario del compa˜nero 2 y
se cumplen las limitaciones de loingitud, ese alineamiento es v´alido. Si el
compa˜nero 2 aparece antes que el inverso complementario del compa˜nero 1
y todas las restricciones se cumplen, tambi´en es v´alido. --rf tambi´en exige
que el compa˜nero 1 (en la orientaci´on normal) sea inverso complementado
y el compa˜nero 2 (en la orientaci´on inversa) est´e en un sentido normal. --ff
requiere que el compa˜nero 1 est´e en el sentido normal y el 2 en el sentido
inverso.
--nofw/--norc Si hacemos uso de --nofw, bowtie no intentar´a alinear con la cadena en el
sentido normal. Si usamos --norc, bowtie no intentar´a alinear con la cadena
inversa complementada.
--maxbts N´umero m´aximo de “vueltas atr´as” permitidas cuando se alinea una lectura
en el modo -n 2 o -n 3 (por defecto: 125 sin --best, 800 con --best). Una
“vuelta atr´as” es la introducci´on de un cambio especulativo en la alineaci´on.
Sin este l´ımite, los par´ametros por defecto hacen que bowtie intente 100
o 1000 vueltas atr´as para alinear una lectura, especialmente si la lectura
contiene muchas bases con baja calidad y/o no tiene alineamientos v´alidos;
haciendo que bowtie baje su rendimiento significativamente. Sin embargo,
este l´ımite puede causar que algunas alineaciones v´alidas se pierdan.
--pairtries <int> Para alineaciones de extremos emparejados, este es el n´umero m´aximo de
intentos que bowtie har´a para que un alineamiento para un compa˜nero
coincida con un alineamiento para el otro compa˜nero. La mayor´ıa necesita
unos pocos intentos, pero es posible que algunas parejas requieran muchos
26
intentos, bajando el rendimiento se bowtie significativamente. El valor por
defecto es 100 intentos.
-y/--tryhard Intenta , como sea posible, encontrar alineamientos v´alidos cuando existen,
incluyendo alineamientos con extremos emparejados. Esto es equivalente al
uso de --maxbts y --pairtries con valores muy altos. Esta opci´on hace que
bowtie sea generalmente mucho m´as lento que el modo normal por defecto.
--chunkmbs <int> N´umero de MegaBytes de memoria que se le asigna a cada hilo para al-
macenar los descriptores en el modo --best. Bowtie intenta minimizar la
memoria usada por los descriptores, pero en muchos casos esta memoria
puede crecer demasiado. Si se recibe alg´un mensaje indicando que la me-
moria se ha agotado en el modo --best, deberemos ajustar la memoria con
este par´ametro dedicando m´as memoria a los descriptores. El valor por
defecto son 64 MB.
1.4.8.4. Opciones de informes
-k <int> Reporta <int> alineamientos v´alidos por lectura o par (por defecto 1). La
validez de las alineaciones se determinada por la pol´ıtica de alineamiento
(efectos combinados de -n, -v, -l y -e). Bowtie est´a dise˜nado para ser muy
r´apido para valores peque˜nos de -k, y puede llegar a volverse muy lento
para valores grandes de -k. Si le interesa usar Bowtie con valores altos de
-k considere la creaci´on de un ´ındice22
.
-a/--all Informa de todas las alineaciones v´alidas por lectura o par (por defec-
to est´a desactivado). La validez de las alineaciones se determinada por la
pol´ıtica de alineamiento (efectos combinados de -n, -v, -l y -e). Bowtie
est´a dise˜nado para ser muy r´apido para valores peque˜nos de -k, y puede
llegar a volverse muy lento si usamos -a/--all. Si le interesa usar Bowtie con
-a/--all considere la creaci´on de un ´ındice.
-m <int> Suprimir todos los alineamientos de una lectura o par si para esa lectura
existen m´as de <int> alineamientos. Cuentan como alineamientos aquellos
que son reportados por -n, -v, -l, -e, -k, -a y/o --strata. Por defecto no tiene
l´ımite.
-M <int> Se comporta como -m salvo que si una lectura tiene m´as de <int> alinea-
mientos se reporta uno aleatoriamente.
--best Garantiza que Bowtie reporta alineamientos que son los “mejores” en t´ermi-
nos de estratos (por ejemplo, n´umero de desajustes, o desajustes en la se-
milla en el caso de el modo -n) y en t´erminos de calidad en las posiciones
con desajustes. Cuando no especificamos --best Bowtie reportar´a alinea-
mientos que no tienen por qu´e ser ´optimos en t´erminos de estratos/calidad.
Tenga en cuenta que --best no afecta a cuales alineamientos son conside-
rados “v´alidos” por bowtie, si no cu´ales de esos alineamientos v´alidos son
reportados por bowtie.
--strata Si existen muchas alineaciones v´alidas y son “reportables” y caen en muchos
estratos, se reportan ´unicamente aquellas alineaciones que caen en el mejor
estrato. Cuando hacemos uso de --strata tambi´en deberemos usar --best.
1.4.8.5. Opciones de salida
-t/--time Imprime el tiempo empleado en cada una de las fases.
22V´ease la secci´on 1.5 en la p´agina 31 para m´as detalles acerca de los ´ındices
27
-B/--offbase <int> Cuando muestra los alineamientos, la posici´on de la primera base ser´a <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 puede
ser ´util para grandes vol´umenes de lecturas, por ejemplo para alinear con
el 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 de
nombre <fichero>.
--un <fichero> Escribe todas las lecturas que no han podido ser alineadas en un archivo
de nombre <fichero>.
--max <fichero> Escribe todas las lecturas con un n´umero de alineamientos v´alidos superior
al l´ımite establecido con la opci´on -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 se
mostrar´an en la salida. Esta opci´on es ignorada si estamos en el modo de
salida -S/--sam.
--fullref Imprime el nombre de referencia completo de una secuencia. Por defecto
bowtie imprime hasta llegar al primer espacio en blanco.
1.4.8.6. Opciones del Espacio de colores
--snpphred <int> En la decodificaci´on de alineamientos con espacio de colores, se usa <int>
como la penalizaci´on SNP. Se debe establecer al mejor valor en relaci´on de
SNPs por base del genoma sujeto, convertido a la escala de calidad Phred.
Por ejemplo, si el usuario espera 1 SNP cada 1000 posiciones, --snpphred
deber´a ser 30 (que es el valor por defecto. Para especificar una fracci´on
directamente deber´a usar --snpfrac.
--snpfrac <dec> En la decodificaci´on de alineamientos con espacio de colores, se usa <dec>
como la relaci´on SNPs por base. bowtie convierte el valor al formato de
calidad Phred, y se comporta como si se hubiera usado la opci´on --snpphred.
El valor por defecto es 0,0001
--col-cseq Si las lecturas est´an en espacio de colores y el modo por defecto de salida23
est´a activado, --col-cseq hace que el color de la secuencia aparezca en la
columna de la secuencia de la lectura (columna 5) en lugar de la secuencia
de nucle´otidos. Esta opci´on es ignorada en el modo -S/--sam.
--col-cqual Si las lecturas est´an en espacio de colores y el modo por defecto de salida
est´a activado, --col-cseq hace que la calidad (color) original de la lectura
aparezca en la columna de la calidad en vez de la calidad decodificada. Esta
opci´on es ignorada en el modo -S/--sam.
--col-keepends Cuando se decodifican alineamientos con espacio de colores, bowtie corta
un nucle´otido y una calidad de la izquierda y de la derecha del alineamien-
to. Esto se debe a que los nucle´otidos son compatibles con un s´olo color,
en contraste con los nucle´otidos del medio que son soportados por dos.
Especificar --col-keepends mantiene los nucle´otidos y sus calidades en los
extremos.
23V´ease la secci´on 1.4.9 en la p´agina 30 para m´as informaci´on acerca de este modo
28
1.4.8.7. Opciones de SAM
-S/--sam Imprime los alineamientos en formato SAM. Vaya a la secci´on 1.4.10 en
la p´agina siguiente para m´as detalles. Para suprimir todas las cabeceras
SAM use la opci´on --sam-nohead adem´as de -S/--sam. Para suprimir s´olo
las cabeceras @SQ use la opci´on --sam-nosq junto con -S/--sam. bowtie no
crea archivos BAM directamente, pero la salida en formato SAM puede
ser convertida en formato BAM directamente haciendo uso de tuber´ıas y
el comando samtools view24
. La opci´on -S/--sam no es compatible con
--refout.
--mapq <int> Si el alineamiento es no repetitivo (de acuerdo con -m, --strata y otras
opciones) se establecer´a el campo MAPQ25
(Calidad del mapeo/asignaci´on)
con el valor que recibe por par´ametro (<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 a
no ser que se use con -S/--sam.
--sam-nosq Suprime las l´ıneas de cabecera @SQ cuando la salida es -S/--sam. Debe
usarse en conjunto con -S/--sam. --sam-nosq se ignora a no ser que se use
con -S/--sam.
--sam-RG <texto> A˜nade <texto> (generalmente de la forma TAG:VAL, por ejemplo ID:IL7LANE2)
como un campo en la l´ınea de cabecera @RG. Para especificar m´ultiples cam-
pos deberemos usar m´ultiples veces la opci´on --sam-RG. --sam-RG se ignora
a 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 ser´an descartadas cuando
el ´ındice se cargue en memoria. Esto reduce el consumo de memoria del ali-
neador, pero requiere m´as tiempo para calcular los desplazamientos. <int>
debe ser mayor que el valor usado para la creaci´on del ´ındice.
-p/--threads <int> Lanza <int> hilos en paralelo. Los hilos pueden ser ejecutados en diferentes
procesadores/n´ucleos y sincronizarse luego para analizar las lecturas y los
alineamientos resultantes.
--mm Usa la asignaci´on de memoria de E/S para cargar el ´ındice, en vez de los
ficheros C normales de E/S. Esto facilita la eficiencia de la memoria a la
hora de paralelizar bowtie en situaciones donde -p no es posible.
--shmem Usa la memoria compartida para cargar el ´ındice. El uso de la memoria
compartida permite que muchos procesos concurrentes de bowtie compar-
tan el mismo ´ındice. Esto facilita la eficiencia de la memoria a la hora de
paralelizar bowtie en situaciones donde -p no es posible.
1.4.8.9. Otras opciones
--seed <int> Usa <int> como semilla para generar n´umeros pseudoaleatorios.
--verbose Muestra toda la salida generada (se usa para debug).
--version Muestra la versi´on de bowtie instalada en el sistema.
24V´ease el cap´ıtulo 4 en la p´agina 69 para m´as informaci´on acerca de SAMtools
25V´ease el ap´endice A.1 en la p´agina 107 para m´as informaci´on acerca del campo MAPQ
26V´ease la secci´on 1.5 en la p´agina 31 para m´as informaci´on acerca de la creaci´on de ´ındices
29
-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 colecci´on de 8 campos
separados 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 num´erico si no se
proporcion´o ning´un nombre.
4. Desplazamiento en la hebra de referencia.
5. Secuencia de la lectura (o inversa complementaria si la orientaci´on es ‘-’).
Si la lectura estaba en espacio de colores, entonces la secuencia mostrada en esta columna es la
secuencia de nucle´otidos, no los colores originales. V´ease la secci´on 1.4.6 en la p´agina 22 para m´as
detalles. Para mostrar los colores hemos de usar la opci´on --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 son
las calidades decodificadas, no las calidades originales. Para mostrar los colores hemos de usar la
opci´on --col-cseq.
7. Si hemos hecho uso de la opci´on -M y el l´ımite establecido se ha superado con esta lectura, esta
columna contendr´a el valor del l´ımite, indicando que se encontraron al menos esas alineaciones,
pudiendo ser muchas m´as.
8. Lista, separada por comas, de descriptores de desajustes. Si no hay desajustes en el alineamiento
este campo estar´a vac´ıo. Un descriptor tiene el formato
desplazamiento:base-de-referencia>lectura-base.
1.4.10. Salida en formato SAM de bowtie
A continuaci´on presentamos una breve descripci´on de la salida que genera bowtie en formato SAM
cuando hacemos uso de la opci´on -S/--sam. Para m´as detalles, vea el formato SAM en el ap´endice A.1
en la p´agina 107.
Cuando hacemos uso de la opci´on -S/--sam, bowtie imprime una cabecera SAM con las l´ıneas @HD, @SQ
y @PG. Adem´as, cuando especificamos argumentos RG de SAM mediante --sam-RG, bowtie imprimir´a una
l´ı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 una
colecci´on 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 m´as relevantes de Bowtie son:
1 La lectura es una de una pareja.
2 El alineamiento es un extremo de una correcta alineaci´on 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 alineaci´on pertenece a la orientaci´on inversa de la cadena.
30
32 El otro compa˜nero del alineamiento de extremos emparejados pertenece a la orientaci´on
inversa de la cadena.
64 La lectura es el primer compa˜nero dentro de la pareja.
128 La lectura es el segundo compa˜nero dentro de la pareja.
Por lo tanto, una lectura sin pareja que se alinea en la orientaci´on inversa tendr´a como flag 16.
Una lectura de extremos emparejados que se alinee y adem´as sea el primero de los compa˜neros
tendr´a bandera 83 (= 64 + 16 + 2 + 1).
3. Nombre de la secuencia de referencia donde se produce la alineaci´on, o ID ordinal si no se propor-
cion´o el nombre.
4. Desplazamiento en la hebra de referencia donde aparece el car´acter m´as a la izquierda del alinea-
miento.
5. Calidad del mapeo.
6. Cadena CIGAR de la alineaci´on.
7. Nombre de la secuencia de referencia donde se alinea el compa˜nero. Se establece a “=” si la secuencia
de referencia del compa˜nero es la misma, o “*” si no hay compa˜nero.
8. Desplazamiento en la hebra de referencia donde aparece el car´acter m´as a la izquierda del alinea-
miento del compa˜nero. El desplazamiento ser´a 0 si no hay compa˜nero.
9. Tama˜no de inserci´on inferido. El tama˜no es negativo si la alineaci´on de la pareja se produce antes
en la cadena que este alineamiento. El tama˜no es 0 si no existe pareja.
10. Secuencia (inversa complementada si se alinea en la cadena inversa).
11. Cualidades de las lecturas en codificaci´on ASCII.
12. Campos opcionales. Los campos est´an separados por tabuladores. Para una descripci´on m´as deta-
llada vea el ap´endice A.1 en la p´agina 107. Bowtie imprimir´a algunos de estos campos opcionales
en 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 est´a 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 alineaci´on. Para alineamientos en espacio de colores, <S>
describe los nucle´otidos de la alineaci´on, no los colores.
XA:i:<N Los alineamientos pertenecen al estrato <N>. V´ease el punto 1.4.3 en la p´agina 18 para
m´as informaci´on 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. La
salida 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 poder
alinear lecturas cortas. Los ficheros originales con las secuencias de DNA no son usados por Bowtie una
vez que el ´ındice ha sido creado.
27V´ease [3] para m´as informaci´on sobre la transformada de Burrows-Wheeler
31
Bowtie usa el algoritmo por bloques de Karkkainen [11] para compensar el tiempo de ejecuci´on y
la memoria usada. bowtie-build tiene tres opciones para gestionar esta compensaci´on: -p/--packed,
--bmax/--bmaxdivn y --dcv. Por defecto, bowtie-build buscar´a la configuraci´on que produzca los me-
jores tiempos de ejecuci´on sin agotar la memoria disponible. Este comportamiento por defecto puede
deshabilitarse mediante la opci´on -a/--noauto.
El indexador ofrece una serie de opciones relacionadas con la “forma” que tendr´a el´ındice, por ejemplo
--offrate se encarga de gestionar qu´e fracci´on de las filas de la transformada de Burrows-Wheeler[3] son
“marcadas”. Todas estas opciones son potencialmente provechosas dependiendo de la aplicaci´on concreta.
Se han establecido los valores predeterminados (que son razonables para la mayor´ıa de los casos) de
acuerdo con nuestros experimentos. V´ease la secci´on 1.4.7 en la p´agina 24 para m´as informaci´on.
Debido a que bowtie-build usa internamente punteros de 32-bit, puede manejar hasta un m´aximo
te´orico de 232
− 1 caracteres en un ´ındice, sin embargo, debido a otras limitaciones, el techo real es algo
menor que eso. Si nuestra referencia sobrepasa los 232
−1 caracteres, bowtie-build mostrar´a un mensaje
de error y abortar´a el proceso. Para resolver este problema, deberemos dividir la secuencia de referencia
en lotes m´as peque˜nos y/o trozos y construir un ´ındice independiente para cada uno.
Si su equipo tiene m´as de 3-4 GB de memoria RAM y quiere aprovechar este hecho para hacer m´as
r´apida la construcci´on del ´ındice, deber´a usar la versi´on de bowtie-build de 64 bits. La versi´on de 32
bits est´a restringida para usar menos de 4 GB de memoria. Si en la zona de descarga de Bowtie no existe
un binario “pre-compilado” deber´a descargar el c´odigo 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 basa
en la transformada de Burrows-Wheeler[3]. El algoritmo usado para construir el ´ındice est´a basado en el
algoritmo 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 est´a especificada, las propias secuencias. Por ejemplo <referencia>
puede ser chr1.fa, chr2.fa, chrX.fa, o, si -c est´a 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, donde
NOMBRE es <ebwt base>.
1.5.1.2. Opciones
-f Los ficheros referencia de entrada (especificados como <referencia>) son fi-
cheros FASTA (usualmente con extensi´on .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 lugar
de 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
-a/--noauto Desactiva el comportamiento por defecto por el cual bowtie-build selecciona
autom´aticamente los valores para los par´ametros --bmak, --dcv y --packed de
acuerdo con la memoria disponible. En su lugar, el usuario puede especificar
los valores de estos par´ametros. Si la memoria se agota durante la indexaci´on
se mostrar´a un error indicando dicho evento; en dicho caso es responsabilidad
del usuario buscar nuevos par´ametros para evitar dicho error.
-p/--packed Usa una representaci´on empaquetada ( 2 bits por nucle´otido) para las cadenas
de DNA. Esto hace que se ahorre memoria pero hace que la indexaci´on se
vuelva 2-3 veces m´as lenta. Por defecto esta opci´on est´a deshabilitada y se
puede configurar manualmente haciendo uso de la opci´on -a/--noauto.
--bmax <int> El n´umero m´aximo de sufijos permitidos en un bloque. Permitiendo m´as sufijos
por bloque hace que la indexaci´on sea m´as r´apida, pero aumenta el uso de la
memoria. Al usar esta opci´on se reemplaza cualquier valor anterior de --bmax
o --bmaxdivn. Por defecto (en t´erminos el par´ametro --bmaxdivn) el valor es
--bmaxdivn 4. Esto se configura autom´aticamente por defecto; usaremos -a/--
noauto para configurarlo manualmente.
--bmaxdivn <int> El n´umero m´aximo de sufijos permitidos en un bloque, expresado como fracci´on
de la longitud de la secuencia de referencia. Al usar esta opci´on se reemplaza
cualquier valor anterior de --bmax o --bmaxdivn. Por defecto (en t´erminos el
par´ametro –bmaxdivn) el valor es --bmaxdivn 4. Esto se configura autom´ati-
camente por defecto; usaremos -a/--noauto para configurarlo manualmente.
--dcv <int> Usa <int> como per´ıodo de la muestra. Un per´ıodo largo produce menos
sobrecarga de memoria, pero hace la ordenaci´on de sufijos m´as lenta, especial-
mente si hay repeticiones. Debe ser una potencia de 2 menor que 4096. El valor
por defecto es 1024. Esto se configura autom´aticamente por defecto; usaremos
-a/--noauto para configurarlo manualmente.
--nodc Deshabilita el uso de --dcv. La ordenaci´on de sufijos pasa a ser de tiempo
cuadr´atico en el peor caso. Por defecto esta opci´on est´a deshabilitada.
-r/--noref No construye las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT del´ındice, las cuales
contienen una versi´on empaquetada de la secuencia de referencia y es usada
para alineamientos de extremos emparejados.
-3/--justref Construye s´olo las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT, las cuales contie-
nen una versi´on empaquetada de la secuencia de referencia y es usada para
alineamientos 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 transformada
de Burrows-Wheeler[3] con su correspondiente ubicaci´on en el genoma. -o-/--
offrate se encarga de cu´antas filas van a ser marcadas: el indexador marcar´a ca-
da 2<int>
filas. Marcar m´as filas produce que las b´usquedas de referencia-
posici´on sean m´as r´apidas, pero requiere de m´as memoria para mantener todas
las anotaciones en tiempo de ejecuci´on. El valor por defecto es 5 (anota 1 fila
cada 32); para el caso del genoma humano las anotaciones ocupan 340 MB.
-t/--ftabchars <int> Ftab es una tabla de b´usqueda utilizada para calcular el rango inicial de la
transformada de Burrows-Wheeler[3] con respecto a los primeros <int> carac-
teres de la consulta. Un <int> m´as grande produce una tabla de b´usqueda
m´as grande, pero tambi´en produce tiempos m´as r´apidos en las consultas. la
ftab tiene un tama˜no de 4<int>+1
bytes. Por defecto, est´a establecido a 10 (la
ftab tiene un tama˜no 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 que
las incluyan.
33
--big --little Se usar´a 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 n´umeros pseudo-aleatorios.
--cutoff <int> Indexar´a ´unicamente las primeras <int> bases de la secuencia de referencia e
ignorar´a el resto.
-q/--quiet bowtie-build por defecto est´a en modo “verbose”. Con esta opci´on bowtie-build
s´olo imprimir´a los mensajes de error.
-h/--help Muestra la ayuda de bowtie-build.
--version Muestra la versi´on de bowtie-build instalada en el sistema.
1.6. El inspector de ´ındices bowtie-inspect
bowtie-inspect extrae informaci´on de un ´ındice de Bowtie sobre qu´e tipo de ´ındice y sobre las se-
cuencias de referencia se usaron para construirlo. Cuando se ejecuta sin ninguna opci´on, bowtie-inspect
mostrar´a en la salida un fichero FASTA que contiene las secuencias de referencia originales (con todos los
caracteres que no son A/C/G/T convertidos en Ns). Tambi´en puede ser utilizado para extraer los nombres
de las secuencias de referencia usando la opci´on -n/--names o un resumen m´as detallado mediante la
opci´on -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 nombre
de los ficheros del ´ındice pero sin incluir la terminaci´on .X.ebwt/.rev.X.ebwt etc.
bowtie busca el ´ındice especificado primero en el directorio actual, despu´es en el
subdirectorio indexes dentro del directorio donde bowtie est´a instalado, y finalmente
en 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 car´acter 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 informaci´on sobre la configuraci´on del ´ındice,
as´ı como los nombres y longitudes de las secuencias de entrada. El resumen tiene
el siguiente formato:
Colorspace <0 or 1>
SA-Sample 1 in <sample>
FTab-Chars <chars>
Sequence-1 <nombre> <longitud>
Sequence-2 <nombre> <longitud>
34
...
Sequence-N <nombre> <longitud>
Los campos se separan mediante tabuladores.
-e/--ebwt-ref Por defecto, cuando ejecutamos bowtie-inspect sin la opci´on -s o la opci´on -n,
´este recrea las secuencias de nucle´otidos usando los nucle´otidos codificados que
se encuentran en los ficheros .3.ebwt y .4.ebwt del ´ındice. Cuando hacemos
uso de la opci´on -e/--ebwt-ref bowtie-inspect recrea la secuencia de referencia
a partir del fichero .1.ebwt que contiene la secuencia de referencia basada en la
transformada de Burrows-Wheeler[3]. El proceso de recreaci´on es mucho m´as lento
cuando hacemos uso de -e/--ebwt-ref. Adem´as, 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 versi´on de bowtie-inspect instalada en el sistema.
-h/--help Muestra la ayuda de bowtie-inspect.
35
36
Cap´ıtulo 2
TopHat
2.1. ¿Qu´e es TopHat?
TopHat [20] es un programa que trata de alinear secuencias cortas de RNA dentro de un genoma para
identificar las uniones de empalme exon-exon. Se basa en la alineaci´on ultra r´apida de lecturas cortas de
Bowtie1
para su funcionamiento. TopHat corre ´unicamente en Linux y OS X, para hacerlo funcionar en
Windows deberemos usar alg´un tipo de emulador.
2.2. ¿Qu´e tipo de lecturas podemos usar con TopHat?
En un principio, TopHat fue dise˜nado para trabajar con lecturas producidas por Illumina Genome
Analyzer 2
, aunque muchos usuarios han tenido ´exito al usar TopHat con lecturas provenientes de otras
tecnolog´ıas. En la versi´on 1.1.0 de TopHat se comenz´o a soportar el formato de Espacio de Colores de
Applied Biosystems. Hay que remarcar que TopHat est´a optimizado para lecturas de 75 pares de bases
o m´as.
Actualmente, TopHat no permite hacer inserciones o deleciones peque˜nas (menos de unas pocos
nucle´otidos) dentro de las alineaciones reportadas. El soporte para dicha funcionalidad se pretente a˜nadir
en futuras versiones.
La mezcla de lecturas emparejadas y lecturas simples juntas no est´a permitida en TopHat.
2.3. ¿C´omo encuentra TopHat las uniones?
A la hora de encontrar uniones, Tophat lo hace sin anotaciones de referencia. Primero lo que hace es
mapear las secuencias cortas de RNA en el genoma; acto seguido, Tophat, identifica exones potenciales,
ya que muchas secuencias cortas de RNA se alinear´an de manera continua en el genoma. Usando este
mapeo inicial, TopHat construye una base de datos con todas las uniones posibles, y a continuaci´on,
mapea cada una de las lecturas con su posible uni´on para confirmarlas.
Las m´aquinas de secuenciaci´on en la actualidad producen lecturas cortas de un tama˜no de 100 pares
de bases o superior. Algunos exones son m´as cortos de 100 pares de bases, esto produce que muchos
exones se puedan “perder” en el mapeo inicial. TopHat para solucionar este problema fracciona todas
las lecturas de entrada en fragmentos m´as peque˜nos, y los mapea de forma independiente. En la etapa
final TopHat vuelve a “pegar” los segmentos para as´ı poder producir las alineaciones.
1V´ease el cap´ıtulo 1 en la p´agina 15 para m´as informaci´on
2Illumina Genoma Analyzer es un secuenciador de DNA de la empresa Illumina
37
Tophat, a la hora de generar la base de datos de la uniones, hace uso de tres posibles fuentes de
evidencias:
La primera fuente son los emparejamientos de “islas de cobertura”, que se localizan en distintas
regiones de la pila de lecturas de la asignaci´on inicial. Las “islas” vecinas son, a menudo, colocadas
juntas en el transcriptoma; as´ı, TopHat, busca la forma de unirlas con un intr´on.
La segunda fuente s´olo es utilizada cuando TopHat se ejecuta con lecturas de extremos emparejados.
Cuando se lee un par proveniente de diferentes exones de una transcripci´on, por lo general, se
asignan bastante separados en el genoma. Cuando nos encontramos frente a una situaci´on de este
tipo, TopHat trata de “cerrar” la brecha entre ambos mediante la b´usqueda de subsecuencias del
genoma que sean “compa˜neras” de una longitud total igual a la distancia de la brecha. Despu´es de
esto, los intrones de la subsecuencia se a˜nadir´an a la base de datos que genera TopHat.
La tercera, y m´as fuerte fuente de evidencias, se produce cuando dos segmentos de la misma lectura
se asignan lejos uno de otro, o cuando falla el mapeo de un segmento interno. Con lecturas largas (de
m´as de 75 pares de bases), los intrones “GT-AG”, “GC-AG” y “A-AC” se encuentran al principio.
Con cadenas cortas, TopHat s´olo informa alineamientos con los intrones “GT-AG”.
2.4. Prerrequisitos
Como dijimos en la secci´on 2.1 en la p´agina anterior, TopHat est´a basado en Bowtie. Por ello para
poder ejecutar TopHat en nuestro sistema deberemos tener los siguientes ejecutables de Bowtie dentro
de nuestra variable PATH.
bowtie
bowtie-inspect
bowtie-build
Por otro lado, las alineaciones de salida de TopHat usan el formato BAM, por lo que necesitaremos
descargar e instalar SAM tools. Si necesita m´as informaci´on sobre SAM tools puede leer el cap´ıtulo 4 en
la p´agina 69 que habla sobre dicho sistema.
El ´ultimo requisito necesario para hacer funcionar correctamente TopHat en nuestro sistema es que
debe de tener la versi´on 2.4, o superior, de Python.
2.5. Obtener e instalar TopHat
Para obtener TopHat puede ir directamente a la p´agina 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 generar´a los ficheros ejecutables.
5. Finalmente para instalar TopHat en nuestro sistema deberemos de ejecutar sudo make install.
De esta forma TopHat quedar´a correctamente instalado y los ejecutables estar´an listos para ser
usados.
En la secci´on 2.6 en la p´agina siguiente podr´a tener informaci´on relevante y de una forma detallada
de todas las opciones que puede usar con TopHat.
38
2.6. Usando el mapeador de uniones TopHat
Veamos una descripci´on detallada del formato que ha de seguir para poder invocar correctamente a
TopHat:
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 separados
por 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 es
el nombre de los ficheros del ´ındice pero sin incluir la terminaci´on
.1.ebwt/, .rev.1.ebwt etc. bowtie busca el ´ındice especifica-
do primero en el directorio actual, despu´es en el subdirectorio
indexes dentro del directorio donde bowtie est´a instalado, y fi-
nalmente en el directorio especificado en la variable de entorno
BOWTIE_INDEXES.
lecturas1 1 ,. . . lecturasN 1 Lista separada por comas de ficheros que contienen lecturas en
formato 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 en
formato FASTA o FASTQ. S´olo es usado cuando usamos TopHat
con lecturas de finales emparejados, y contiene el conjunto de
ficheros * 2. Los ficheros * 2 deben aparecer en el mismo orden
que los ficheros * 1.
2.6.2. Opciones
-h/--help Muestra la ayuda de TopHat.
-v/--version Muestra la versi´on de TopHat instalada en el sistema.
-o/--output-dir <string> Establece el directorio en el cual TopHat guardar´a las sa-
lidas generadas. Por defecto es el directorio “.tophat out”.
-r/--mate-inner-dist <int> Esta es la distancia (media) esperada entre compa˜neros.
Por ejemplo, para extremos emparejados si ejecutamos con
fragmentos de 300 pares de bases, en los que cada final tiene
50 pares de bases, entonces deberemos establecer -r a 200.
No existe valor por defecto, y es necesario para ejecuciones
con extremos emparejados.
--mate-std-dev <int> La desviaci´on est´andar para la distribuci´on de las distan-
cias internas entre pares compa˜neros. El valor por defecto
es 20 pares de bases.
-a/--min-anchor-length <int> La “longitud del ancla”. TopHat informar´a de uniones ge-
neradas por lecturas con al menos <int> bases en cada
lado de la uni´on. Como m´ınimo debe ser 3 y por defecto
est´a establecido a 8.
39
-m/--splice-mismatches <int> El n´umero m´aximo de desajustes que pueden aparecer en
la regi´on “ancla” de una alineaci´on emparejada. El valor
por defecto es 0.
-i/--min-intron-length <int> La longitud m´ınima del intr´on. Tophat ignorar´a pares do-
nante/receptor que est´en m´as cerca de la distancia m´ınima
establecida. El valor por defecto son 70 pares de bases.
-I/--max-intron-length <int> La longitud m´axima del intr´on.
--allow-indels Establece el motor de b´usqueda “indel”3
. La b´usqueda “in-
del” est´a deshabilitada por defecto.
--max-insertion-length <int> Podemos cambiar la longitud m´axima de inserci´on, que por
defecto est´a establecida a 3.
--max-deletion-length <int> Podemos cambiar la longitud m´axima de deleci´on, que por
defecto est´a establecida a 3.
--solexa-quals Usa la escala “Solexa” para los valores de calidad en los
ficheros FASTQ4
.
--solexa1.3-quals En la versi´on 1.3 del “pipeline” Illumina GA, las calidades
Phred van codificadas en base 64. Usaremos esta opci´on
para los ficheros FASTQ dentro del “pipeline” 1.3 o ante-
rior.
-Q/--quals Usaremos esta opci´on para indicarle que las calidades vie-
nen en ficheros separados. Los ficheros con lecturas en es-
pacio de colores (CSFASTA) vienen con las calidades en
ficheros separados.
--integer-quals Los valores de las calidades vienen delimitados por valores
enteros, esto viene por defecto cuando usamos la opci´on
-C/--color.
-C/--color Lecturas en espacio de colores. Hay que tener en cuen-
ta que debemos usar un indexado por espacio de colores
en Bowtie 0.12.6 o superior. El uso t´ıpico es el siguiente
tophat --color --quals
[otras opciones]*
<indice_espacio_de_colores> <lecturas>
<calidades>
-F/--min-isoform-fraction < 0, 0 − 1,0 > TopHat ignora uniones que est´an basadas en pocos alinea-
mientos. Supongamos que tenemos una uni´on que abarca 2
exones, formada por S lecturas. Definamos la profundidad
promedio de cobertura del ex´on A como D, y asumimos
que es mayor que B. Si S/D es menor que “min-isoform-
fraction”, la uni´on no ser´a reportada. El valor 0 deshabilita
el filtro. Por defecto es 0,15.
-p/--num-threads <int> Podemos especificar cu´antos threads se van a usar para
alinear las lecturas. Por defecto ´unicamente usamos un th-
read.
-g/--max-multihits <int> Permite a TopHat que muestre un n´umero m´aximo de ali-
neamientos para una lectura dada, el resto de alineamientos
los descarta. El valor por defecto es 20.
3indel es una contracci´on de “insert-delete”, inserci´on y borrado
4V´ease la seccion A.5 en la p´agina 117 para m´as informaci´on del formato FASTQ
40
--no-closure-search Desactiva la b´usqueda de compa˜neros basada en cierres
para uniones. Est´a desactivado por defecto.
--closure-search Activa la b´usqueda de compa˜neros basada en cierres para
los cruces. Hay que tener en cuenta que se debe habilitar
cuando la distancia entre compa˜neros es peque˜na (≤ 50pb)
--no-coverage-search Desactiva la b´usqueda de cobertura para cruces.
--coverage-search Activa la b´usqueda de cobertura para cruces.
--microexon-search Con esta opci´on, tophat intentar´a buscar alineamientos
incidentes en microexones. S´olo funciona para lecturas de
50 pb o mayores.
--butterfly-search TopHat utilizar´a un algoritmo m´as lento, pero potencial-
mente m´as sensible para encontrar uniones, adem´as de
la b´usqueda est´andar. Considere el uso de esta opci´on si
prev´e que su experimento va a producir muchas lecturas
cortas a partir del pre-mRNA, que caer´an dentro de los
intrones de sus transcritos.
--library-type TopHat tratar´a las lecturas de una hebra espec´ıfica. Cada
alineamiento de una lectura tendr´a una etiqueta de atribu-
to XS. Se considera la posibilidad de aportar una librer´ıa
de tipos para seleccionar el correcto protocolo de secuen-
ciaci´on de RNA.
Tipo de la Librer´ıa Ejemplo Descripci´on
fr-unstranded Standard
Illumina
Las lecturas del principio (parte m´as a la izquierda)
del fragmento se alinean en el normal de la hebra, y
las lecturas del final (parte m´as a la derecha) en la
hebra opuesta.
fr-firststrand dUTP, NSR,
NNSR
Igual que en el caso anterior, pero se debe cumplir
la regla de que el extremo m´as a la derecha del frag-
mento es lo primero en ser secuenciado. .
fr-secondstrand Ligation,
Standard
SOLiD
Igual que en el caso anterior, pero se debe cumplir
la regla de que el extremo m´as a la izquierda del
fragmento es lo primero en ser secuenciado.
2.6.3. Opciones Avanzadas
--initial-read-mismatches Las lecturas est´an inicialmente mapeadas, permitiendo m´as des-
ajustes en cada alineamiento. El valor por defecto es 2.
--bowtie-n Tophat usa el modo -v para mapear (el modo por defecto). Con
la opci´on --bowtie-n usamos el modo -n.
--segment-mismatches Los segmentos de lecturas son mapeados independientemente,
permitiendo m´as desajustes en cada alineamiento. El valor por
defecto es 2.
--segment-length Cada lectura se corta en segmentos, y cada uno de ellos tiene el
tama˜no que se le defina en --segment-length. Estos segmentos se
asignan de forma independiente. El valor por defecto es 25.
--min-closure-exon Longitud m´axima entre exones al hacer uso de la b´usqueda de
cierre.
41
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm
Alejandro tfm

More Related Content

What's hot (16)

Apunts dintel ligencia_artificial
Apunts dintel ligencia_artificialApunts dintel ligencia_artificial
Apunts dintel ligencia_artificial
 
Libro kit basico
Libro kit basicoLibro kit basico
Libro kit basico
 
Ft 2800 m-spanish
Ft 2800 m-spanishFt 2800 m-spanish
Ft 2800 m-spanish
 
Manual yaesu ft 1802
Manual yaesu ft 1802Manual yaesu ft 1802
Manual yaesu ft 1802
 
1246876145manualprogramacióNcastellano 050906
1246876145manualprogramacióNcastellano 0509061246876145manualprogramacióNcastellano 050906
1246876145manualprogramacióNcastellano 050906
 
Es acs800español
Es acs800españolEs acs800español
Es acs800español
 
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
Análisis numérico de impacto no lineal en sistemas multicomponentes, con ANSY...
 
Manual ppr
Manual pprManual ppr
Manual ppr
 
Manual de c# 2
Manual de c# 2Manual de c# 2
Manual de c# 2
 
GNU/Linux Mandrake 10.1 Guía De Comienzo (Español)
GNU/Linux Mandrake 10.1 Guía De Comienzo (Español)GNU/Linux Mandrake 10.1 Guía De Comienzo (Español)
GNU/Linux Mandrake 10.1 Guía De Comienzo (Español)
 
Lego education we do teacher's guide (wedo)
Lego education we do teacher's guide (wedo)Lego education we do teacher's guide (wedo)
Lego education we do teacher's guide (wedo)
 
Electronicadigital
ElectronicadigitalElectronicadigital
Electronicadigital
 
Lego education we do guia del profesor
Lego education we do guia del profesorLego education we do guia del profesor
Lego education we do guia del profesor
 
Symfony2 es
Symfony2 esSymfony2 es
Symfony2 es
 
Traducción Thinking in Python
Traducción Thinking in PythonTraducción Thinking in Python
Traducción Thinking in Python
 
Ecosys m2030dn ...535dn_og_es
Ecosys m2030dn ...535dn_og_esEcosys m2030dn ...535dn_og_es
Ecosys m2030dn ...535dn_og_es
 

Similar to Alejandro tfm

ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdfbilgrado01
 
Algoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaAlgoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaDarío Herrera
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdfJorge Serran
 
Introducción a la programación en c
Introducción a la programación en cIntroducción a la programación en c
Introducción a la programación en cvictdiazm
 
Introduccion a la_programacion_con_c
Introduccion a la_programacion_con_cIntroduccion a la_programacion_con_c
Introduccion a la_programacion_con_cAbefo
 
Libro programación-en-c++
Libro programación-en-c++Libro programación-en-c++
Libro programación-en-c++Andres Escobar
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaVictor Basurto Alonso
 
Compresión y encriptación
Compresión y encriptaciónCompresión y encriptación
Compresión y encriptaciónmenamigue
 
sistemas_operativos.pdf
sistemas_operativos.pdfsistemas_operativos.pdf
sistemas_operativos.pdfRosMerryHuro
 
Matlab adv esp
Matlab adv espMatlab adv esp
Matlab adv espLuis Maury
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapaTabu Carlos
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapaRobert Wolf
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaFreddy Quina
 
Manual completo python
Manual completo pythonManual completo python
Manual completo pythonalan moreno
 

Similar to Alejandro tfm (20)

ApuntesC++.pdf
ApuntesC++.pdfApuntesC++.pdf
ApuntesC++.pdf
 
Algoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lenguaAlgoritmos y programacion_i_-_con_lengua
Algoritmos y programacion_i_-_con_lengua
 
Fundamentos de Programacion.pdf
Fundamentos de Programacion.pdfFundamentos de Programacion.pdf
Fundamentos de Programacion.pdf
 
Introducción a la programación en c
Introducción a la programación en cIntroducción a la programación en c
Introducción a la programación en c
 
Introducción a la programación en C
Introducción a la programación en CIntroducción a la programación en C
Introducción a la programación en C
 
Proyecto (coordenadas polares)
Proyecto (coordenadas polares)Proyecto (coordenadas polares)
Proyecto (coordenadas polares)
 
Introduccion a la_programacion_con_c
Introduccion a la_programacion_con_cIntroduccion a la_programacion_con_c
Introduccion a la_programacion_con_c
 
Libro programación-en-c++
Libro programación-en-c++Libro programación-en-c++
Libro programación-en-c++
 
Hefesto v2.1
Hefesto v2.1Hefesto v2.1
Hefesto v2.1
 
Manual de C
Manual de CManual de C
Manual de C
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-java
 
Compresión y encriptación
Compresión y encriptaciónCompresión y encriptación
Compresión y encriptación
 
Tutorial JSF
Tutorial JSFTutorial JSF
Tutorial JSF
 
Tutorial Jsf
Tutorial JsfTutorial Jsf
Tutorial Jsf
 
sistemas_operativos.pdf
sistemas_operativos.pdfsistemas_operativos.pdf
sistemas_operativos.pdf
 
Matlab adv esp
Matlab adv espMatlab adv esp
Matlab adv esp
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapa
 
Libro javacontapa
Libro javacontapaLibro javacontapa
Libro javacontapa
 
Desarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-javaDesarrollo proyectos-informaticos-con-java
Desarrollo proyectos-informaticos-con-java
 
Manual completo python
Manual completo pythonManual completo python
Manual completo python
 

Alejandro tfm

  • 1. 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 nueva generaci´on Autor: Alejandro Alem´an Ramos Tutor: D. Francisco Romero Campero Sevilla, Viernes 1 de Julio de 2011
  • 2. 2
  • 3. El proyecto que aqu´ı presentamos hace una revisi´on exhaustiva de una serie de herramientas que han surgido en el contexto de la secuenciaci´on de nueva generaci´on. Para ello se ha dividido dicho proyecto en dos partes claramente diferenciadas. La primera parte trata sobre una revisi´on del software usado. Dentro del software usado podemos destacar herramientas para indexar genomas, b´usqueda de alineamientos en genomas, herramientas para realizar an´alisis transcript´omicos cualitativos y herramientas para realizar an´alisis transcript´omicos cuantitativos. La segunda parte del proyecto se basa en la realizaci´on de una serie de experimentos donde se muestra la utilizaci´on de dichas aplicaciones anteriormente mencionadas en la parte primera, as´ı como de los resultados devueltos por dichas aplicaciones 3
  • 4. 4
  • 5. ´Indice general I Manuales de usuario 13 1. Bowtie 15 1.1. ¿Qu´e es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2. ¿Qu´e no es Bowtie? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.3. Obtener Bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.3.1. Compilando desde los fuentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4. El alineador bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.4.1. El modo de alineaci´on -n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4.2. El modo de alineaci´on -v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.3. Estratos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.4. Modos de representaci´on de informes . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.4.5. Alineamiento de Extremos emparejados . . . . . . . . . . . . . . . . . . . . . . . . 21 1.4.6. Alineacion por Espacio de Colores . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.4.7. Optimizaci´on del rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4.8. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.4.9. Salida por defecto de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.4.10. Salida en formato SAM de bowtie . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.5. El indexador bowtie-build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.5.1. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.6. El inspector de ´ındices bowtie-inspect . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 1.6.1. L´ınea de Comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2. TopHat 37 2.1. ¿Qu´e es TopHat? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.2. ¿Qu´e tipo de lecturas podemos usar con TopHat? . . . . . . . . . . . . . . . . . . . . . . . 37 2.3. ¿C´omo encuentra TopHat las uniones? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.5. Obtener e instalar TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.6. Usando el mapeador de uniones TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.6.3. Opciones Avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.6.4. Suministrando nuestras propias uniones . . . . . . . . . . . . . . . . . . . . . . . . 42 2.6.5. Suministrando nuestas propias inserciones y deleciones . . . . . . . . . . . . . . . . 43 2.6.6. Proporcionando a TopHat un fichero de anotaciones . . . . . . . . . . . . . . . . . 43 2.7. Salida de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. Cufflinks 45 3.1. ¿Qu´e es Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.1. ¿C´omo ensambla los transcritos Cufflinks? . . . . . . . . . . . . . . . . . . . . . . . 45 3.1.2. ¿C´omo calcula Cufflinks la abundancia de transcritos? . . . . . . . . . . . . . . . . 46 3.1.3. ¿C´omo calcula Cufflinks la distribuci´on de la longitud de los fragmentos? . . . . . 46 3.1.4. ¿C´omo Cufflinks identifica y corrige el sesgo de las secuencias? . . . . . . . . . . . 47 3.1.5. ¿C´omo gestiona Cufflinks las lecturas con m´ultiples alineaciones? . . . . . . . . . . 47 5
  • 6. 3.1.6. ¿C´omo funciona la anotaci´on de referencia basada en transcritos (RABT)? . . . . 47 3.2. ¿Qu´e es Cuffdiff? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.2.1. ¿C´omo prueba Cuffdiff la expresi´on diferencial y la regulaci´on? . . . . . . . . . . . 48 3.2.2. ¿C´omo funciona la normalizaci´on del cuartil superior? . . . . . . . . . . . . . . . . 50 3.2.3. ¿C´omo trata Cuffdiff las r´eplicas biol´ogicas? . . . . . . . . . . . . . . . . . . . . . . 50 3.3. Prerrequisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4. Ejecutando Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4.2. Opciones generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.4.3. Opciones avanzadas de estimaci´on de la abundancia . . . . . . . . . . . . . . . . . 53 3.4.4. Opciones avanzadas de ensamblaje . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.4.5. Opciones avanzadas de anotaciones de referencia basada en Transcritos (RABT) . 54 3.4.6. Opciones avanzadas del programa de comportamiento . . . . . . . . . . . . . . . . 55 3.4.7. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.4.8. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.5. Ejecutando Cuffcompare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.5.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.5.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.5.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.5.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6. Uniendo ensamblajes con Cuffmerge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.6.3. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.6.4. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.7. Ejecutando Cuffdiff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.7.1. Argumentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.7.2. Opciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.7.3. Opciones avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.7.4. Ficheros de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.7.5. Ficheros de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.8. Formato de seguimiento FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.9. Biblioteca de Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4. SAMtools 69 4.1. ¿Qu´e es SAMtools? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2. Comandos y opciones de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 II Casos pr´acticos 75 5. Arabidopsis Thaliana 77 5.1. Genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.2. Indexaci´on del Genoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.3. Experimento SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4. Experimento SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.4.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.4.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.4.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6
  • 7. 5.5. Experimento SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.5.1. Lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 5.5.2. Ejecuci´on de TopHat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.5.3. Ejecuci´on de SAMtools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.5.4. Ejecuci´on de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.5.5. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Ap´endices 104 A. Formatos de ficheros 107 A.1. SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.1.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.1.2. Cabecera del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 A.1.3. Campos obligatorios de la secci´on de Alineamientos . . . . . . . . . . . . . . . . . 109 A.1.4. Campos opcionales de la secci´on de alineamientos . . . . . . . . . . . . . . . . . . . 112 A.2. BAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 A.3. BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 A.3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 A.3.2. Campos obligatorios en el formato BED . . . . . . . . . . . . . . . . . . . . . . . . 114 A.3.3. Campos adicionales u opcionales en el formato BED . . . . . . . . . . . . . . . . . 114 A.3.4. Ejemplo de fichero BED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 A.4. FASTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 A.4.1. L´ınea de cabecera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 A.4.2. Representaci´on de la secuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 A.5. FASTQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 A.5.1. Formato . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 A.6. GFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 A.7. GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 A.7.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 A.7.2. Campos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 A.7.3. Ejemplos del formato GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Bibliograf´ıa 121 7
  • 8. 8
  • 9. ´Indice de Figuras 5.1. Detalle de la Arabidopsis Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.2. Ficheros del genoma de la A. Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.3. Detalle del Cromosoma 1 de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.4. Ficheros del Genoma indexado de la A.Thaliana . . . . . . . . . . . . . . . . . . . . . . . 79 5.5. Grafico del tama˜no de las lecturas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . 80 5.6. Detalle de las lecturas cortas del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . 81 5.7. Ficheros creados por Tophat en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 83 5.8. Detalle del fichero junctions.bed del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . 83 5.9. Porcentajes de alineamientos en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 84 5.10. Fichero accepted hits.sam del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.11. Fichero genes.fpkm tracking del exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . 86 5.12. Tiempos ejecuci´on exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.13. Expresi´on diferencial en el exp SRP000615 . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.14. Detalle de las lecturas cortas del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . 89 5.15. Ficheros creados por Tophat en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 90 5.16. Porcentajes de alineamientos en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 91 5.17. Fichero accepted hits.sam del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.18. Fichero genes.fpkm tracking del exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . 94 5.19. Tiempos ejecuci´on exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.20. Expresi´on diferencial en el exp SRX011868 . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.21. Detalle de las lecturas cortas del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . 97 5.22. Ficheros creados por Tophat en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 98 5.23. Detalle del fichero junctions.bed del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . 99 5.24. Porcentajes de alineamientos en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 99 5.25. Fichero accepted hits.sam del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.26. Fichero genes.fpkm tracking del exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . 101 5.27. Tiempos ejecuci´on exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.28. Expresi´on diferencial en el exp SRX022366 . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.1. Ejemmplo de lecturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 A.2. Ejemplo de fichero SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9
  • 10. 10
  • 11. ´Indice de Tablas 3.1. Descripci´on del fichero transcripts.gtf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.2. Descripci´on de un registro GTF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.3. Descripci´on del fichero .tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.4. Descripci´on del fichero .refmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.5. Descripci´on del fichero .tmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.6. C´odigo de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.7. Formato de los ficheros de expresi´on diferencial . . . . . . . . . . . . . . . . . . . . . . . . 64 3.8. Formato de los ficheros de uni´on diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3.9. Formato de los ficheros de codificaci´on diferencial de salida . . . . . . . . . . . . . . . . . 65 3.10. Formato de los ficheros de uso diferencial del promotor . . . . . . . . . . . . . . . . . . . . 66 3.11. Formato FPKM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.12. Biblioteca de tipos de Cufflinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.1. Campos obligatorios del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A.2. Bits de la etiqueta FLAG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A.3. Operaciones CIGAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 A.4. Campos opcionales del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 A.5. Etiquetas predefinidas del formato SAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 A.6. C´odigos de ´acidos nucl´eicos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . 116 A.7. C´odigos de amino´acidos en el formato FASTA . . . . . . . . . . . . . . . . . . . . . . . . . 117 11
  • 12. 12
  • 13. Parte I Manuales de usuario 13
  • 14.
  • 15. Cap´ıtulo 1 Bowtie 1.1. ¿Qu´e es Bowtie? Bowtie[13] es un sistema para alinear cadenas cortas que es extremadamente r´apido y que tiene una gesti´on de memoria eficiente. Est´a dirigido a alinear r´apidamente grandes conjuntos de cadenas cortas de DNA de grandes genomas. En el caso de tener un ordenador de caracter´ısticas t´ıpicas, Bowtie es capaz de alinear cadenas de 35 pares de bases a un ritmo de 35 millones de lecturas por hora. Bowtie a la hora de indexar el genoma se basa en la transformada de Burrows-Wheeler[3] para mantener en memoria una peque˜na huella del mismo: para el caso del genoma humano, el ´ındice suele ocupar unos 2,2 GB (para la alineaci´on sin parejas) o 2,9 GB (para la alineaci´on de parejas finales o una alineaci´on por espacio de colores1 ). Para conseguir una mayor velocidad en la alineaci´on se pueden usar m´ultiples procesadores para que trabajen simult´aneamente. Bowtie, adem´as, produce las alineaciones en formato est´andar de SAM 2 . , lo que permite que Bowtie pueda trabajar con otras herramientas externas que soportan SAM, incluyendo SAMtools consensus, SNP y Indel Callers. Bowtie se ejecuta a trav´es de la l´ınea de comandos y es multiplataforma. Los sistemas operativos soportados son: Windows, Linux, Mac OS X, Linux y Solaris. Bowtie tambi´en se usa como base para otras herramientas, entre las cuales podemos incluir TopHat 3 ; Cufflinks 4 ; Crossbow, una herramienta de computaci´on en la nube para resecuenciaci´on de datos a gran escala; y Myrna, otra herramienta de computaci´on en la nube para el c´alculo de expresiones diferenciales de genes en grandes conjuntos de secuencias de RNA. 1.2. ¿Qu´e no es Bowtie? Bowtie no es una herramienta de alineaci´on de prop´osito general como pueden ser MUMmer 5 , BLAST6 o Vmatch7 . Bowtie tiene un funcionamiento m´as ´optimo cuando se alinean lecturas cortas en genomas de gran tama˜no, aunque admite tambi´en secuencias de referencia arbitrariamente peque˜nas (por ejemplo amplicones 8 ) y lee cadenas de como m´aximo 1024 bases. Bowtie est´a dise˜nado para ser extremadamente r´apido con conjuntos de lecturas cortas donde: a) muchas de las lecturas cortas tienen al menos una alineaci´on, que es v´alida. 1V´ease la secci´on 1.4.6 en la p´agina 22 para m´as informaci´on 2V´ease el ap´endice A.1 en la p´agina 107 para m´as informaci´on acerca del formato SAM 3V´ease el cap´ıtulo 2 en la p´agina 37 para m´as informaci´on sobre TopHat 4V´ease el cap´ıtulo 3 en la p´agina 45 para m´as informaci´on sobre Cufflinks 5Para m´as informaci´on acceda a la Web de MUMmmer http://mummer.sourceforge.net/ 6Para m´as informacci´on acceda a la Web de BLAST http://blast.ncbi.nlm.nih.gov/Blast.cgi 7Para m´as informacci´on acceda a la Web de Vmatch http://www.vmatch.de/ 8Un amplic´on es un fragmento de DNA formado como producto de eventos de amplificaci´on natural o artificial 15
  • 16. b) muchas de las lecturas son de una calidad relativamente alta. c) el n´umero de alineaciones reportadas por cada lectura es peque˜no (cercano a 1). Bowtie a´un no informa de alineaciones con huecos; es un trabajo futuro. 1.3. Obtener Bowtie En la p´agina oficial de Bowtie podr´as descargar tanto los ficheros fuente de Bowtie como los binarios ejecutables 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. Adem´as tenemos a nuestra disposici´on versiones 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 cual contenga GCC, GNU Make y otras herramientas b´asicas para compilar c´odigo. En las plataformas Linux y Mac es posible instalar f´acilmente Bowtie siguiendo las instrucciones que est´an en la documentaci´on del proyecto. 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 instalado MSYS. 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 ning´un argumento. Dependiendo del sistema ser´a make o gmake. En caso de usar MinGW, deberemos usar make desde la linea de comandos MSYS. Si queremos que Bowtie soporte multithreading (opci´on “-p”), deberemos tener en el sistema instalada la librer´ıa “pthreads”. Para compilar Bowtie sin pthreads (es decir, desactivar “-p”) deberemos usar make BOWTIE PTHREADS=0. 1.4. El alineador bowtie El comando bowtie recibe como entrada un ´ındice y un conjunto de lecturas cortas y como salida muestra una lista de alineamientos. Los alineamientos son seleccionados de acuerdo a la combinaci´on elegida de las opciones -v/-n/-e/-l (incluyendo adem´as las opciones -I/-X/–fr/–rf/ –ff para especificar el alineamiento de extremos emparejados ), los cuales definen cuales de los alineamientos son legales, y las opciones -k/-a/-m/-M/–best/–strata definen cu´ales y cu´antos alineamientos deber´an ser reportados al usuario. Por defecto, Bowtie aplica una pol´ıtica de alineamiento similar a la pol´ıtica que lleva a cabo Maq9 (las opciones por defecto ser´ıan (-n 2 -l 28 -e 70)10 ). Pero Bowtie tambi´en puede cumplir una sencilla pol´ıtica “end-to-end” con “k-diferencia” (por ejemplo con -v 2)11 . . Debemos de tener en cuenta que los modos 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 genoma del ser humano o del rat´on), aunque soporta secuencias de referencia arbitrariamente peque˜nas y lecturas de un m´aximo de 1020 bases. Bowtie est´a dise˜nado para ser extremadamente r´apido con conjuntos de lecturas cortas donde: 9Para m´as informaci´on v´ease la Web http://maq.sourceforge.net/ 10 V´ease la secci´on 1.4.1 en la p´agina siguiente para m´as informaci´on sobre este modo 11V´ease la secci´on 1.4.2 en la p´agina 18 para obtener m´as informaci´on sobre este modo 16
  • 17. 1. muchas de las lecturas cortas tienen al menos una alineaci´on, que es v´alida. 2. muchas de las lecturas son de una calidad relativamente alta. 3. el n´umero de alineaciones reportadas por cada lectura es peque˜no (cercano a 1). Estos criterios est´an generalmente satisfechos en el contexto del an´alisis de lecturas cortas por ejemplo de RNA-seq, ChIP-seq, otros tipos de secuenciaci´on, y otros tipos de resecuenciaci´on de mam´ıferos. Para otros contextos de investigaci´on se deber´a comprobar los tiempos de ejecuci´on del mismo. Si Bowtie es demasiado lento para su aplicaci´on, deber´a probar alguna de las sugerencias para opti- mizaci´on del rendimiento que se describen en la secci´on 1.4.7 en la p´agina 24. Los alineamientos en los cuales aparezcan uno o m´as caracteres ambiguos de referencia (N, -, R, Y, etc.) ser´an considerados inv´alidos por Bowtie. Esto es cierto s´olo para caracteres ambiguos en la referencia; alineaciones que tienen caracteres ambiguos en la lectura ser´an legales, sujetos a la pol´ıtica de alineaci´on. Los caracteres ambiguos en la lectura ser´an diferentes al resto de caracteres de la lectura. Las alineaciones que contenga a la secuencia de referencia no ser´an considerados v´alidos. El proceso por el cual bowtie elige una alineaci´on para informar se realiza al azar con el fin de evitar el “sesgo de asignaci´on”. bowtie siempre reporta un subconjunto de las alineaciones v´alidas que existen, haciendo todo lo posible para mostrarlas al azar. Esta aleatoriedad se deriva de un generador de n´umeros simples pseudoaleatorios llamados semillas de forma determinista en el sentido de que Bowtie siempre produce los mismos resultados para la misma lectura cuando es ejecutado con el mismo valor de la semilla12 . En el modo por defecto, bowtie puede exhibir un sesgo en la hebra. El sesgo en la hebra se produce cuando 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 n´umero 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 probabilidad del 50 %, a continuaci´on, reporta un alineamiento seleccionado al azar para dicha lectura de uno de los sitios en la hebra seleccionada. Esto tiende a asignar m´as alineamientos en hebras con pocos sitios y menos alineamientos en hebras con muchos sitios. El efecto se mitiga, aunque puede no ser eliminado, cuando las lecturas son m´as largas o cuando se usan los extremos emparejados. Ejecutando Bowtie con el modo --best se elimina el sesgo de la hebra forzando a Bowtie a seleccionar una hebra o la otra con una probabilidad que es proporcional al n´umero de “mejores sitios” de la hebra. Alineamientos con huecos no est´a soportado actualmente por bowtie, pero lo ser´a en futuras versiones. 1.4.1. El modo de alineaci´on -n Cuando hacemos uso de la opci´on -n (la cual es la opci´on por defecto en el sistema), Bowtie determina cuales de los alineamientos son v´alidos de acuerdo con la siguiente pol´ıtica, la cual es muy similar a la pol´ıtica por defecto en Maq13 . 1. Las alineaciones no pueden tener m´as de N desajustes (donde N es un n´umero entre 0 − 3, y se establece con la opci´on -n) en las primeras L bases (donde L es un n´umero mayor o igual a 5, establecido con la opci´on -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 opci´on -e). Cuando las calidades no est´an disponibles (por ejemplo, si las lecturas son de un archivo FASTA 15 )), los valores por defecto de la calidad Phred se establecen a 40. 12V´ease la secci´on 1.4.8.9 en la p´agina 29 para m´as informaci´on acerca de la opci´on --seed 13 Acceda a la web de Maq para m´as informaci´on http://maq.sourceforge.net/ 14Para m´as informaci´on acceda a la web http://www.phrap.com/phred/ 15V´ease la secci´on A.4 en la p´agina 115 para m´as informaci´on 17
  • 18. La opci´on -n es mutuamente excluyente con la opci´on -v, es decir, no podremos usar las dos a la vez. Si se da el caso de que existan m´ultiples alineaciones que cumplan los criterios anteriormente definidos, Bowtie dar´a preferencia a las alineaciones que contengan menos desajustes y donde la suma establecida en el criterio 2 sea menor. Cuando la opci´on --best est´e especificada, Bowtie nos garantiza que la/s alineaci´on/es devuelta/s son las “mejores” en los t´erminos de estos criterios (el criterio 1 tiene prioridad con respecto al 2), y adem´as las alineaciones se mostrar´an de mejor a peor. En el caso de usar la opci´on --best Bowtie es m´as lento que si no se usa dicha opci´on. Tenga en cuenta que Maq internamente redondea las calidades menores a 10 y las mayores de 30 a 30. Para mantener la compatibilidad, Bowtie hace lo mismo. El redondeo puede ser suprimido usando la opci´on --nomaqround. Por defecto en los modos -n 2 y -n 3 Bowtie no es totalmente exhaustivo. En estos modos Bowtie impone un “limite de rastreo” para limitar el esfuerzo gastado a la hora de encontrar una alineaci´on v´alida entre lecturas de baja calidad que muy posiblemente no tengan alineaciones v´alidas. Esto puede causar que Bowtie pase por alto algunas alineaciones con 2 ´o 3 desajustes como legales. El l´ımite se establece a un valor predeterminado, pero razonable, (125 para el caso de no tener establecido --best y 800 para el caso de tener establecido --best); claro est´a, que el usuario puede cambiar estos valores si as´ı lo desea. Para modificar este l´ımite deber´a usar las opciones --maxbts y/o -y. La opci´on -y hace que Bowtie sea relativamente lento pero nos garantiza exhaustividad completa. 1.4.2. El modo de alineaci´on -v En el modo -v, las alineaciones no pueden tener m´as de V desajustes, donde V es un n´umero entre 0 − 3, establecido mediante la opci´on -v. Los valores de calidad no se tienen en cuenta. Recordamos que la opci´on -v es mutuamente excluyente con la opci´on -n. Si se da el caso de haber muchas alineaciones legales, Bowtie da preferencia a las alineaciones con menos desajustes. Cuando usamos la opci´on --best, Bowtie garantiza que la alineaci´on/es reportada es la mejor en t´erminos del n´umero de desajustes, y los resultados son mostrados en un orden de mejor a peor. Hay que mencionar que Bowtie es m´as lento si usamos la opci´on --best. 1.4.3. Estratos En el modo de alineamiento -n, una alineaci´on mediante “estratos” se define como el n´umero de desajustes en la regi´on “semilla”, es decir, las L bases en el extremo m´as a la izquierda (donde L se define mediante la opci´on -l). En el modo de alineamiento -v, una alineaci´on mediante “estratos” se define como el n´umero total de desajustes existentes en toda la alineaci´on. Algunas de las opciones de Bowtie (como --strata y -m) usan el concepto de “estrato” para limitar o ampliar el alcance de las alineaciones reportadas al usuario. 1.4.4. Modos de representaci´on de informes Con los modos -k, -a, -m, -M, --best y --strata, el usuario puede seleccionar con cierta flexibilidad qu´e alineaciones se van a mostrar. A continuaci´on veremos una serie de ejemplos en los cuales veremos diferentes maneras de combinar estas opciones. Todos los ejemplos se basan en el uso del ´ındice de e coli empaquetado con Bowtie. La opci´on --suppress se utiliza para mantener la salida concisa y adem´as se han 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
  • 19. - 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 opci´on -a le indica a Bowtie que reporte todas las alineaciones v´alidas, sujetas, en este caso, a la pol´ıtica de alineamiento: -v 2. En el ejemplo, bowtie ha encontrado 5 resultados inexactos dentro del genoma de la E. Coli; uno de los resultados (el 2o en la lista) tiene un ´unico desajuste, y los otros cuatro resultados tienen 2 desajustes. Hay que indicar que 4 de los resultados siguen la linea inversa de referencia y otro la linea a seguir (s´ımbolo ‘-’ para el caso inverso y ‘+’ para el normal). Hay que indicar que no est´an listados seg´un 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 opci´on -k 3 le indica a bowtie que reporte hasta 3 alineamientos v´alidos. En este ejemplo, existen un total de 5 alineamientos v´alidos (V´ease el punto 1.4.4.2 ); bowtie nos muestra 3 alineaciones de 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 opci´on -k 6 le indica a bowtie que nos muestre 6 alineaciones v´alidas. En este caso, ´unicamente existen 5 alineamientos v´alidos, 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
  • 20. En este caso dejamos el valor por defecto a la opci´on -k (en este caso 1), esto nos hace que bowtie nos muestre la primera alineaci´on devuelta. Como no se ha especificado la opci´on --best no podemos asegurar que la alineaci´on devuelta sea la ´optima, en este caso concreto no lo es (la alineaci´on con un ´unico desajuste del caso anterior ser´ıa mejor). No poner la opci´on -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 opci´on -a mostramos todas las alineaciones v´alidas que existan. Adem´as, como hacemos uso de la opci´on --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 opci´on --strata junto con -a y --best hace que bowtie nos muestre s´olo las alineaciones que son las mejores con respecto a la alineaci´on por “estratos” (V´ease el punto 1.4.3 en la p´agina 18 para m´as informaci´on sobre estratos). Las mejores alineaciones en este caso (con estratos) son las que tienen el menor n´umero de desajustes (o desajustes ´unicamente en la “semilla” si usamos la opci´on -n). Hay que tener en cuenta que si usamos la opci´on --strata tambi´en deberemos usar la opci´on --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 opci´on -m le estamos indicando a bowtie que se abstenga de informar cualquier alineaci´on para lecturas cortas que contengan m´as de “m” resultados, es decir, si incluimos -m 3 estamos diciendo que si tiene m´as de 3 alineaciones v´alidas que no nos muestre nada. La opci´on -m es ´util cuando se quiere garantizar que las alineaciones que se han reportado son “´unicas”, nosotros tendremos que definir el significado concreto de “´unico” para cada caso. 20
  • 21. 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 adem´as nos asegura que hay exactamente 5 alineaciones v´alidas. 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 opci´on -m 3 para decirle a bowtie que se abstenga de mostrar en el caso de tener m´as de 3 alineaciones v´alidas. Pero como vimos en el ejemplo 6 la lectura s´olo devuelve una ´unica alineaci´on v´alida cuando especificamos las opciones -a, --best y --strata, por eso la opci´on -m 3 hace que bowtie funcione de la manera habitual. De una forma intuitiva, la opci´on -m cuando se combina con las opciones --best y --strata, garantiza, de una forma d´ebil,un principio de “unicidad”. Para tener una unicidad m´as fuerte deberemos usar la opci´on -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” est´a especificada mediante las opciones -1 y -2 (para parejas sin tratar, FASTA16 , o ficheros de lecturas FASTQ17 ), o usando la opci´on --12 (para leer archivos delimitados por tabuladores). Una alineaci´on de extremos emparejados v´alida debe cumplir los siguientes criterios: 1. Ambos compa˜neros tienen una alineaci´on v´alida de acuerdo con la pol´ıtica de alineaci´on que se ha definido mediante alguna de las opciones -v/-n/-e/-l. 2. La orientaci´on y la posici´on relativa de los compa˜neros satisface las restricciones que se han definido mediante alguna de las opciones -l/-X/–fr/–rf/–ff. Para una determinada lectura corta podemos determinar la pol´ıtica que gobernar´a las alineaciones de extremos emparejados mediante las opciones -k, -a y -m. Por otro lado, tenemos que comentar que no 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 compa˜neros, cada uno en una l´ınea, donde se formatea el alineamiento para cada compa˜nero como si fueran alineamientos simples independientes. La alineaci´on para el compa˜nero que aparece m´as cerca del comienzo de la 16V´ease el ap´endice A.4 en la p´agina 115 para m´as informaci´on acerca del formato FASTA 17V´ease el ap´endice A.5 en la p´agina 117 para m´as informaci´on acerca del formato FASTQ 21
  • 22. secuencia de referencia se imprime siempre antes que el compa˜nero que aparece despu´es. Los ficheros de lecturas que contienen lecturas de extremos emparejados a veces nombran las lecturas de acuerdo al compa˜nero al que “pertenecen”, a˜nadiendo el sufijo /1 o /2 respectivamente. Si no se le indica sufijo en la entrada de Bowtie, el sufijo se le a˜nadir´a cuando se generan los nombres de las lecturas en los alineamientos (excepto en el modo -S “SAM”, que la informaci´on de los compa˜neros se codifica en los ‘‘FLAGS’’). Encontrar un alineamiento de extremos emparejados v´alido donde ambos compa˜neros se alinean en m´ultiples regiones puede consumir mucho tiempo. Por defecto, Bowtie evita gran parte de este coste mediante la imposici´on de un l´ımite en el n´umero de “intentos” haciendo que se ajuste un alineamiento para un compa˜nero cerca de un alineamiento para el el otro compa˜nero. El l´ımite por defecto es 100. Esto hace que bowtie pase por alto algunos alineamientos v´alidos, 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 compa˜neros contiene al otro se considera inv´alido. Cuando la alineaci´on por espacio de colores se activa mediante -C, la configuraci´on predeterminada para la orientaci´on de los extremos emparejados es --ff. Esto es debido a que la mayor´ıa de los conjuntos de datos de SOLiD llevan esta orientaci´on. Cuando la alineaci´on por espacio de colores no est´a activa (por defecto), la configuraci´on predeterminada para la orientaci´on es --fr, ya que la mayor´ıa de los datos de Illumina llevan esta orientaci´on. El valor por defecto se puede cambiar en cualquier caso. Debido a que Bowtie usa una representaci´on en memoria de la cadena de referencia origial couando busca alineamientos de extremos emparejados, su consumo de memoria es mayor cuando alinea lecturas de extremos emparejados. 1.4.6. Alineacion por Espacio de Colores Desde la versi´on 0.12.0, bowtie puede alinear lecturas en espacio de colores mediante un ´ındice de espacio de colores cuando hacemos uso de la opci´on -C. El espacio de colores es el formato de salida caracter´ıstico del sistema SOLiD de Applied Biosystems18 . En una lectura de espacio de colores, cada car´acter es un color en lugar de un nucle´otido, donde un color codifica una clase de dinucle´otidos. Por ejemplo el color azul codifica cualquiera de los dinucle´otidos AA, CC, GG, TT. El espacio de colores tiene la ventaja de ser capaz de encontrar errores de secuenciaci´on 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´ınea de comandos -c) son compatibles con un espacio de colores (-C). Cuando hacemos uso de la opci´on -C, las secuencias de lecturas son tratadas como colores. Los colores se podr´an codificar como n´umeros (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 imprimaci´on como primer car´acter, por ejemplo: >1_53_33_F3 T2213120002010301233221223311331 >1_53_70_F3 T2302111203131231130300111123220 ... Aqu´ı, T es la base de imprimaci´on. bowtie detecta y gestiona de manera adecuada la base de im- primaci´on (es decir, la base de imprimaci´on y los colores adyacentes se recortan antes de la alineaci´on) siempre y cuando el resto de la lectura se codifique como un n´umero. bowtie adem´as gestiona la entrada en formato de ficheros .csfasta y QV.qual. Deberemos usar la opci´on -f para especificar el fichero .csfasta y -Q o --Q/--Q2 (para lecturas con extremos emparejados) 18Para m´as informaci´on acceda a la web de SOLiD 22
  • 23. para especificar el correspondiente fichero QV.qual. No es necesario convertirlo antes a FASTQ, aunque bowtie tambi´en gestiona lecturas en espacio de colores formateadas en FASTQ (con la opci´on -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 que hemos de usar la opci´on -C cuando ejecutamos bowtie-build19 . Si un usuario intenta usar bowtie sin la opci´on -C para alinear con un ´ındice que ha sido creado con -C ( y viceversa), bowtie imprimir´a un mensaje de error y terminar´a. 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 en nucle´otidos y reporta la secuencia de nucle´otidos decodificada. Es necesario un esquema de decodifica- ci´on ya que es posible m´ultiples formas diferentes de decodificar. encontrar la decodificaci´on “perfecta” requiere el conocimiento de todas las posibles variantes (por ejemplo SNPs) en el genoma del sujeto de antemano, lo cual suele ser bastante complicado. En su lugar, bowtie emplea un esquema de decodi- ficaci´on aproximada descrito en [15]. Este esquema intenta distinguir las variantes de la secuencia de acuerdo con su probabilidad relativa bajo un modelo que considera los valores de calidad de los colores y la probabilidad global de un SNP. Los valores de calidad tambi´en son “decodificados”, de modo que cada valor de la calidad es una funci´on de las 2 calidades de color superpuestas. Bowtie de nuevo adopta un esquema descrito en [15], es decir, la calidad de los nucle´otidos decodificados es la suma de las calidades de color superpuestas (cuando los dos colores superpuestos corresponden a las bases que coinciden en la alineaci´on) o la calidad de la igualaci´on de color menos la calidad de no coincidencia de color o 0 (cuando los dos colores superpuestos corresponden a desajustes). Para una decodificaci´on correcta, --snpphred/--snpfrac deben establecerse de acuerdo a la mejor es- timaci´on de la frecuencia de SNPs en el sujeto. El par´ametro --snpphred establece la penalizaci´on SNP directamente (en la escala Phred), mientras que --snpfrac permite al usuario especificar una fracci´on; la fracci´on es convertida posteriormente a Phred quality internamente. Tenga en cuenta, que en el modo -S/--sam-mode, la secuencia de nucle´otidos decodificada es imprimida por alineamientos, pero la secuencia de color original (con A=azul, C=verde, G=naranja y T=rojo) es imprimida para lecturas no alineadas sin ninguna alineaci´on reportada. Como es habitual, los par´ametros --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 generaci´on lecturas de extremos emparejados. Cuando tenemos activada la alineaci´on mediante espacio de colores, la orientaci´on por defecto de los extremos emparejados es --ff. Esto es debido a que la mayor´ıa de los conjuntos de datos de SOLiD tienen esta orientaci´on. Tenga en cuenta que las lecturas generadas por SOLiD pueden tener compa˜neros “hu´erfanos”, es decir, sin pareja correspondiente en el otro fichero. Para evitar problemas debidos a compa˜neros hu´erfanos, la salida de extremos emparejados de SOLiD ha de ser convertida primero a un fichero .csfastq omitiendo las lecturas desemparejadas. Esto se puede lograr utilizando, por ejemplo, la herramienta de conversi´on Galaxy20 . 19V´ease la secci´on 1.5 en la p´agina 31 para m´as informaci´on acerca de bowtie-build 20Para m´as informaci´on acceda a la web http://main.g2.bx.psu.edu/ para m´as informaci´on acerca de Galaxy 23
  • 24. 1.4.7. Optimizaci´on del rendimiento A continuaci´on veremos una serie de consejos para optimizar el rendimiento de bowtie en su sistema: 1. Use la versi´on de bowtie de 64 bits si es posible. La versi´on de 64 bits de Bowtie es sustancialmente (por lo general m´as del 50 %) m´as r´apida que la versi´on de 32 bits, debido a la aritm´etica de 64 bits. 2. Si su sistema tiene m´ultiples procesadores/n´ucleos, use la opci´on -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 los ficheros del´ındice pero sin incluir la terminaci´on .1.ebwt/, .rev.1.ebwt etc. bowtie busca el ´ındice especificado primero en el directorio actual, despu´es en el subdirecto- rio /indexes dentro del directorio donde bowtie est´a instalado, y finalmente en el directorio especificado en la variable de entorno BOWTIE_INDEXES. <m1> Lista separada por comas de archivos que contienen los primeros compa˜neros (el nombre del archivo por lo general incluye 1), o, si hacemos uso de la opci´on -c, las secuencias de compa˜neros directamente. <m2> Lista separada por comas de archivos que contienen los segundos compa˜neros (el nombre del archivo por lo general incluye 2), o, si hacemos uso de la opci´on -c, las secuencias de compa˜neros 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 que van a ser alineadas, o , si hacemos uso de la opci´on -c, las lecturas desemparejadas directamente. <aciertos> Fichero en el cual se van a escribir los alineamientos. Por defecto, se muestran en la salida est´andar (en este caso la consola). 1.4.8.2. Opciones de entrada -q Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o como <s>) son ficheros FASTQ (normalmente con extensi´on .fq o .fastq) -f Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o como <s>) son ficheros FASTA (normalmente con extensi´on .fa, .mfa,fna o similares). Todos los valores de las calidades se suponen 40 en la escala Phred quality. 21V´ease la opci´on -p en la secci´on 1.4.8.8 en la p´agina 29 24
  • 25. -r Los ficheros de entrada de consultas (especificados como <m1> y <m2>, o como <s>) son ficheros Raw (en bruto): una secuencia por l´ınea, sin valores de calidad o nombres. Todos los valores de las calidades se suponen 40 en la escala Phred quality. -c Las sentencias de b´usqueda ser´an recogidas mediante la l´ınea de comandos -C/--quals <ficheros> Lista separada por comas de archivos que contienen los valores de calidad para las lecturas CSFASTA no emparejadas. Se usa en combinaci´on con -C y -f. La opci´on --integer-quals se activa autom´aticamente cuando -Q/--quals es especifica. --Q1 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres- pondientes CSFASTA #1 compa˜neros. --Q2 <ficheros> Lista, separada por comas, de ficheros que contienen los valores de los corres- pondientes CSFASTA #2 compa˜neros. -s/--skip <int> Descarta (no alinea) las primeras <int> lecturas o pares de la entrada. -u/--qupto <int> S´olo alinea las primeras <int> lecturas de la entrada (despu´es que -s/--skip haya 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 m´as 33. Esta opci´on est´a activada por defecto. --phred64-quals Las calidades son caracteres ASCII iguales a la Phred quality m´as 64. Esta opci´on est´a desactivada por defecto. --solexa-quals Convierte las calidades de entrada de Solexa (que pueden ser negativas) a Phred (que no pueden ser negativas). Esta opci´on es la m´as adecuada cuando usamos lecturas que provienen de versiones de GA Pipeline anteriores a la 1.3. Por defecto est´a desactivada. --solexa1.3-quals Igual que --phread64-quals. Es la opci´on m´as adecuada para usar con lecturas emitidas por GA Pipeline version 1.3 o posteriores. Por defecto est´a desacti- vada. --integer-quals Los valores de las calidades est´an representados en el fichero de entrada como enteros ASCII (por ejemplo 40 40 30 40. . . ) en vez de caracteres ASCII (por ejemplo II?I. . . ). 1.4.8.3. Opciones de Alineamientos -v <int> Reportar alineamientos con un m´aximo de <int> desajustes. Las opciones -e y -l son ignoradas y los valores de las calidades no tienen efecto en los alineamientos v´alidos. La opci´on -v es mutuamente excluyente con la opci´on -n. -n/--seedmms <int> N´umero m´aximo de desajustes permitidos en la “semilla”. Se permiten los valores 0, 1, 2 ´o 3; siendo el valor por defecto 2. Esta opci´on es mutuamente excluyente con la opci´on -v. -e/--maqerr <int> M´aximo total permitido de los valores de calidad de todos los desajustes de una lectura a trav´es de toda la alineaci´on, no s´olo en la semilla. El valor por defecto es 70. Al igual que Maq, bowtie redondea los valores de calidad 25
  • 26. al 10 m´as cercano y satura al 30; el redondeo puede ser deshabilitado con la opci´on --nomaqround. -l/--seedlen <int> La “longitud de la semilla”, es decir, el n´umero de bases en el extremo de alta calidad de la lectura en el cual se aplica el l´ımite -n. El valor m´as bajo permitido es 5 y el valor por defecto es 28. bowtie es m´as r´apido para valores altos de -l. --nomaqround Maq acepta valores de calidad en la escala Phred quality, pero internamente redondea los valores con una precisi´on de 10, con un m´aximo de 30. Por defecto, bowtie redondea de esta forma. --nomaqround indica que no se use esta forma de redondeo. -I/--minins <int> El tama˜no m´ınimo de inserci´on para un alineamiento de extremos empare- jados v´alido. Por ejemplo, si se especifica -I 60 y tenemos dos alineamiento de extremos emparejados de 20 pares de pases (en la orientaci´on apropiada) con un hueco de 20 pares de bases entre ellos, este alineamiento se considera v´alido ( partiendo de la base que --X tambi´en se satisface). Un hueco de 19 pb no ser´ıa v´alido en este caso porque no llegar´ıa al m´ınimo establecido de 60 pb. Si se usan las opciones de recorte -3 o -5, la restricci´on -I se aplica con respecto a los compa˜neros “sin recortes”. El valor por defecto es 0. -X/--maxins <int> El tama˜no m´aximo de inserci´on para un alineamiento de extremos empa- rejados v´alido. Por ejemplo, si se especifica -X 100 y tenemos dos alinea- mientos de extremos emparejados de 20 pb (en la orientaci´on apropiada) con un hueco de 60 pb entre ellos, este alineamiento se considera v´alido (partiendo de la base que --I tambi´en se satisface). Un hueco de 61 pb no ser´ıa v´alido en este caso porque sobrepasar´ıa el m´aximo permitido de 100. Si se usan las opciones de recorte -3 o -5, la restricci´on -X se aplica con respecto a los compa˜neros “sin recortes”. El valor por defecto es 250. --fr/--rf/--ff Las diferentes orientaciones en las que podemos encontrarnos los com- pa˜neros en un alineamiento de extremos emparejados. Si hacemos uso de --fr y hay un alineamiento de extremos emparejados v´alido donde el com- pa˜nero 1 aparece antes que el inverso complementario del compa˜nero 2 y se cumplen las limitaciones de loingitud, ese alineamiento es v´alido. Si el compa˜nero 2 aparece antes que el inverso complementario del compa˜nero 1 y todas las restricciones se cumplen, tambi´en es v´alido. --rf tambi´en exige que el compa˜nero 1 (en la orientaci´on normal) sea inverso complementado y el compa˜nero 2 (en la orientaci´on inversa) est´e en un sentido normal. --ff requiere que el compa˜nero 1 est´e en el sentido normal y el 2 en el sentido inverso. --nofw/--norc Si hacemos uso de --nofw, bowtie no intentar´a alinear con la cadena en el sentido normal. Si usamos --norc, bowtie no intentar´a alinear con la cadena inversa complementada. --maxbts N´umero m´aximo de “vueltas atr´as” permitidas cuando se alinea una lectura en el modo -n 2 o -n 3 (por defecto: 125 sin --best, 800 con --best). Una “vuelta atr´as” es la introducci´on de un cambio especulativo en la alineaci´on. Sin este l´ımite, los par´ametros por defecto hacen que bowtie intente 100 o 1000 vueltas atr´as para alinear una lectura, especialmente si la lectura contiene muchas bases con baja calidad y/o no tiene alineamientos v´alidos; haciendo que bowtie baje su rendimiento significativamente. Sin embargo, este l´ımite puede causar que algunas alineaciones v´alidas se pierdan. --pairtries <int> Para alineaciones de extremos emparejados, este es el n´umero m´aximo de intentos que bowtie har´a para que un alineamiento para un compa˜nero coincida con un alineamiento para el otro compa˜nero. La mayor´ıa necesita unos pocos intentos, pero es posible que algunas parejas requieran muchos 26
  • 27. intentos, bajando el rendimiento se bowtie significativamente. El valor por defecto es 100 intentos. -y/--tryhard Intenta , como sea posible, encontrar alineamientos v´alidos cuando existen, incluyendo alineamientos con extremos emparejados. Esto es equivalente al uso de --maxbts y --pairtries con valores muy altos. Esta opci´on hace que bowtie sea generalmente mucho m´as lento que el modo normal por defecto. --chunkmbs <int> N´umero de MegaBytes de memoria que se le asigna a cada hilo para al- macenar los descriptores en el modo --best. Bowtie intenta minimizar la memoria usada por los descriptores, pero en muchos casos esta memoria puede crecer demasiado. Si se recibe alg´un mensaje indicando que la me- moria se ha agotado en el modo --best, deberemos ajustar la memoria con este par´ametro dedicando m´as memoria a los descriptores. El valor por defecto son 64 MB. 1.4.8.4. Opciones de informes -k <int> Reporta <int> alineamientos v´alidos por lectura o par (por defecto 1). La validez de las alineaciones se determinada por la pol´ıtica de alineamiento (efectos combinados de -n, -v, -l y -e). Bowtie est´a dise˜nado para ser muy r´apido para valores peque˜nos de -k, y puede llegar a volverse muy lento para valores grandes de -k. Si le interesa usar Bowtie con valores altos de -k considere la creaci´on de un ´ındice22 . -a/--all Informa de todas las alineaciones v´alidas por lectura o par (por defec- to est´a desactivado). La validez de las alineaciones se determinada por la pol´ıtica de alineamiento (efectos combinados de -n, -v, -l y -e). Bowtie est´a dise˜nado para ser muy r´apido para valores peque˜nos de -k, y puede llegar a volverse muy lento si usamos -a/--all. Si le interesa usar Bowtie con -a/--all considere la creaci´on de un ´ındice. -m <int> Suprimir todos los alineamientos de una lectura o par si para esa lectura existen m´as de <int> alineamientos. Cuentan como alineamientos aquellos que son reportados por -n, -v, -l, -e, -k, -a y/o --strata. Por defecto no tiene l´ımite. -M <int> Se comporta como -m salvo que si una lectura tiene m´as de <int> alinea- mientos se reporta uno aleatoriamente. --best Garantiza que Bowtie reporta alineamientos que son los “mejores” en t´ermi- nos de estratos (por ejemplo, n´umero de desajustes, o desajustes en la se- milla en el caso de el modo -n) y en t´erminos de calidad en las posiciones con desajustes. Cuando no especificamos --best Bowtie reportar´a alinea- mientos que no tienen por qu´e ser ´optimos en t´erminos de estratos/calidad. Tenga en cuenta que --best no afecta a cuales alineamientos son conside- rados “v´alidos” por bowtie, si no cu´ales de esos alineamientos v´alidos son reportados por bowtie. --strata Si existen muchas alineaciones v´alidas y son “reportables” y caen en muchos estratos, se reportan ´unicamente aquellas alineaciones que caen en el mejor estrato. Cuando hacemos uso de --strata tambi´en deberemos usar --best. 1.4.8.5. Opciones de salida -t/--time Imprime el tiempo empleado en cada una de las fases. 22V´ease la secci´on 1.5 en la p´agina 31 para m´as detalles acerca de los ´ındices 27
  • 28. -B/--offbase <int> Cuando muestra los alineamientos, la posici´on de la primera base ser´a <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 puede ser ´util para grandes vol´umenes de lecturas, por ejemplo para alinear con el 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 de nombre <fichero>. --un <fichero> Escribe todas las lecturas que no han podido ser alineadas en un archivo de nombre <fichero>. --max <fichero> Escribe todas las lecturas con un n´umero de alineamientos v´alidos superior al l´ımite establecido con la opci´on -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 se mostrar´an en la salida. Esta opci´on es ignorada si estamos en el modo de salida -S/--sam. --fullref Imprime el nombre de referencia completo de una secuencia. Por defecto bowtie imprime hasta llegar al primer espacio en blanco. 1.4.8.6. Opciones del Espacio de colores --snpphred <int> En la decodificaci´on de alineamientos con espacio de colores, se usa <int> como la penalizaci´on SNP. Se debe establecer al mejor valor en relaci´on de SNPs por base del genoma sujeto, convertido a la escala de calidad Phred. Por ejemplo, si el usuario espera 1 SNP cada 1000 posiciones, --snpphred deber´a ser 30 (que es el valor por defecto. Para especificar una fracci´on directamente deber´a usar --snpfrac. --snpfrac <dec> En la decodificaci´on de alineamientos con espacio de colores, se usa <dec> como la relaci´on SNPs por base. bowtie convierte el valor al formato de calidad Phred, y se comporta como si se hubiera usado la opci´on --snpphred. El valor por defecto es 0,0001 --col-cseq Si las lecturas est´an en espacio de colores y el modo por defecto de salida23 est´a activado, --col-cseq hace que el color de la secuencia aparezca en la columna de la secuencia de la lectura (columna 5) en lugar de la secuencia de nucle´otidos. Esta opci´on es ignorada en el modo -S/--sam. --col-cqual Si las lecturas est´an en espacio de colores y el modo por defecto de salida est´a activado, --col-cseq hace que la calidad (color) original de la lectura aparezca en la columna de la calidad en vez de la calidad decodificada. Esta opci´on es ignorada en el modo -S/--sam. --col-keepends Cuando se decodifican alineamientos con espacio de colores, bowtie corta un nucle´otido y una calidad de la izquierda y de la derecha del alineamien- to. Esto se debe a que los nucle´otidos son compatibles con un s´olo color, en contraste con los nucle´otidos del medio que son soportados por dos. Especificar --col-keepends mantiene los nucle´otidos y sus calidades en los extremos. 23V´ease la secci´on 1.4.9 en la p´agina 30 para m´as informaci´on acerca de este modo 28
  • 29. 1.4.8.7. Opciones de SAM -S/--sam Imprime los alineamientos en formato SAM. Vaya a la secci´on 1.4.10 en la p´agina siguiente para m´as detalles. Para suprimir todas las cabeceras SAM use la opci´on --sam-nohead adem´as de -S/--sam. Para suprimir s´olo las cabeceras @SQ use la opci´on --sam-nosq junto con -S/--sam. bowtie no crea archivos BAM directamente, pero la salida en formato SAM puede ser convertida en formato BAM directamente haciendo uso de tuber´ıas y el comando samtools view24 . La opci´on -S/--sam no es compatible con --refout. --mapq <int> Si el alineamiento es no repetitivo (de acuerdo con -m, --strata y otras opciones) se establecer´a el campo MAPQ25 (Calidad del mapeo/asignaci´on) con el valor que recibe por par´ametro (<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 a no ser que se use con -S/--sam. --sam-nosq Suprime las l´ıneas de cabecera @SQ cuando la salida es -S/--sam. Debe usarse en conjunto con -S/--sam. --sam-nosq se ignora a no ser que se use con -S/--sam. --sam-RG <texto> A˜nade <texto> (generalmente de la forma TAG:VAL, por ejemplo ID:IL7LANE2) como un campo en la l´ınea de cabecera @RG. Para especificar m´ultiples cam- pos deberemos usar m´ultiples veces la opci´on --sam-RG. --sam-RG se ignora a 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 ser´an descartadas cuando el ´ındice se cargue en memoria. Esto reduce el consumo de memoria del ali- neador, pero requiere m´as tiempo para calcular los desplazamientos. <int> debe ser mayor que el valor usado para la creaci´on del ´ındice. -p/--threads <int> Lanza <int> hilos en paralelo. Los hilos pueden ser ejecutados en diferentes procesadores/n´ucleos y sincronizarse luego para analizar las lecturas y los alineamientos resultantes. --mm Usa la asignaci´on de memoria de E/S para cargar el ´ındice, en vez de los ficheros C normales de E/S. Esto facilita la eficiencia de la memoria a la hora de paralelizar bowtie en situaciones donde -p no es posible. --shmem Usa la memoria compartida para cargar el ´ındice. El uso de la memoria compartida permite que muchos procesos concurrentes de bowtie compar- tan el mismo ´ındice. Esto facilita la eficiencia de la memoria a la hora de paralelizar bowtie en situaciones donde -p no es posible. 1.4.8.9. Otras opciones --seed <int> Usa <int> como semilla para generar n´umeros pseudoaleatorios. --verbose Muestra toda la salida generada (se usa para debug). --version Muestra la versi´on de bowtie instalada en el sistema. 24V´ease el cap´ıtulo 4 en la p´agina 69 para m´as informaci´on acerca de SAMtools 25V´ease el ap´endice A.1 en la p´agina 107 para m´as informaci´on acerca del campo MAPQ 26V´ease la secci´on 1.5 en la p´agina 31 para m´as informaci´on acerca de la creaci´on de ´ındices 29
  • 30. -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 colecci´on de 8 campos separados 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 num´erico si no se proporcion´o ning´un nombre. 4. Desplazamiento en la hebra de referencia. 5. Secuencia de la lectura (o inversa complementaria si la orientaci´on es ‘-’). Si la lectura estaba en espacio de colores, entonces la secuencia mostrada en esta columna es la secuencia de nucle´otidos, no los colores originales. V´ease la secci´on 1.4.6 en la p´agina 22 para m´as detalles. Para mostrar los colores hemos de usar la opci´on --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 son las calidades decodificadas, no las calidades originales. Para mostrar los colores hemos de usar la opci´on --col-cseq. 7. Si hemos hecho uso de la opci´on -M y el l´ımite establecido se ha superado con esta lectura, esta columna contendr´a el valor del l´ımite, indicando que se encontraron al menos esas alineaciones, pudiendo ser muchas m´as. 8. Lista, separada por comas, de descriptores de desajustes. Si no hay desajustes en el alineamiento este campo estar´a vac´ıo. Un descriptor tiene el formato desplazamiento:base-de-referencia>lectura-base. 1.4.10. Salida en formato SAM de bowtie A continuaci´on presentamos una breve descripci´on de la salida que genera bowtie en formato SAM cuando hacemos uso de la opci´on -S/--sam. Para m´as detalles, vea el formato SAM en el ap´endice A.1 en la p´agina 107. Cuando hacemos uso de la opci´on -S/--sam, bowtie imprime una cabecera SAM con las l´ıneas @HD, @SQ y @PG. Adem´as, cuando especificamos argumentos RG de SAM mediante --sam-RG, bowtie imprimir´a una l´ı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 una colecci´on 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 m´as relevantes de Bowtie son: 1 La lectura es una de una pareja. 2 El alineamiento es un extremo de una correcta alineaci´on 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 alineaci´on pertenece a la orientaci´on inversa de la cadena. 30
  • 31. 32 El otro compa˜nero del alineamiento de extremos emparejados pertenece a la orientaci´on inversa de la cadena. 64 La lectura es el primer compa˜nero dentro de la pareja. 128 La lectura es el segundo compa˜nero dentro de la pareja. Por lo tanto, una lectura sin pareja que se alinea en la orientaci´on inversa tendr´a como flag 16. Una lectura de extremos emparejados que se alinee y adem´as sea el primero de los compa˜neros tendr´a bandera 83 (= 64 + 16 + 2 + 1). 3. Nombre de la secuencia de referencia donde se produce la alineaci´on, o ID ordinal si no se propor- cion´o el nombre. 4. Desplazamiento en la hebra de referencia donde aparece el car´acter m´as a la izquierda del alinea- miento. 5. Calidad del mapeo. 6. Cadena CIGAR de la alineaci´on. 7. Nombre de la secuencia de referencia donde se alinea el compa˜nero. Se establece a “=” si la secuencia de referencia del compa˜nero es la misma, o “*” si no hay compa˜nero. 8. Desplazamiento en la hebra de referencia donde aparece el car´acter m´as a la izquierda del alinea- miento del compa˜nero. El desplazamiento ser´a 0 si no hay compa˜nero. 9. Tama˜no de inserci´on inferido. El tama˜no es negativo si la alineaci´on de la pareja se produce antes en la cadena que este alineamiento. El tama˜no es 0 si no existe pareja. 10. Secuencia (inversa complementada si se alinea en la cadena inversa). 11. Cualidades de las lecturas en codificaci´on ASCII. 12. Campos opcionales. Los campos est´an separados por tabuladores. Para una descripci´on m´as deta- llada vea el ap´endice A.1 en la p´agina 107. Bowtie imprimir´a algunos de estos campos opcionales en 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 est´a 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 alineaci´on. Para alineamientos en espacio de colores, <S> describe los nucle´otidos de la alineaci´on, no los colores. XA:i:<N Los alineamientos pertenecen al estrato <N>. V´ease el punto 1.4.3 en la p´agina 18 para m´as informaci´on 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. La salida 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 poder alinear lecturas cortas. Los ficheros originales con las secuencias de DNA no son usados por Bowtie una vez que el ´ındice ha sido creado. 27V´ease [3] para m´as informaci´on sobre la transformada de Burrows-Wheeler 31
  • 32. Bowtie usa el algoritmo por bloques de Karkkainen [11] para compensar el tiempo de ejecuci´on y la memoria usada. bowtie-build tiene tres opciones para gestionar esta compensaci´on: -p/--packed, --bmax/--bmaxdivn y --dcv. Por defecto, bowtie-build buscar´a la configuraci´on que produzca los me- jores tiempos de ejecuci´on sin agotar la memoria disponible. Este comportamiento por defecto puede deshabilitarse mediante la opci´on -a/--noauto. El indexador ofrece una serie de opciones relacionadas con la “forma” que tendr´a el´ındice, por ejemplo --offrate se encarga de gestionar qu´e fracci´on de las filas de la transformada de Burrows-Wheeler[3] son “marcadas”. Todas estas opciones son potencialmente provechosas dependiendo de la aplicaci´on concreta. Se han establecido los valores predeterminados (que son razonables para la mayor´ıa de los casos) de acuerdo con nuestros experimentos. V´ease la secci´on 1.4.7 en la p´agina 24 para m´as informaci´on. Debido a que bowtie-build usa internamente punteros de 32-bit, puede manejar hasta un m´aximo te´orico de 232 − 1 caracteres en un ´ındice, sin embargo, debido a otras limitaciones, el techo real es algo menor que eso. Si nuestra referencia sobrepasa los 232 −1 caracteres, bowtie-build mostrar´a un mensaje de error y abortar´a el proceso. Para resolver este problema, deberemos dividir la secuencia de referencia en lotes m´as peque˜nos y/o trozos y construir un ´ındice independiente para cada uno. Si su equipo tiene m´as de 3-4 GB de memoria RAM y quiere aprovechar este hecho para hacer m´as r´apida la construcci´on del ´ındice, deber´a usar la versi´on de bowtie-build de 64 bits. La versi´on de 32 bits est´a restringida para usar menos de 4 GB de memoria. Si en la zona de descarga de Bowtie no existe un binario “pre-compilado” deber´a descargar el c´odigo 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 basa en la transformada de Burrows-Wheeler[3]. El algoritmo usado para construir el ´ındice est´a basado en el algoritmo 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 est´a especificada, las propias secuencias. Por ejemplo <referencia> puede ser chr1.fa, chr2.fa, chrX.fa, o, si -c est´a 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, donde NOMBRE es <ebwt base>. 1.5.1.2. Opciones -f Los ficheros referencia de entrada (especificados como <referencia>) son fi- cheros FASTA (usualmente con extensi´on .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 lugar de 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
  • 33. -a/--noauto Desactiva el comportamiento por defecto por el cual bowtie-build selecciona autom´aticamente los valores para los par´ametros --bmak, --dcv y --packed de acuerdo con la memoria disponible. En su lugar, el usuario puede especificar los valores de estos par´ametros. Si la memoria se agota durante la indexaci´on se mostrar´a un error indicando dicho evento; en dicho caso es responsabilidad del usuario buscar nuevos par´ametros para evitar dicho error. -p/--packed Usa una representaci´on empaquetada ( 2 bits por nucle´otido) para las cadenas de DNA. Esto hace que se ahorre memoria pero hace que la indexaci´on se vuelva 2-3 veces m´as lenta. Por defecto esta opci´on est´a deshabilitada y se puede configurar manualmente haciendo uso de la opci´on -a/--noauto. --bmax <int> El n´umero m´aximo de sufijos permitidos en un bloque. Permitiendo m´as sufijos por bloque hace que la indexaci´on sea m´as r´apida, pero aumenta el uso de la memoria. Al usar esta opci´on se reemplaza cualquier valor anterior de --bmax o --bmaxdivn. Por defecto (en t´erminos el par´ametro --bmaxdivn) el valor es --bmaxdivn 4. Esto se configura autom´aticamente por defecto; usaremos -a/-- noauto para configurarlo manualmente. --bmaxdivn <int> El n´umero m´aximo de sufijos permitidos en un bloque, expresado como fracci´on de la longitud de la secuencia de referencia. Al usar esta opci´on se reemplaza cualquier valor anterior de --bmax o --bmaxdivn. Por defecto (en t´erminos el par´ametro –bmaxdivn) el valor es --bmaxdivn 4. Esto se configura autom´ati- camente por defecto; usaremos -a/--noauto para configurarlo manualmente. --dcv <int> Usa <int> como per´ıodo de la muestra. Un per´ıodo largo produce menos sobrecarga de memoria, pero hace la ordenaci´on de sufijos m´as lenta, especial- mente si hay repeticiones. Debe ser una potencia de 2 menor que 4096. El valor por defecto es 1024. Esto se configura autom´aticamente por defecto; usaremos -a/--noauto para configurarlo manualmente. --nodc Deshabilita el uso de --dcv. La ordenaci´on de sufijos pasa a ser de tiempo cuadr´atico en el peor caso. Por defecto esta opci´on est´a deshabilitada. -r/--noref No construye las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT del´ındice, las cuales contienen una versi´on empaquetada de la secuencia de referencia y es usada para alineamientos de extremos emparejados. -3/--justref Construye s´olo las partes NOMBRE.3.ebwt y NOMBRE.4.EBWT, las cuales contie- nen una versi´on empaquetada de la secuencia de referencia y es usada para alineamientos 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 transformada de Burrows-Wheeler[3] con su correspondiente ubicaci´on en el genoma. -o-/-- offrate se encarga de cu´antas filas van a ser marcadas: el indexador marcar´a ca- da 2<int> filas. Marcar m´as filas produce que las b´usquedas de referencia- posici´on sean m´as r´apidas, pero requiere de m´as memoria para mantener todas las anotaciones en tiempo de ejecuci´on. El valor por defecto es 5 (anota 1 fila cada 32); para el caso del genoma humano las anotaciones ocupan 340 MB. -t/--ftabchars <int> Ftab es una tabla de b´usqueda utilizada para calcular el rango inicial de la transformada de Burrows-Wheeler[3] con respecto a los primeros <int> carac- teres de la consulta. Un <int> m´as grande produce una tabla de b´usqueda m´as grande, pero tambi´en produce tiempos m´as r´apidos en las consultas. la ftab tiene un tama˜no de 4<int>+1 bytes. Por defecto, est´a establecido a 10 (la ftab tiene un tama˜no 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 que las incluyan. 33
  • 34. --big --little Se usar´a 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 n´umeros pseudo-aleatorios. --cutoff <int> Indexar´a ´unicamente las primeras <int> bases de la secuencia de referencia e ignorar´a el resto. -q/--quiet bowtie-build por defecto est´a en modo “verbose”. Con esta opci´on bowtie-build s´olo imprimir´a los mensajes de error. -h/--help Muestra la ayuda de bowtie-build. --version Muestra la versi´on de bowtie-build instalada en el sistema. 1.6. El inspector de ´ındices bowtie-inspect bowtie-inspect extrae informaci´on de un ´ındice de Bowtie sobre qu´e tipo de ´ındice y sobre las se- cuencias de referencia se usaron para construirlo. Cuando se ejecuta sin ninguna opci´on, bowtie-inspect mostrar´a en la salida un fichero FASTA que contiene las secuencias de referencia originales (con todos los caracteres que no son A/C/G/T convertidos en Ns). Tambi´en puede ser utilizado para extraer los nombres de las secuencias de referencia usando la opci´on -n/--names o un resumen m´as detallado mediante la opci´on -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 nombre de los ficheros del ´ındice pero sin incluir la terminaci´on .X.ebwt/.rev.X.ebwt etc. bowtie busca el ´ındice especificado primero en el directorio actual, despu´es en el subdirectorio indexes dentro del directorio donde bowtie est´a instalado, y finalmente en 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 car´acter 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 informaci´on sobre la configuraci´on del ´ındice, as´ı como los nombres y longitudes de las secuencias de entrada. El resumen tiene el siguiente formato: Colorspace <0 or 1> SA-Sample 1 in <sample> FTab-Chars <chars> Sequence-1 <nombre> <longitud> Sequence-2 <nombre> <longitud> 34
  • 35. ... Sequence-N <nombre> <longitud> Los campos se separan mediante tabuladores. -e/--ebwt-ref Por defecto, cuando ejecutamos bowtie-inspect sin la opci´on -s o la opci´on -n, ´este recrea las secuencias de nucle´otidos usando los nucle´otidos codificados que se encuentran en los ficheros .3.ebwt y .4.ebwt del ´ındice. Cuando hacemos uso de la opci´on -e/--ebwt-ref bowtie-inspect recrea la secuencia de referencia a partir del fichero .1.ebwt que contiene la secuencia de referencia basada en la transformada de Burrows-Wheeler[3]. El proceso de recreaci´on es mucho m´as lento cuando hacemos uso de -e/--ebwt-ref. Adem´as, 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 versi´on de bowtie-inspect instalada en el sistema. -h/--help Muestra la ayuda de bowtie-inspect. 35
  • 36. 36
  • 37. Cap´ıtulo 2 TopHat 2.1. ¿Qu´e es TopHat? TopHat [20] es un programa que trata de alinear secuencias cortas de RNA dentro de un genoma para identificar las uniones de empalme exon-exon. Se basa en la alineaci´on ultra r´apida de lecturas cortas de Bowtie1 para su funcionamiento. TopHat corre ´unicamente en Linux y OS X, para hacerlo funcionar en Windows deberemos usar alg´un tipo de emulador. 2.2. ¿Qu´e tipo de lecturas podemos usar con TopHat? En un principio, TopHat fue dise˜nado para trabajar con lecturas producidas por Illumina Genome Analyzer 2 , aunque muchos usuarios han tenido ´exito al usar TopHat con lecturas provenientes de otras tecnolog´ıas. En la versi´on 1.1.0 de TopHat se comenz´o a soportar el formato de Espacio de Colores de Applied Biosystems. Hay que remarcar que TopHat est´a optimizado para lecturas de 75 pares de bases o m´as. Actualmente, TopHat no permite hacer inserciones o deleciones peque˜nas (menos de unas pocos nucle´otidos) dentro de las alineaciones reportadas. El soporte para dicha funcionalidad se pretente a˜nadir en futuras versiones. La mezcla de lecturas emparejadas y lecturas simples juntas no est´a permitida en TopHat. 2.3. ¿C´omo encuentra TopHat las uniones? A la hora de encontrar uniones, Tophat lo hace sin anotaciones de referencia. Primero lo que hace es mapear las secuencias cortas de RNA en el genoma; acto seguido, Tophat, identifica exones potenciales, ya que muchas secuencias cortas de RNA se alinear´an de manera continua en el genoma. Usando este mapeo inicial, TopHat construye una base de datos con todas las uniones posibles, y a continuaci´on, mapea cada una de las lecturas con su posible uni´on para confirmarlas. Las m´aquinas de secuenciaci´on en la actualidad producen lecturas cortas de un tama˜no de 100 pares de bases o superior. Algunos exones son m´as cortos de 100 pares de bases, esto produce que muchos exones se puedan “perder” en el mapeo inicial. TopHat para solucionar este problema fracciona todas las lecturas de entrada en fragmentos m´as peque˜nos, y los mapea de forma independiente. En la etapa final TopHat vuelve a “pegar” los segmentos para as´ı poder producir las alineaciones. 1V´ease el cap´ıtulo 1 en la p´agina 15 para m´as informaci´on 2Illumina Genoma Analyzer es un secuenciador de DNA de la empresa Illumina 37
  • 38. Tophat, a la hora de generar la base de datos de la uniones, hace uso de tres posibles fuentes de evidencias: La primera fuente son los emparejamientos de “islas de cobertura”, que se localizan en distintas regiones de la pila de lecturas de la asignaci´on inicial. Las “islas” vecinas son, a menudo, colocadas juntas en el transcriptoma; as´ı, TopHat, busca la forma de unirlas con un intr´on. La segunda fuente s´olo es utilizada cuando TopHat se ejecuta con lecturas de extremos emparejados. Cuando se lee un par proveniente de diferentes exones de una transcripci´on, por lo general, se asignan bastante separados en el genoma. Cuando nos encontramos frente a una situaci´on de este tipo, TopHat trata de “cerrar” la brecha entre ambos mediante la b´usqueda de subsecuencias del genoma que sean “compa˜neras” de una longitud total igual a la distancia de la brecha. Despu´es de esto, los intrones de la subsecuencia se a˜nadir´an a la base de datos que genera TopHat. La tercera, y m´as fuerte fuente de evidencias, se produce cuando dos segmentos de la misma lectura se asignan lejos uno de otro, o cuando falla el mapeo de un segmento interno. Con lecturas largas (de m´as de 75 pares de bases), los intrones “GT-AG”, “GC-AG” y “A-AC” se encuentran al principio. Con cadenas cortas, TopHat s´olo informa alineamientos con los intrones “GT-AG”. 2.4. Prerrequisitos Como dijimos en la secci´on 2.1 en la p´agina anterior, TopHat est´a basado en Bowtie. Por ello para poder ejecutar TopHat en nuestro sistema deberemos tener los siguientes ejecutables de Bowtie dentro de nuestra variable PATH. bowtie bowtie-inspect bowtie-build Por otro lado, las alineaciones de salida de TopHat usan el formato BAM, por lo que necesitaremos descargar e instalar SAM tools. Si necesita m´as informaci´on sobre SAM tools puede leer el cap´ıtulo 4 en la p´agina 69 que habla sobre dicho sistema. El ´ultimo requisito necesario para hacer funcionar correctamente TopHat en nuestro sistema es que debe de tener la versi´on 2.4, o superior, de Python. 2.5. Obtener e instalar TopHat Para obtener TopHat puede ir directamente a la p´agina 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 generar´a los ficheros ejecutables. 5. Finalmente para instalar TopHat en nuestro sistema deberemos de ejecutar sudo make install. De esta forma TopHat quedar´a correctamente instalado y los ejecutables estar´an listos para ser usados. En la secci´on 2.6 en la p´agina siguiente podr´a tener informaci´on relevante y de una forma detallada de todas las opciones que puede usar con TopHat. 38
  • 39. 2.6. Usando el mapeador de uniones TopHat Veamos una descripci´on detallada del formato que ha de seguir para poder invocar correctamente a TopHat: 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 separados por 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 es el nombre de los ficheros del ´ındice pero sin incluir la terminaci´on .1.ebwt/, .rev.1.ebwt etc. bowtie busca el ´ındice especifica- do primero en el directorio actual, despu´es en el subdirectorio indexes dentro del directorio donde bowtie est´a instalado, y fi- nalmente en el directorio especificado en la variable de entorno BOWTIE_INDEXES. lecturas1 1 ,. . . lecturasN 1 Lista separada por comas de ficheros que contienen lecturas en formato 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 en formato FASTA o FASTQ. S´olo es usado cuando usamos TopHat con lecturas de finales emparejados, y contiene el conjunto de ficheros * 2. Los ficheros * 2 deben aparecer en el mismo orden que los ficheros * 1. 2.6.2. Opciones -h/--help Muestra la ayuda de TopHat. -v/--version Muestra la versi´on de TopHat instalada en el sistema. -o/--output-dir <string> Establece el directorio en el cual TopHat guardar´a las sa- lidas generadas. Por defecto es el directorio “.tophat out”. -r/--mate-inner-dist <int> Esta es la distancia (media) esperada entre compa˜neros. Por ejemplo, para extremos emparejados si ejecutamos con fragmentos de 300 pares de bases, en los que cada final tiene 50 pares de bases, entonces deberemos establecer -r a 200. No existe valor por defecto, y es necesario para ejecuciones con extremos emparejados. --mate-std-dev <int> La desviaci´on est´andar para la distribuci´on de las distan- cias internas entre pares compa˜neros. El valor por defecto es 20 pares de bases. -a/--min-anchor-length <int> La “longitud del ancla”. TopHat informar´a de uniones ge- neradas por lecturas con al menos <int> bases en cada lado de la uni´on. Como m´ınimo debe ser 3 y por defecto est´a establecido a 8. 39
  • 40. -m/--splice-mismatches <int> El n´umero m´aximo de desajustes que pueden aparecer en la regi´on “ancla” de una alineaci´on emparejada. El valor por defecto es 0. -i/--min-intron-length <int> La longitud m´ınima del intr´on. Tophat ignorar´a pares do- nante/receptor que est´en m´as cerca de la distancia m´ınima establecida. El valor por defecto son 70 pares de bases. -I/--max-intron-length <int> La longitud m´axima del intr´on. --allow-indels Establece el motor de b´usqueda “indel”3 . La b´usqueda “in- del” est´a deshabilitada por defecto. --max-insertion-length <int> Podemos cambiar la longitud m´axima de inserci´on, que por defecto est´a establecida a 3. --max-deletion-length <int> Podemos cambiar la longitud m´axima de deleci´on, que por defecto est´a establecida a 3. --solexa-quals Usa la escala “Solexa” para los valores de calidad en los ficheros FASTQ4 . --solexa1.3-quals En la versi´on 1.3 del “pipeline” Illumina GA, las calidades Phred van codificadas en base 64. Usaremos esta opci´on para los ficheros FASTQ dentro del “pipeline” 1.3 o ante- rior. -Q/--quals Usaremos esta opci´on para indicarle que las calidades vie- nen en ficheros separados. Los ficheros con lecturas en es- pacio de colores (CSFASTA) vienen con las calidades en ficheros separados. --integer-quals Los valores de las calidades vienen delimitados por valores enteros, esto viene por defecto cuando usamos la opci´on -C/--color. -C/--color Lecturas en espacio de colores. Hay que tener en cuen- ta que debemos usar un indexado por espacio de colores en Bowtie 0.12.6 o superior. El uso t´ıpico es el siguiente tophat --color --quals [otras opciones]* <indice_espacio_de_colores> <lecturas> <calidades> -F/--min-isoform-fraction < 0, 0 − 1,0 > TopHat ignora uniones que est´an basadas en pocos alinea- mientos. Supongamos que tenemos una uni´on que abarca 2 exones, formada por S lecturas. Definamos la profundidad promedio de cobertura del ex´on A como D, y asumimos que es mayor que B. Si S/D es menor que “min-isoform- fraction”, la uni´on no ser´a reportada. El valor 0 deshabilita el filtro. Por defecto es 0,15. -p/--num-threads <int> Podemos especificar cu´antos threads se van a usar para alinear las lecturas. Por defecto ´unicamente usamos un th- read. -g/--max-multihits <int> Permite a TopHat que muestre un n´umero m´aximo de ali- neamientos para una lectura dada, el resto de alineamientos los descarta. El valor por defecto es 20. 3indel es una contracci´on de “insert-delete”, inserci´on y borrado 4V´ease la seccion A.5 en la p´agina 117 para m´as informaci´on del formato FASTQ 40
  • 41. --no-closure-search Desactiva la b´usqueda de compa˜neros basada en cierres para uniones. Est´a desactivado por defecto. --closure-search Activa la b´usqueda de compa˜neros basada en cierres para los cruces. Hay que tener en cuenta que se debe habilitar cuando la distancia entre compa˜neros es peque˜na (≤ 50pb) --no-coverage-search Desactiva la b´usqueda de cobertura para cruces. --coverage-search Activa la b´usqueda de cobertura para cruces. --microexon-search Con esta opci´on, tophat intentar´a buscar alineamientos incidentes en microexones. S´olo funciona para lecturas de 50 pb o mayores. --butterfly-search TopHat utilizar´a un algoritmo m´as lento, pero potencial- mente m´as sensible para encontrar uniones, adem´as de la b´usqueda est´andar. Considere el uso de esta opci´on si prev´e que su experimento va a producir muchas lecturas cortas a partir del pre-mRNA, que caer´an dentro de los intrones de sus transcritos. --library-type TopHat tratar´a las lecturas de una hebra espec´ıfica. Cada alineamiento de una lectura tendr´a una etiqueta de atribu- to XS. Se considera la posibilidad de aportar una librer´ıa de tipos para seleccionar el correcto protocolo de secuen- ciaci´on de RNA. Tipo de la Librer´ıa Ejemplo Descripci´on fr-unstranded Standard Illumina Las lecturas del principio (parte m´as a la izquierda) del fragmento se alinean en el normal de la hebra, y las lecturas del final (parte m´as a la derecha) en la hebra opuesta. fr-firststrand dUTP, NSR, NNSR Igual que en el caso anterior, pero se debe cumplir la regla de que el extremo m´as a la derecha del frag- mento es lo primero en ser secuenciado. . fr-secondstrand Ligation, Standard SOLiD Igual que en el caso anterior, pero se debe cumplir la regla de que el extremo m´as a la izquierda del fragmento es lo primero en ser secuenciado. 2.6.3. Opciones Avanzadas --initial-read-mismatches Las lecturas est´an inicialmente mapeadas, permitiendo m´as des- ajustes en cada alineamiento. El valor por defecto es 2. --bowtie-n Tophat usa el modo -v para mapear (el modo por defecto). Con la opci´on --bowtie-n usamos el modo -n. --segment-mismatches Los segmentos de lecturas son mapeados independientemente, permitiendo m´as desajustes en cada alineamiento. El valor por defecto es 2. --segment-length Cada lectura se corta en segmentos, y cada uno de ellos tiene el tama˜no que se le defina en --segment-length. Estos segmentos se asignan de forma independiente. El valor por defecto es 25. --min-closure-exon Longitud m´axima entre exones al hacer uso de la b´usqueda de cierre. 41