El formato CRAM (siglas del inglés, Compressed Reference-oriented Alignment Map) es un formato de archivo comprimido, basado en columnas, para almacenamiento de secuencias biológicas alineadas con una secuencia de referencia. Fue concebido inicialmente por Markus Hsi-Yang Fritz y colaboradores.[1]
CRAM se diseñó para ser una alternativa eficiente a los formatos SAM (del inglés, Sequence Alignment Map) y BAM (del inglés, Binary Alignment Map). Opcionalmente, utiliza un genoma de referencia para describir las diferencias entre los fragmentos de secuencia alineados y la secuencia de referencia, reduciendo los costes de almacenamiento. Adicionalmente, cada columna en el formato SAM está separada en sus propios bloques, mejorando la relación de compresión. Los archivos CRAM varían típicamente en tamaño de un 30 a un 60% más pequeños que los BAM, dependiendo de los datos que contengan.
Existen implementaciones de CRAM en htsjdk,[2] htslib,[3] JBrowse,[4] y Scramble.[5]
La Global Alliance for Genomics and Health (GA4GH)[6] mantiene las especificaciones del formato, siendo accesible desde la página web de EMBL-EBI.[7]
Formato de archivo
La estructura básica de un archivo CRAM es una serie de contenedores; el primero contiene una copia comprimida de la línea de cabecera en formato SAM; los siguientes contenedores consisten en otra línea de cabecera de los datos comprimidos, seguida de registros de alineamientos, formateados como una serie de bloques.
Archivo CRAM:
Contenedor:
Porción:
Los archivos CRAM recogen registros de un conjunto de datos, describiendo los componentes de un alineamiento. La cabecera de compresión específica qué datos están codificados en cuales bloques, qué codificador se utiliza y metadatos específicos del codificador (por ejemplo, una tabla de longitudes de códigos Huffman). La mezcla de diferentes conjuntos de datos en un mismo bloque es posible, aunque su separación mejora normalmente la compresión y ofrece la oportunidad para decodificar selectiva e eficientemente los bloques con los datos necesarios.
El acceso selectivo a un archivo en formato CRAM está garantizado mediante el índice (con el sufijo ".crai"). Los índices indican, en datos ordenados por coordenadas genómicas, cuales regiones están cubiertas por cuales porciones. En datos no ordenados, los índices pueden utilizarse para simplemente buscar un contenedor concreto. La decodificación selectiva también puede obtenerse utilizando la cabecera de compresión para pasar sobre conjuntos de datos específicos, si se necesitas registros parciales.
Historia
La versión 4.0 de CRAM existe como prototipo en Scramble,[5] demostrado inicialmente en 2015, aunque aún no se ha adoptado como estándar.[cita requerida]
Véase también
- Formato SAM
- Formato BED
- Formato FASTA
- Formato FASTQ
- Anexo:Formatos de archivo
Referencias

![]()


