Formato BED

Summary

El formato BED (Browser Extensible Data) es un formato de archivo de texto utilizado para almacenar regiones de un genoma como coordenadas con anotación asociada. Los datos se presentan en forma de columnas separadas por espacios o tabulaciones. Este formado fue desarrollado durante el Proyecto Genoma Humano[1]​ y adoptado después por otros proyectos de secuenciación. Su uso cada vez más extendido lo ha convertido de facto en un formato estándar en bioinformática, antes de cualquier propuesta formal.

BED
https://samtools.github.io/hts-specs/BEDv1.pdf
Información general
Extensión de archivo .bed
Tipo de MIME text/plain y text/x-bed
Número mágico 62726F7773657220706F736974696F6E20636872
Tipo de formato Archivo de texto
Formato abierto ?

Una de las ventajas de este formato es la manipulación de coordinadas en lugar de secuencias de nucleótidos, lo cual optimiza el poder y tiempo de computación al comparar diferentes partes de genomas. Además, su simplicidad facilita la manipulación y lectura de las coordenadas y su anotación utilizando lenguajes de procesamiento de texto y programación, como Python, Ruby o Perl, u otros más especializados como BEDTools.

Historia

editar

Durante el final del siglo XX, aparecieron los primeros proyectos de secuenciación de genomas completos. De entre estos, el Proyecto Genoma Humano fue el más ambicioso de la época, desarrollando la secuenciación por primera vez de un genoma (véase, genoma humano) de varias de gigabases de tamaño. Esto requirió que los centros de secuenciación realizasen desarrollos metodológicos para automatizar el procesamiento de secuencias y su análisis. Así, se crearon varios formatos de archivo, tales como FASTQ, [2]​ GFF y BED. [3]​ Sin embargo, no se publicaron especificaciones oficiales, afectando a ciertos formatos como FASTQ conforme los proyectos de secuenciación se multiplicaban a principios del siglo XXI.

Su uso extendido en navegadores genómicos ha hecho posible definir el formato de una manera relativamente estable.

Formato

editar

En su origen, el formato BED no tenía ninguna especificación oficial. En su lugar, el UCSC Genome Browser ofrece una descripción que se ha utilizado ampliamente como referencia.[4]

Las especificaciones formales del formato BED se publicaron en 2021, bajo la garantía de la Global Alliance for Genomics and Health.[5][6]

Descripción

editar

El formato BED consiste en un mínimo de tres columnas; hasta un máximo de nueve columnas opcionales se pueden añadir, con un total de doce columnas. Las primeras tres contienen los nombres de cromosomas o scaffolds, las coordenadas de comienzo y final de las secuencias. Las siguientes nueve columnas contienen las anotaciones relacionadas con estas secuencias. Las columnas deben estar separadas por espacios o tabulaciones, siendo la última opción la recomendada por razones de compatibilidad entre programas.[7]​ Cada fila debe tener el mismo número de columnas. Se debe respetar el orden de las columnas: si se utilizan las últimas columnas, las intermedias también deben especificarse.

Columns of BED files
Columna Título Definición Obligatoria
1 chrom Nombre de un cromosoma (ej.: chr3, chrY, chr2_random) o un scaffold (e.g. scaffold10671)
2 chromStart Coordenada de inicio en el cromosoma/scaffold de la secuencia (el primer nucleótido del cromosoma se numera como 0, es decir, está "en base 0")
3 chromEnd Coordenada de final en el cromosoma/scaffold de la secuencia. Esta posición no es inclusiva, a diferencia de chromStart (el primer nucleótido del cromosoma se numera como 1, es decir, está "en base 1")
4 name Nombre de la secuencia No
5 score Puntuación, de 0 a 1000 No
6 strand Orientación en las hebras de ADN (positivo ["+"] o negativo ["-"] o "." si no se específica) No
7 thickStart Coordenada de inicio para la visualización de la anotación. Se muestra como una línea gruesa (ej.: el codón de inicio de un gen) No
8 thickEnd Coordenada de final para la visualización de la anotación. Se muestra como el final de la línea gruesa (ej.: el codón stop de un gen) No
9 itemRgb Valor RGB (escrito en formato R, G, B, (ej.: 255,0,0)) que determina el color para la visualización de la anotación de la secuencia No
10 blockCount Número de bloques (ej.: exones) en la secuencia No
11 blockSizes Lista de valores separados por comas, que corresponden al tamaño de los bloques. El número de valores debe corresponder al de bloques en "blockCount". No
12 blockStarts Lista de valores separados por comas, que corresponden a las coordenadas de inicio de los bloques. Las coordenadas se calculan de acuerdo con las presentes en la columna "chromStart". El número de valores debe corresponder con el de "blockCount". No

Línea de cabecera

editar

Un archivo en formato BED puede contener una línea de cabecera de manera opcional. Sin embargo, no existe una descripción formal de esta. Puede contener una o más filas e indicarse por varias palabras o símbolos, [7]​dependiendo de su función o puede ser simplemente descriptiva. Así, esta puede empezar con estas palabras o símbolos:

  • "browser": encabezado funcional utilizado por el UCSC Genome Browser para configurar opciones asociadas con este.
  • "track": título funcional usado por navegadores genómicos para especificar las opciones de visualización asociadas.
  • "#": título descriptivo para añadir comentarios, tales como el nombre de cada columna

Sistema de coordenadas

editar

A diferencia del sistema de coordenadas utilizado por otros formatos estandarizados, tales como GFF, el sistema usado en el formato BED es "en base 0" para la coordenada de inicio, y "en base 1" para la de final. [7]​ De esta manera, el nucleótido con la coordenada 1 en el genoma tiene un valor de 0 en la columna 2 y un valor de 1 en la columna 3.

Una secuencia de mil nucleótidos en formato BED:

chr7 0 1000

se convertiría a las siguientes coordenadas del genoma humano basadas en 1, tal como las utiliza un explorador de genoma como UCSC:

chr7 1 1000

Esta elección se justifica por el método de cálculo de la longitud de regiones genómicas, el cual se basa en la simple resta de las coordenadas de: final (columna 3) - inicio (columna 2) ( ) . Cuando el sistema de coordenadas está basado en 1 para la primera posición, el cálculo es ligeramente más complejo:   . Esta ligera diferencia puede tener un impacto relativamente grande en tiempo de computación cuando se utilizan conjuntos de datos de vario miles o cientos de miles de filas.

De manera alternativa, podemos visualizar ambas coordenadas como "basadas en cero", donde la posición final no es inclusive. En otras palabras, la posición final informa sobre el índice de la primera posición. Para el ejemplo anterior, la posición final 1000 indica la primera posición después de la característica, incluyendo posiciones de 0 a 999.

Ejemplos

editar

Este es un ejemplo mínimo:

chr7 127471196 127472363
chr7 127472363 127473530
chr7 127473530 127474697

Este es un ejemplo con nueve columnas, utilizado por el UCSC Genome Browser. Las primeras tres filas son para la configuración del navegador y son independientes de los datos especificados en formato BED.

Posición del navegador chr7:127471196-127495720
Navegador ocultar todo
nombre de la pista="ItemRGBDemo" descripción="Demostración del elemento RGB" visibilidad=2 itemRgb="Activado"
chr7 127471196 127472363 Pos1 0 + 127471196 127472363 255,0,0
chr7 127472363 127473530 Pos2 0 + 127472363 127473530 255,0,0
chr7 127473530 127474697 Pos3 0 + 127473530 127474697 255,0,0
chr7 127474697 127475864 Pos4 0 + 127474697 127475864 255,0,0
chr7 127475864 127477031 Negativo 1 0 - 127475864 127477031 0,0,255
chr7 127477031 127478198 Neg2 0 - 127477031 127478198 0,0,255
chr7 127478198 127479365 Negativo 3 0 - 127478198 127479365 0,0,255
chr7 127479365 127480532 Pos5 0 + 127479365 127480532 255,0,0
chr7 127480532 127481699 Negativo 4 0 - 127480532 127481699 0,0,255

Extensión de archivo

editar

No existe un estándar actualmente para la extensión de archivos en formato BED, siendo la extensión ".bed" es la más utilizada. El número de columnas se puede indicar a veces en la extensión, por ejemplo: ".bed3", ".bed4", ".bed6", ".bed12".[8]

Uso

editar

El uso del formato BED se ha expandido rápidamente con el surgimiento de nuevas técnicas de secuenciación y la manipulación de archivos con secuencias cada vez más largas. La comparación de secuencias genómicas o incluso de genomas enteros puede requerir de recursos computacionales intensos y largos. La manipulación de archivos BED vuelve este trabajo más eficiente al utilizar coordenadas para extraer secuencias de interés a partir de datos de secuenciación para comparar y manipular directamente dos o más conjuntos de coordenadas.

Para realizar estas tareas, se pueden utilizar diferentes programas. A continuación se incluyen algunos ejemplos:

  • Navegadores genómicos: Permiten la visualización y extracción de secuencias de genomas secuenciados actualmente a partir de archivos BED (ej.:, la función Manage Custom Tracks en el UCSC Genome Browser) [4]
  • Galaxy: plataforma online. [8]
  • Herramientas de línea de comandos:
    • BEDTools: programa que permite la manipulación de conjuntos de coordenadas genómicas y la extracción de secuencias a partir de un archivo BED.[7]
    • BEDOPS: conjunto de herramientas para operaciones rápidas booleanas en archivos BED. [9]
    • BedTk: una alternativa más rápida que BEDTools para tareas más limitadas y especializadas. [10]
    • covtobed: una herramienta para transformar archivos en formato BAM a archivos BED de cobertura. [11]

Archivos .genome

editar

BEDTools también utiliza archivos con extensión .genome para determinar los límites de cromosomas y asegurar que ciertas manipulaciones de archivos BED no se extienden más allá de los límites. Estos archivos consisten en el siguiente formato, con dos columnas separadas por tabulaciones y una fila de cabecera

Cromosoma    tamaño                                     
chr1    248956422
chr2    242193529
chr3    198295559
chr4    190214555
chr5    181538259
chr6    170805979
chr7    159345973
...

Véase también

editar

Referencias

editar
  1. Kent, W. James; Sugnet, Charles W.; Furey, Terrence S.; Roskin, Krishna M.; Pringle, Tom H.; Zahler, Alan M.; Haussler, David (2002-06). «The human genome browser at UCSC». Genome Research 12 (6): 996-1006. ISSN 1088-9051. PMID 12045153. doi:10.1101/gr.229102. Consultado el 11 de febrero de 2025. 
  2. Cock, Peter J. A.; Fields, Christopher J.; Goto, Naohisa; Heuer, Michael L.; Rice, Peter M. (April 2010). «The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants». Nucleic Acids Research 38 (6): 1767-1771. ISSN 1362-4962. PMC 2847217. PMID 20015970. doi:10.1093/nar/gkp1137. 
  3. Kent, W. James; Sugnet, Charles W.; Furey, Terrence S.; Roskin, Krishna M.; Pringle, Tom H.; Zahler, Alan M.; Haussler, David (1 June 2002). «The Human Genome Browser at UCSC». Genome Research 12 (6): 996-1006. ISSN 1088-9051. PMC 186604. PMID 12045153. doi:10.1101/gr.229102. 
  4. a b «Frequently Asked Questions: Data File Formats. BED format». UCSC Genome Browser. University of California Santa Cruz Genomics Institute. Consultado el 2 October 2019. 
  5. «GA4GH BED v1.0: A formal standard sets ground rules for genomic features». www.ga4gh.org. 30 de marzo de 2022. Archivado desde el original el 8 de junio de 2023. 
  6. «The Browser Extensible Data (BED) format» (PDF). samtools.github.io. Archivado desde el original el 24 de enero de 2023. 
  7. a b c d Quinlan, AR; Hall, IM (21 September 2010). The BEDTools manual (PDF). Archivado desde el original el 26 de enero de 2022. Consultado el 3 October 2019. 
  8. a b «Datatypes». Galaxy Community Hub. Archivado desde el original el 9 de diciembre de 2021. Consultado el 3 October 2019. 
  9. Neph, S; Kuehn, MS; Reynolds, AP; Haugen, E; Thurman, RE; Johnson, AK; Rynes, E; Maurano, MT et al. (15 July 2012). «BEDOPS: high-performance genomic feature operations». Bioinformatics 28 (14): 1919-20. PMC 3389768. PMID 22576172. doi:10.1093/bioinformatics/bts277. 
  10. Li, Heng; Rong, Jiazhen (9 June 2021). «Bedtk: finding interval overlap with implicit interval tree». Bioinformatics 37 (9): 1315-1316. PMC 8189672. doi:10.1093/bioinformatics/btaa827. 
  11. Birolo, Giovanni; Telatin, Andrea (6 March 2020). «covtobed: a simple and fast tool to extract coverage tracks from BAM files». Journal of Open Source Software 5 (47): 2119. Bibcode:2020JOSS....5.2119B. doi:10.21105/joss.02119. 
  •   Datos: Q16530692