BED (format de fichier)
Le format BED (ou format Browser Extensible Data) est un format de fichier texte utilisé pour stocker des régions génomiques sous forme de coordonnées ainsi que les annotations associées. Les données se présentent sous forme de colonnes séparées par des espaces ou bien des tabulations. Ce format fut développé au cours du Projet Génome Humain[1] puis adopté par d'autres projets de séquençage. De par cette utilisation de plus en plus large, ce format est devenu un standard de facto en bioinformatique sans pour autant recevoir de spécifications officielles.
L'un des avantages de ce format réside dans la manipulation de coordonnées en lieu et place de séquences nucléotidiques permettant une optimisation de la puissance et du temps de calculs lors de la comparaison tout ou partie de génomes. De plus, sa simplicité rend la manipulation et la lecture (ou parsing) des coordonnées ou des annotations aisée par l'utilisation d'outils de traitement de texte et de langages de script tels que Python, Ruby ou Perl ou par des outils plus spécialisés tel que BEDTools.
Historique
La fin du XXe siÚcle vit l'émergence des premiers projets de séquençage de génomes complets. Parmi ces projets, le Projet Génome Humain fut alors le plus ambitieux visant à séquencer pour la premiÚre fois un génome de plusieurs gigabases. Ceci obligea les centres de séquençage à un important développement méthodologique afin d'automatiser le traitement des séquences et leurs analyses. Ainsi de nombreux formats furent créés tels que FASTQ[2], GFF ou encore BED[1]. Cependant aucune spécification officielle ne fut éditée, ce dont certains formats telle que FASTQ[2] souffrirent par la suite lors de la multiplication des projets de séquençage au début du XXIe siÚcle.
Sa large utilisation au sein de l'Explorateur de Génomes (Genome Browser) a permis de définir ce format de façon relativement stable, cette description étant reprise par de nombreux outils.
Format
Le format BED ne possÚde aucune spécification officielle. Cependant, la description fournie par l'Explorateur de Génomes de l'UCSC[3] est largement utilisée.
Description
Un fichier BED est constituĂ© d'un minimum de trois colonnes auxquelles peuvent ĂȘtre adjointes neuf colonnes facultatives pour un total de douze colonnes. Les trois premiĂšres colonnes contiennent les noms de chromosomes ou de scaffolds, les coordonnĂ©es de dĂ©part et de fin des sĂ©quences considĂ©rĂ©es. Les neuf colonnes suivantes contiennent des annotations relatives Ă ces sĂ©quences. Ces colonnes doivent ĂȘtre sĂ©parĂ©es par des espaces ou bien des tabulations, ces derniĂšres Ă©tant prĂ©conisĂ©es pour des raisons de compatibilitĂ© entre programmes[4]. Chaque ligne d'un fichier doit avoir le mĂȘme nombre de colonnes. L'ordre des colonnes doit ĂȘtre respectĂ© : si des colonnes ayant des numĂ©ros Ă©levĂ©s sont utilisĂ©es, les colonnes de numĂ©ros intermĂ©diaires doivent ĂȘtre remplies.
Numéro de colonne | Titre | Définition |
---|---|---|
1 | chrom | Nom des chromosomes (ex. : chr3, chrY, chr2_random) ou des scaffolds (ex. : scaffold10671) |
2 | chromStart | Coordonnée de départ sur le chromosome ou le scaffold pour la séquence considérée (la premiÚre base sur le chromosome est numérotée 0) |
3 | chromEnd | Coordonnée de fin sur le chromosome ou le scaffold pour la séquence considérée. cette position est non-inclusive contrairement à chromStart ! |
4 | name | Nom de la ligne du fichier BED |
5 | score | Score compris entre 0 et 1000 |
6 | strand | Orientation du brin d'ADN (positif ("+") ou négatif ("-")) |
7 | thickStart | Coordonnée de départ à partir de laquelle l'annotation est affichée de façon plus épaisse sur une représentation graphique (ex. : le codon start d'un gÚne) |
8 | thickEnd | Coordonnées de fin à partir de laquelle l'annotation n'est plus affichée de façon plus épaisse sur une représentation graphique (ex. : le codon stop d'un gÚne) |
9 | itemRgb | Valeur RGB sous forme R,G,B (ex. : 255,0,0) déterminant la couleur d'affichage de l'annotation contenue dans le fichier BED |
10 | blockCount | Nombre de blocs (ex.: exons) sur la ligne du fichier BED |
11 | blockSizes | Liste de valeurs séparées par des virgules correspondant à la taille des blocs (le nombre de valeurs doit correspondre à celui du blockCount) |
12 | blockStarts | Liste de valeurs séparées par des virgules correspondant aux coordonnées de départ des blocs, coordonnées calculées relativement à celles présentes dans la colonne chromStart (le nombre de valeurs doit correspondre à celui du blockCount) |
EntĂȘte
Un fichier BED peut contenir un entĂȘte de façon facultatif. Cependant il n'existe aucune description officielle du format de cet entĂȘte. Il peut contenir une ou plusieurs ligne et ĂȘtre signifiĂ© par des mots ou symboles diffĂ©rents[4], selon son rĂŽle fonctionnel ou simplement descriptif. Ainsi, une ligne d'entĂȘte peut ĂȘtre introduite par :
- browser : entĂȘte fonctionnel utilisĂ© par l'Explorateur de GĂ©nomes pour paramĂ©trer des options relatives Ă ce dernier,
- track : entĂȘte fonctionnel utilisĂ© par l'Explorateur de GĂ©nomes pour spĂ©cifier des options d'affichage relatives Ă ce dernier,
- # : entĂȘte descriptif permettant d'ajouter des commentaires tel que le nom de chaque colonne.
SystÚme de coordonnées
Contrairement aux systÚmes de coordonnées employés par d'autres standards comme GFF, le systÚme utilisé par le format BED est un systÚme basé sur l'utilisation du 0[4]. Ainsi, la base de coordonnées 1 sur un génome aura une valeur 0 dans la colonne 2 et une valeur 1 dans la colonne 3.
Ce choix se justifie par la méthode de calcul des longueurs des régions génomiques considérées, ce calcul reposant sur la simple soustraction des coordonnées de fin (colonne 3) par celles de début (colonne 2) : . Lorsque le systÚme de coordonnées est basé sur l'utilisation du 1 pour désigner la premiÚre position, le calcul devient légÚrement plus complexe : . Cette légÚre différence peut avoir une conséquence relativement importante en termes de temps de calcul lorsque des jeux de données comportant plusieurs milliers à centaines de milliers de lignes sont utilisés.
Exemples types
Voici un exemple minimal :
chr7 127471196 127472363 chr7 127472363 127473530 chr7 127473530 127474697
Voici un exemple type Ă neuf colonnes issu de l'Explorateur de GĂ©nomes :
browser position chr7:127471196-127495720 browser hide all track name="ItemRGBDemo" description="Item RGB demonstration" visibility=2 itemRgb="On" 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 Neg1 0 - 127475864 127477031 0,0,255 chr7 127477031 127478198 Neg2 0 - 127477031 127478198 0,0,255 chr7 127478198 127479365 Neg3 0 - 127478198 127479365 0,0,255 chr7 127479365 127480532 Pos5 0 + 127479365 127480532 255,0,0 chr7 127480532 127481699 Neg4 0 - 127480532 127481699 0,0,255
Extension de fichier
Il n'existe pas à l'heure actuelle une extension de fichier standard pour les fichiers BED mais l'extension .bed est la plus fréquemment utilisée.
Utilisation de fichiers BED
L'utilisation de fichiers BED s'est rĂ©pandue rapidement avec l'Ă©mergence des nouvelles techniques de sĂ©quençage et la manipulation de fichiers de sĂ©quences de plus en plus volumineux. En effet, la comparaison de sĂ©quences gĂ©nomiques voire de gĂ©nomes entiers par la comparaison des sĂ©quences elles-mĂȘmes peut rapidement demander d'importantes ressources de calculs et devenir chronophage. La manipulation de fichiers BED rend ce travail plus efficace en utilisant des coordonnĂ©es afin d'extraire des sĂ©quences d'intĂ©rĂȘt de jeux de sĂ©quençage ou de comparer et manipuler directement deux jeux de coordonnĂ©es.
Pour rĂ©aliser ces tĂąches, divers programmes peuvent ĂȘtre utilisĂ©s pour manipuler des fichiers BED dont voici une liste non exhaustive :
- Explorateur de Génomes (ou Genome Browser) : permet la visualisation et l'extraction de séquences des génomes de mammifÚres actuellement séquencés à partir de fichier BED (fonction Manage Custom Tracks)
- Galaxy (bioinformatique) : plate-forme web
- BEDTools : programme permettant la manipulation de jeux de coordonnées et l'extraction de séquences à partir d'un fichier BED
Références
- (en) Kent WJ., Sugnet CW., Furey TS., Roskin KM., Pringle TH., Zahler AM. & Haussler D., « The human genome browser at UCSC. », Genome Research, vol. 12, no 6,â , p. 996-1006 (ISSN 1088-9051, PMID 12045153, DOI 10.1101/gr.229102. Article published online before print in May 2002)
- (en) Cock PJ., Fields CJ., Goto N., Heuer ML. & Rice PM., « The Sanger FASTQ file format for sequences with quality scores, and the Solexa/Illumina FASTQ variants. », Nucleic Acids Research, vol. 38, no 6,â , p. 1767-71 (ISSN 1362-4962, PMID 20015970, DOI 10.1093/nar/gkp1137)
- (en) Genome Bioinformatics Group, « Description du format BED », sur UCSC Genome Bioinformatics, University of California Santa Cruz (consulté le )
- (en) The BEDTools manual, , 103 p. (lire en ligne)
Voir aussi
Articles connexes
- BEDTools
- Explorateur de GĂ©nomes
- Liste d'extensions de fichiers