El formato FASTQ es un formato basado en texto para almacenar tanto una secuencia biológica (generalmente una secuencia de nucleótidos ) como sus correspondientes puntuaciones de calidad. Tanto la letra de secuencia como la puntuación de calidad están codificadas con un único carácter ASCII para mayor brevedad.
Fue desarrollado originalmente en el Wellcome Trust Sanger Institute para agrupar una secuencia formateada FASTA y sus datos de calidad, pero recientemente se ha convertido en el estándar de facto para almacenar la salida de instrumentos de secuenciación de alto rendimiento como el analizador del genoma Illumina . [1]
Un archivo FASTQ tiene cuatro campos separados por líneas por secuencia:
Un archivo FASTQ que contenga una única secuencia podría verse así:
@SEQ_IDGATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTTT+!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC65
El byte que representa la calidad va desde 0x21 (calidad más baja; '!' en ASCII) hasta 0x7e (calidad más alta; '~' en ASCII). Estos son los caracteres de valor de calidad en orden creciente de calidad de izquierda a derecha ( ASCII ):
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
Los archivos Sanger FASTQ originales dividen secuencias largas y cadenas de calidad en varias líneas, como se hace normalmente con los archivos FASTA . Tener en cuenta esto hace que el análisis sea más complicado debido a la elección de "@" y "+" como marcadores (ya que estos caracteres también pueden aparecer en la cadena de calidad). Los archivos FASTQ multilínea (y, en consecuencia, los analizadores FASTQ multilínea) son menos comunes ahora que la mayoría de la secuenciación realizada es secuenciación Illumina de lectura corta , con longitudes de secuencia típicas de alrededor de 100 pb.
Las secuencias del software Illumina utilizan un identificador sistemático:
@HWUSI-EAS100R : 6 : 73 : 941 : 1973 #0/1
Las versiones de la canalización de Illumina desde 1.4 parecen usar #NNNNNN en lugar de #0 para el ID del multiplex, donde NNNNNN es la secuencia de la etiqueta del multiplex.
Con Casava 1.8 el formato de la línea '@' ha cambiado:
@EAS139 : 136 : FC706VJ : 2 : 2104 : 15343 : 197393 1 : Y : 18 : ATCACG
Tenga en cuenta que las versiones más recientes del software Illumina generan un número de muestra (definido por el orden de las muestras en la hoja de muestras) en lugar de una secuencia de índice cuando una secuencia de índice no se especifica explícitamente para una muestra en la hoja de muestras. Por ejemplo, el siguiente encabezado podría aparecer en un archivo FASTQ que pertenece a la primera muestra de un lote de muestras:
@EAS139 : 136 : FC706VJ : 2 : 2104 : 15343 : 197393 1 : N : 18 : 1
Los archivos FASTQ del archivo de lectura de secuencia INSDC a menudo incluyen una descripción, por ejemplo
@SRR001666.1 071112_SLXA-EAS1_s_7 : 5 : 1 : 817 : 345 longitud =36GGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC+SRR001666.1 071112_SLXA-EAS1_s_7 : 5 : 1 : 817 : 345 longitud =36IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC
En este ejemplo hay un identificador asignado por NCBI y la descripción contiene el identificador original de Solexa/Illumina (como se describe anteriormente) más la longitud de lectura. La secuenciación se realizó en modo de extremo emparejado (tamaño de inserción de ~500 pb), consulte SRR001666. El formato de salida predeterminado de fastq-dump produce puntos completos, que contienen lecturas técnicas y, por lo general, lecturas biológicas de un solo extremo o de pares.
$ fastq-dump.2.9.0 -Z -X 2 SRR001666 Leer 2 puntos para SRR001666 Escribir 2 puntos para SRR001666 @SRR001666.1 071112_SLXA-EAS1_s_7:5:1:817:345 length=72 GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACCAAGTTACCCTTAA CAACTTAAGGGTTTTCAAATAGA +SRR001666.1 071112_SLXA-EAS1_s_7 :5:1:817:345 longitud=72 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9ICIIIIIIIIIIIIIIIIIIIIDIIIIII>IIIIII/ @SRR001666.2 071112_SLXA-EAS1_s_7:5:1:801:338 longitud=72 GTTCAGGGATACGACGTTTGTATTTTAAGAATCTGAAGCAGAAGTCGATGATAATACGCGTCGTTTTATCAT + SRR001666.2 071112_SLXA-EAS1_s_7:5:1:801:338 longitud =72 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII6IBIIIIIIIIIIIIIIIIIIIIIIIGII>IIIIII-I)8I
El uso moderno de FASTQ casi siempre implica dividir el lugar en sus lecturas biológicas, como se describe en los metadatos proporcionados por el remitente:
$ fastq-dump -X 2 SRR001666 --split-3 Leer 2 puntos para SRR001666 Escribir 2 puntos para SRR001666 $ head SRR001666_1.fastq SRR001666_2.fastq ==> SRR001666_1.fastq <== @SRR001666.1 071112_SLXA-EAS1 _s_7:5: 1:817:345 longitud=36 GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC +SRR001666.1 071112_SLXA-EAS1_s_7:5:1:817:345 longitud=36 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC @SRR001666.2 071112_SLXA-EAS1_s_7:5:1 :801:338 longitud=36 GTTCAGGGATACGACGTTTGTATTTTAAGAATCTGA +SRR001666. 2 071112_SLXA-EAS1_s_7:5:1:801:338 longitud=36 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII6IBI ==> SRR001666_2.fastq <== @SRR001666.1 071112_SLXA-EAS1_s_7:5:1:817:345 longitud=36 AAGTTACCCTTAACAACTTAAGGGTTTTCAAATAGA +SRR001666.1 071112_SLXA-EAS1_s_7:5:1:817:345 longitud =36 IIIIIIIIIIIIIIIIIIIIIDIIIIIII>IIIIII/ @SRR001666.2 071112_SLXA-EAS1_s_7:5:1:801:338 length=36 AGCAGAAGTCGATGATAATACGCGTCGTTTTATCAT +SRR001666.2 071112_SLXA-EAS1_s_7:5:1:801:338 length=36 IIIIIIIIIIIIIIIIIIIIIIGII>IIIII-I)8I
Cuando está presente en el archivo, fastq-dump puede intentar restaurar los nombres leídos al formato original. NCBI no almacena los nombres leídos originales de forma predeterminada:
$ fastq-dump -X 2 SRR001666 --split-3 --origfmt Leer 2 puntos para SRR001666 Escribir 2 puntos para SRR001666 $ head SRR001666_1.fastq SRR001666_2.fastq ==> SRR001666_1.fastq <== @071112_SLXA-EAS1_s_7: 5: 1:817:345 GGGTGATGGCCGCTGCCGATGGCGTCAAATCCCACC +071112_SLXA-EAS1_s_7:5:1:817:345 IIIIIIIIIIIIIIIIIIIIIIIIIIIIII9IG9IC @071112_SLXA-EAS1_s_7:5:1:801:338 GTTCAGGGATACGACGTTTGTATTTTAAGAATCTGA +0711 12_SLXA-EAS1_s_7:5:1:801:338 IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII6IBI ==> SRR001666_2.fastq <== @071112_SLXA-EAS1_s_7:5:1:817:345 AAGTTACCCTTAACAACTTAAGGGTTTTCAAATAGA +071112_SLXA-EAS1_s_7:5:1:817:345 IIIIIIIIIIIIIIIIIIIIDIIIIIII>IIIIII/ @071112_SLXA-EAS 1_s_7:5:1:801:338 AGCAGAAGTCGATGATAATACGCGTCGTTTTATCAT +071112_SLXA-EAS1_s_7:5:1:801:338 IIIIIIIIIIIIIIIIIIIIIIGII>IIIIII-I)8I
En el ejemplo anterior, se utilizaron los nombres de lectura originales en lugar del nombre de lectura de acceso. Ejecuciones de accesos del NCBI y las lecturas que contienen. Los nombres de lectura originales, asignados por secuenciadores, pueden funcionar como identificadores locales únicos de una lectura y transmitir exactamente tanta información como un número de serie. Los identificadores anteriores se asignaron algorítmicamente en función de la información de ejecución y las coordenadas geométricas. Los primeros cargadores de SRA analizaron estos identificadores y almacenaron sus componentes descompuestos internamente. NCBI dejó de registrar los nombres leídos porque con frecuencia se modifican del formato original de los proveedores para asociar información adicional significativa a un proceso de procesamiento en particular, y esto provocó violaciones del formato de los nombres que resultaron en una gran cantidad de envíos rechazados. Sin un esquema claro para los nombres de lectura, su función sigue siendo la de una identificación de lectura única, que transmite la misma cantidad de información que un número de serie leído. Consulte varios números del SRA Toolkit para obtener detalles y debates.
También tenga en cuenta que fastq-dump convierte estos datos FASTQ de la codificación Solexa/Illumina original al estándar Sanger (consulte las codificaciones a continuación). Esto se debe a que el SRA sirve como depósito de información NGS, en lugar de formato. Las diversas herramientas *-dump son capaces de producir datos en varios formatos desde la misma fuente. Los requisitos para hacerlo han sido dictados por los usuarios durante varios años, y la mayoría de la demanda inicial provino del Proyecto 1000 Genomas .
Un valor de calidad Q es una asignación de números enteros de p (es decir, la probabilidad de que la llamada base correspondiente sea incorrecta). Se han utilizado dos ecuaciones diferentes. La primera es la variante estándar de Sanger para evaluar la confiabilidad de una llamada base, también conocida como puntaje de calidad de Phred :
El proceso Solexa (es decir, el software entregado con el analizador del genoma de Illumina) utilizó anteriormente un mapeo diferente, codificando las probabilidades p /(1- p ) en lugar de la probabilidad p :
Aunque ambas asignaciones son asintóticamente idénticas en valores de calidad más altos, difieren en niveles de calidad más bajos (es decir, aproximadamente p > 0,05, o equivalentemente, Q < 13).
En ocasiones ha habido desacuerdo sobre qué mapeo utiliza realmente Illumina. La guía del usuario (Apéndice B, página 122) para la versión 1.4 del pipeline de Illumina establece que: "Las puntuaciones se definen como [ sic ], donde p es la probabilidad de una llamada de base correspondiente a la base en cuestión". [2] En retrospectiva, esta entrada en el manual parece haber sido un error. La guía del usuario (Novedades, página 5) para la versión 1.5 del proceso de Illumina enumera esta descripción: "Cambios importantes en el proceso v1.3 [ sic ]. El esquema de puntuación de calidad ha cambiado al esquema de puntuación de Phred [es decir, Sanger] , codificado como un carácter ASCII sumando 64 al valor de Phred. La puntuación de Phred de una base es: , donde e es la probabilidad estimada de que una base esté equivocada. [3]
@HWI-EAS209_0006_FC706VJ:5:58:5894:21141#ATCACG/1TTAATTGGTAAATAAATCTCCTAATAGCTTAGTNTTACCTTNNNNNNNNNNNNTAGTTTCTTGAGATTTGTTGGGGGAGACATTTTTGTGATTGCCTTGAT+HWI-EAS209_0006_FC706VJ:5:58:5894:21141#ATCACG/1efcfffffcfeefffcffffffddf`feed]`]_Ba_^__[YBBBBBBBBBBBRTT\]][]dddd`ddd^dddadd^BBBBBBBBBBBBBBBBBBBBBBBB
Se ha propuesto una interpretación alternativa de esta codificación ASCII. [10] Además, en ejecuciones de Illumina que utilizan controles PhiX, se observó que el carácter 'B' representaba un "puntuación de calidad desconocida". La tasa de error de las lecturas 'B' fue aproximadamente 3 puntuaciones más bajas que la puntuación media observada de una ejecución determinada.
Para las lecturas sin procesar, el rango de puntuaciones dependerá de la tecnología y del llamador base utilizado, pero normalmente será de hasta 41 para la química reciente de Illumina. Dado que anteriormente el puntaje de calidad máximo observado era solo 40, varios scripts y herramientas fallan cuando encuentran datos con valores de calidad superiores a 40. Para las lecturas procesadas, los puntajes pueden ser incluso más altos. Por ejemplo, se observan valores de calidad de 45 en lecturas del Servicio de secuenciación de lectura larga de Illumina (anteriormente Moleculo).
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS ................................................. .... .......................... XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .......................... ................................. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII ................. .... ................................. J JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ ................. ...... LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL ............................................ ......... NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN... ... PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPPPP PPPP _ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ | | | | | | 33 59 64 73 104 126 0........................26...31.......40 -5....0....... ...9.................................40 0.....9...... .........40 3.....9................. .........41 0.2.................26...31.......41 0 ..................20.....30.....40.......50 0... .................20.......30........40.......50....... ................................93
S - Sanger Phred+33, lecturas sin procesar típicamente (0, 40) X - Solexa Solexa+64, lecturas sin procesar típicamente (-5, 40) I - Illumina 1.3+ Phred+64, lecturas sin procesar típicamente (0, 40) J - Illumina 1.5+ Phred+64, lecturas sin formato típicas (3, 41) con 0=no utilizado, 1=no utilizado, 2=Leer indicador de control de calidad del segmento (negrita) (Nota: consulte la discusión anterior). L - Illumina 1.8+ Phred+33, lecturas sin procesar típicamente (0, 41) N - Nanopore Phred+33, lecturas dúplex típicamente (0, 50) P - PacBio Phred+33, lecturas HiFi típicamente (0, 93)
Para los datos SOLiD, el formato se modifica a una secuencia FASTQ de espacio de color (CSFASTQ), donde las bases de la secuencia se combinan con los números 0, 1, 2 y 3, lo que indica cómo se modifican las bases en relación con la base anterior de la secuencia. (0: sin cambios; 1: transición; 2: transversión no complementaria; 3: transversión complementaria). [1] Este formato coincidía con la diferente química de secuenciación utilizada por los secuenciadores SOLiD. Las representaciones iniciales solo usaban bases de nucleótidos al comienzo de la secuencia, pero las versiones posteriores incluían bases incrustadas a intervalos periódicos para mejorar la precisión del mapeo y las llamadas de bases.
Los valores de calidad de CSFASTQ son idénticos a los del formato Sanger. Las herramientas de alineación difieren en su versión preferida de los valores de calidad: algunas incluyen una puntuación de calidad (establecida en 0, es decir, '!') para el nucleótido principal, otras no. El archivo de lectura de secuencia incluye este nivel de calidad.
El formato FAST4 se inventó como un derivado del formato FASTQ donde cada una de las 4 bases (A,C,G,T) tenía probabilidades separadas almacenadas. Era parte de Swift basecaller, un paquete de código abierto para el análisis de datos primarios en datos de secuencia de próxima generación "desde imágenes hasta llamadas base".
El formato FAST5 se inventó como una extensión del formato FAST4. Los archivos FAST5 son archivos de formato de datos jerárquicos 5 (HDF5) con un esquema específico definido por Oxford Nanopore Technologies (ONT). [11]
Varias herramientas han abordado la simulación de lectura FASTQ. [12] [13] Aquí se puede ver una comparación de esas herramientas. [14]
Las herramientas de uso general como Gzip y bzip2 consideran a FASTQ como un archivo de texto plano y dan como resultado relaciones de compresión subóptimas. El archivo de lectura de secuencias de NCBI codifica metadatos utilizando el esquema LZ-77. Los compresores FASTQ generales normalmente comprimen campos distintos (leer nombres, secuencias, comentarios y puntuaciones de calidad) en un archivo FASTQ por separado; estos incluyen DSRC y DSRC2, FQC, LFQC, Fqzcomp y Slimfastq.
Tener un genoma de referencia es conveniente porque entonces, en lugar de almacenar las secuencias de nucleótidos en sí, se pueden simplemente alinear las lecturas con el genoma de referencia y almacenar las posiciones (punteros) y los desajustes; Los punteros pueden entonces clasificarse según su orden en la secuencia de referencia y codificarse, por ejemplo, con codificación de longitud de ejecución. Cuando la cobertura o el contenido repetido del genoma secuenciado es alto, esto conduce a una relación de compresión alta. A diferencia de los formatos SAM /BAM, los archivos FASTQ no especifican un genoma de referencia. Los compresores FASTQ basados en alineación admiten el uso de referencias proporcionadas por el usuario o ensambladas de novo : LW-FQZip utiliza un genoma de referencia proporcionado y Quip, Leon, k-Path y KIC realizan un ensamblaje de novo utilizando un enfoque basado en gráficos de De Bruijn .
El mapeo de lectura explícito y el ensamblaje de novo suelen ser lentos. Los compresores FASTQ basados en reordenamiento primero agrupan lecturas que comparten subcadenas largas y luego comprimen de forma independiente las lecturas en cada grupo después de reordenarlas o ensamblarlas en contigs más largos , logrando quizás la mejor compensación entre el tiempo de ejecución y la tasa de compresión. SCALCE es la primera herramienta de este tipo, seguida de Orcom y Mince. BEETL utiliza una transformación generalizada de Burrows-Wheeler para reordenar las lecturas, y HARC logra un mejor rendimiento con el reordenamiento basado en hash. En cambio, AssemblTrie ensambla lecturas en árboles de referencia con la menor cantidad posible de símbolos en la referencia. [15] [16]
Los puntos de referencia para estas herramientas están disponibles en [17]
Los valores de calidad representan aproximadamente la mitad del espacio en disco requerido en el formato FASTQ (antes de la compresión) y, por lo tanto, la compresión de los valores de calidad puede reducir significativamente los requisitos de almacenamiento y acelerar el análisis y la transmisión de datos de secuenciación. Recientemente se están considerando en la literatura tanto la compresión sin pérdidas como la compresión con pérdidas. Por ejemplo, el algoritmo QualComp [18] realiza una compresión con pérdida con una tasa (número de bits por valor de calidad) especificada por el usuario. Basado en los resultados de la teoría de distorsión de velocidad, asigna el número de bits para minimizar el MSE (error cuadrático medio) entre los valores de calidad originales (sin comprimir) y reconstruidos (después de la compresión). Otros algoritmos para la compresión de valores de calidad incluyen SCALCE [19] y Fastqz. [20] Ambos son algoritmos de compresión sin pérdidas que proporcionan un enfoque opcional de transformación con pérdida controlada. Por ejemplo, SCALCE reduce el tamaño del alfabeto basándose en la observación de que los valores de calidad "vecinos" son similares en general. Para obtener un punto de referencia, consulte. [21]
A partir de HiSeq 2500, Illumina ofrece la opción de generar calidades de grano grueso en contenedores de calidad. Las puntuaciones agrupadas se calculan directamente a partir de la tabla de puntuación de calidad empírica, que a su vez está vinculada al hardware, el software y la química que se utilizaron durante el experimento de secuenciación. [22]
No existe una extensión de archivo estándar para un archivo FASTQ, pero se usan comúnmente .fq y .fastq.
{{cite journal}}
: Mantenimiento CS1: varios nombres: lista de autores ( enlace )