Formato SAM

Summary

El formato SAM (acrónimo del inglés, Sequence Alignment Map) es un formato de archivo de texto diseñado para el almacenamiento de secuencias biológicas alineadas a una secuencia de referencia y desarrollado por Heng Li y Bob Handsaker y colaboradores.[1]​ Se desarrolló durante el Proyecto 1000 genomas, con el objetivo de alejarse del formato MAQ y diseñar un nuevo formato. El diseño general de columnas separadas por tabulaciones se inspiró en el formato PSL de BLAT. El nombre de SAM viene de Gabor Marth, quien originalmente tenía un formato con el mismo nombre pero diferente sintaxis, similar al formato de salida de BLAST. [2]​ Se usa generalmente para almacenamiento de datos, tales como secuencias de nucleótidos, generados mediante tecnología de secuenciación, incluyendo secuencias no mapeadas. El formato acepta secuencias cortas y largas (hasta 128 Mpb) [3]​ producidas por diferentes plataformas de secuenciación; se ha utilizado en diferentes proyectos e instituciones como el Genome Analysis Toolkit, el Broad Institute, el Wellcome Sanger Institute y durante el Proyecto 1000 genomas.

Formato SAM
Desarrollador
  • Heng Li
  • Bob Handsaker
  • Alec Wysoker
  • Tim Fennell
  • Jue Ruan
  • Nils Homer
  • Gabor Marth
  • Gonçalo Abecasis
  • Richard M. Durbin
  • Proyecto 1000 genomas[1]
samtools.github.io/hts-specs/
Información general
Extensión de archivo .sam
Tipo de formato Bioinformática
Formato abierto ?

Formato

editar

El formato SAM consiste en sección de cabecera y otra con información sobre el alineamiento.[1]​ Los archivos SAM se pueden analizar y editar con el software SAMtools.[1]​ La sección de cabecera debe aparecer primero en el archivo, utilizando el símbolo "@" para distinguirla de la sección de alineamiento. La sección de alineamiento tiene 11 campos obligatorios, así como un número variable de campos opcionales.[1][4]​ A continuación se muestra una tabla con los campos obligatorios de la sección de alineamiento:

Columna Campo Tipo Breve descripción
1 QNAME Cadena (de caracteres) Es el identificador único para cada lectura
2 FLAG Número entero Indicador (mostrado en bits)
3 RNAME Cadena Nombre de la secuencia de referencia. Puede ser un cromosoma, un identificador de transcrito etc.
4 POS Número entero Primera posición mapeada (en base 1)
5 MAPQ Número entero Métrica de calidad del mape
6 CIGAR Cadena Resumen del alineamiento
7 RNEXT Cadena Nombre de la secuencia de referencia en el alineamiento primario de la siguiente lectura. En secuenciación paired-end, la siguiente lectura es la pareja, correspondiendo con el campo RNAME
8 PNEXT Número entero Posición de la siguiente lectura
9 TLEN Número entero Número de bases cubiertas por las lecturas del mismo fragmento
10 SEQ Cadena Secuencia de la lectura
11 QUAL Cadena Métrica de calidad de la lectura

Descripción

editar

En un alineamiento múltiple de secuencias, donde r001 - r004 son lecturas alineadas con la secuencia de referencia, podemos visualizar este alineamiento de la siguiente manera:

 Coordenadas        12345678901234  5678901234567890123456789012345
 Referencia         AGCATGTTAGATAA**GATAGCTGTGCTAGTAGGCAGTCAGCGCCAT

 +r001/1                  TTAGATAAAGGATA*CTG
 +r002                   aaaAGATAA*GGATA
 +r003                 gcctaAGCTAA
 +r004                               ATAGCT..............TCAGC
 -r003                                      ttagctTAGGC
 -r001/2                                                  CAGCGGCAT

La información correspondiente en formato SAM es la siguiente:

 @HD VN:1.6 SO:coordinate
 @SQ SN:ref LN:45
 r001       99    ref     7    30   8M2I4M1D3M    =     37      39   TTAGATAAAGGATACTG    *
 r002        0    ref     9    30   3S6M1P1I4M    *      0       0      AAAAGATAAGGATA    *
 r003        0    ref     9    30         5S6M    *      0       0         GCCTAAGCTAA    *    SA:Z:ref,29,-,6H5M,17,0;
 r004        0    ref    16    30      6M14N5M    *      0       0         ATAGCTTCAGC    *
 r003     2064    ref    29    17         6H5M    *      0       0               TAGGC    *    SA:Z:ref,9,+,5S6M,30,1;
 r001      147    ref    37    30           9M    =      7     -39           CAGCGGCAT    *    NM:i:1

--------------------------------------------------------------------------------------------------
| QNAME | FLAG | RNAME | POS | MAPQ |  CIGAR  | RNEXT | PNEXT | TLEN |       SEQ       | QUAL | Campos opcionales

Las dos primeras líneas son la sección de cabecera, las cuales están siempre indicadas con un "@" al comienzo y recogen información sobre los datos almacenados en el archivos y metadatos asociados codificados mediante una serie de etiquetas. En este ejemplo, "@HD" indica que esa línea contiene metadatos del archivo, siendo "VN:1.6" la versión del formato y "SO:coordinate", que los alineamientos están ordenados por coordenadas en el genoma. "@SQ" recoge información de la secuencia de referencia, donde "SN" indica que esta se llama "ref", y "LN:45" es su longitud.[4]

Las demás líneas son la sección de alineamiento, que contienen información para cada lectura individualmente.[4]

  1. QNAME: Identificador único de la lectura. Las lecturas/segmentos que tienen QNAME idéntico se consideran que provienen de la misma plantilla. En un archivo SAM, una lectura puede ocupar múltiples líneas de alineamiento, cuando su alineamiento es quimérico o cuando se proporcionan múltiples asignaciones.
  2. FLAG: Valor del indicador en bits. Este indicador describe si la lectura es está mapeada en la secuencia de referencia o no, si está emparejada con otra lectura, si pertenece a un alineamiento primario etc.[5]
  3. RNAME: Nombre de la secuencia de referencia de la alineamiento.
  4. POS: Posición de mapeo más a la izquierda basada en 1 de la primera base coincidente. La primera base de una secuencia de referencia tiene la coordenada 1. POS se establece como 0 para una lectura no asignada sin coordenadas.
  5. MAPQ: Mapeo de la calidad. Es igual a −10*log10 Pr{la posición de mapeo es incorrecta}, redondeado al entero más cercano. Un valor 255 indica que la calidad del mapeo no está disponible.
  6. CIGAR: Cadena de caracteres que guardan información sobre el alineamiento, si contiene deleciones, inserciones etc.
  7. RNEXT: Nombre de la secuencia de referencia del alineamiento primario de la siguiente lectura en la plantilla. Para la última lectura, la siguiente lectura es la primera lectura en la plantilla.
  8. PNEXT: Posición de la alineamiento primaria de la siguiente lectura en la plantilla. Este campo equivale a POS en la línea principal de la próxima lectura.
  9. TLEN: Longitud de plantilla observada firmada. El segmento más a la izquierda tiene un signo más y el más a la derecha tiene un signo menos. El signo de los segmentos en el medio no está definido. Se establece como 0 para plantillas de segmento único o cuando la información no está disponible.
  10. SEQ: secuencia de segmento. Un '=' indica que la base es idéntica a la base de referencia.
  11. QUAL: ASCII de la métrica de calidad base +33 (igual que la cadena de calidad en el formato Sanger FASTQ ). Una calidad base es la probabilidad de error base escalada en phred que es igual a −10*log10 Pr{la base es incorrecta}. Este campo puede ser un '*' cuando no se almacena la calidad. Si no es un '*', SEQ no debe ser un '*' y la longitud de la cadena de calidad debe ser igual a la longitud de SEQ.

Indicadores FLAG en formato bit

editar

El campo FLAG se muestra como un solo número entero, pero la suma de valores en bits se usa para denotar múltiples atributos de un alineamiento.[4]​ Cada atributo denota un bit en la representación binaria.

Número Binario Descripción (Interpretación de lectura en pares)
1 000000000001 Plantilla que tiene múltiples plantillas secuenciadas (lecturas emparejadas)
2 000000000010 Cada segmento está adecuadamente alineado (lecturas mapeadas y emparejadas)
4 000000000100 Segmento no mapeado (la lectura 1 no mapea)
8 000000001000 Siguiente segmento en la plantilla no mapeado (la lectura 2 no mapea)
16 000000010000 SEQ es la secuencia complementaria reversa (lectura 1)
32 000000100000 SEQ es el siguiente segmento en la plantilla, que es complementaria reversa (lectura 2)
64 000001000000 El primer segmento en la plantilla (lectura 1)
128 000010000000 El último segmento en la plantilla (lectura 2)
256 000100000000 Alineamiento no primario
512 001000000000 El alineamiento falla los controles de calidad
1024 010000000000 Lectura duplicada (PCR u óptica)
2048 100000000000 Alineamiento suplementario (ej.: específico de alineador, puede ser una porción de la lectura partida o una región enlazada)

Los atributos FLAG se suman para obtener el valor final, por ejemplo, una fila SAM resultante de un registro FASTQ de extremos emparejados de Illumina que tiene el valor FLAG 2145 indicaría:

Valor de la bandera Significado Valor acumulado
1 la lectura está emparejada 1
32 read2 fue complementado inversamente 33
64 lectura1 97
2048 alineamiento suplementaria 2145

Campos opcionales

editar

La duodécima columna en los archivos SAM corresponde a campos opcionales, separados por comas. Estos recogen información sobre secuencias identificadoras de lecturas, de célula (en caso de que los datos provengan de secuenciación de célula única), métricas de calidad Phred etc. Los campos opcionales siempre comienzan con el formato: Indicador (FLAG):Tipo:Valor.[4]​ El tipo puede ser uno de los siguientes: A (caracter), C(número entero 0-255), f (número real), H (conjunto hexadecimal), i (número entero) o Z (cadena de caracteres).[6]

Véase también

editar

Referencias

editar
  1. a b c d e Li, H.; Handsaker, B.; Wysoker, A.; Fennell, T.; Ruan, J.; Homer, N.; Marth, G.; Abecasis, G. et al. (2009). «The Sequence Alignment/Map format and SAMtools». Bioinformatics 25 (16): 2078-2079. ISSN 1367-4803. PMC 2723002. PMID 19505943. doi:10.1093/bioinformatics/btp352. 
  2. Edmunds, Scott (17 de febrero de 2021). «Play it again, SAMtools. Q&A with the SAMtools team on 12 years of providing bioinformatics "glue"». GigaScience (en inglés). Consultado el 20 de marzo de 2021. 
  3. Dörpinghaus, J.; Weil, V.; Schaaf, S.; Apke, A. (2023). Computational Life Sciences: Data Engineering and Data Mining for Life Sciences. Studies in Big Data. Springer International Publishing. p. 447. ISBN 978-3-031-08411-9. Consultado el 19 de julio de 2023. 
  4. a b c d e «SAM/BAM Format Specification». samtools.github.io. 
  5. «Explain SAM Flags». broadinstitute.github.io. Consultado el 4 de noviembre de 2023. 
  6. «Sequence Alignment/Map Optional Fields Specification». samtools.github.io.