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.
Pour les articles homonymes, voir BED.
Extension |
.bed |
---|---|
Type MIME |
text/plain |
Signature | 62 72 6F 77 73 65 72 20 70 6F 73 69 74 69 6F 6E 20 63 68 72 (hexa) |
Type de format | |
Spécification |
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
Liens externes
- Portail de la biologie
- Portail de la biologie cellulaire et moléculaire
- Portail de l’informatique