FASTA (format de fichier)

FASTA
Caractéristiques
Extension
.fasta
.fa
Type MIME
text/plain
Développé par
Version initiale
Type de format
Origine de
Spécification

Le format FASTA (ou format Pearson) est un format de fichier texte utilisé pour stocker des séquences biologiques de nature nucléique ou protéique. Ces séquences sont représentées par une suite de lettres codant des acides nucléiques ou des acides aminés selon la nomenclature IUPAC. Chaque séquence peut être précédée par un nom et des commentaires. Ce format est originellement issu de la suite de programmes FASTA mais, de par son utilisation très répandue, est devenu un standard de facto en bioinformatique[1].

La simplicité du format FASTA rend la manipulation et la lecture (ou analyse syntaxique) des séquences aisée par l'utilisation d'outils de traitement de texte et de langages de script tels que Python, R, Ruby ou Perl.

Un fichier au format FASTA est conventionnellement signalé par une extension .fasta ou .fa.

Historique[modifier | modifier le code]

Le format FASTA fut développé par William R. Pearson pour son programme FASTA. Mais son utilisation fut adoptée au-delà de ce simple programme et fut rendue populaire entre autres par le programme BLAST.

Le format FASTA a évolué également pour donner naissance au format FASTQ, combinaison du format FASTA et du format QUAL[1], très largement utilisé dans le domaine du séquençage d'ADN haut-débit.

Format[modifier | modifier le code]

Description[modifier | modifier le code]

Un fichier FASTA est composé au minimum de deux lignes. La ligne 1 décrit la séquence en commençant par le signe ">" suivi immédiatement de l'identifiant de la séquence et d'un commentaire séparé de l'identifiant par un espace[2]. Le signe ">" est obligatoire mais identifiant et commentaire sont optionnels, même si pour des questions de bonnes pratiques bioinformatiques il est fortement recommandé d'adjoindre au moins un identifiant à la séquence. Identifiant et commentaire peuvent contenir tout type de caractères excepté les caractères de contrôle autres que ceux codant une fin de ligne.

La ligne 2 est constituée des lettres représentant les acides nucléiques ou les acides aminés de la séquence. Cette ligne possède cependant une longueur maximale de 120 résidus[2] : toute séquence de longueur supérieure doit être découpée en plusieurs lignes. Pour des raisons historiques liées aux premiers affichages sur écran DEC-VT, le découpage généralement rencontré est de 80 caractères, correspondant au mode 80 caractères par ligne permis à l'époque (en parallèle du mode 132 qui était plus difficile à lire). Des découpages de 60 ou 70 caractères sont aussi largement répandus mais ce découpage peut en réalité être réalisé avec n'importe quelle longueur de chaîne de caractères inférieure ou égale à 120 caractères. Si la séquence comprend des espaces, tabulations ou caractères ne respectant pas la nomenclature IUPAC, ceux-ci sont ignorés[2].

Ainsi un fichier FASTA se présente sous la forme suivante (les X représentant acides nucléiques ou aminés) :

>Identifiant Commentaire XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX  

Le format FASTA normalise l'utilisation du signe ";" en début de ligne pour les commentaires (ces lignes doivent être ignorées).

Fichier multi-séquences[modifier | modifier le code]

Un fichier FASTA multi-séquences ou multi-entrées est un fichier contenant plusieurs séquences d'une seule nature (nucléique ou protéique), chaque séquence étant précédée de sa ligne d'identification. Ce type de fichier peut être constitué ab initio ou être le résultat d'une concaténation de fichiers FASTA constitués d'une ou plusieurs séquences. Il respecte le même formatage que précédemment, la fin d'une séquence étant interprétée alors par la rencontre à nouveau du signe ">" indiquant le commencement de la ligne d'identification d'une autre séquence[2]. Pour une lecture humaine plus aisée des fichiers, il est recommandé d'insérer une ligne vide entre la fin de la séquence et le signe ">" suivant.

Exemples types[modifier | modifier le code]

Voici un exemple de séquence nucléique :

>gi|373251181|ref|NG_001742.2| Mus musculus olfactory receptor GA_x5J8B7W2GLP-600-794 (LOC257854) pseudogène on chromosome 2 AGCCTGCCAAGCAAACTTCACTGGAGTGTGCGTAGCATGCTAGTAACTGCATCTGAATCTTTCAGCTGCT TGTTGGGCCTCTCACAAGGCAGAGTGTCTTCATGGGACTTTGATATTTATTTTTGTACAACCTAAGAGGA ACAAATCCTTTGACACTGACAAATTGGCTTCCATATTTTATACCTTAATCATCTCCATGTTGAATTCATT GATCAACAGTTTAAGAAAAAAAGATGTAAAAATGCTTTTAGAAAGAGAGGCAAAGTTATGCACAATAACT TCTCATGAAGTCACAGTTTGTTAAAAGTTGCCTTAGTTCACAATAAATAATTATGTATGCTCTATAATTT CAGTGA 

Voici un exemple de séquence protéique :

>gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus] LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLV EWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL GLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGX IENY 

Identifiants de séquences[modifier | modifier le code]

La ligne d'identification, commençant par le signe ">", permet de donner un nom pouvant contenir un identifiant unique à une séquence donnée ainsi que beaucoup d'autres informations considérées comme commentaires. De nombreuses banques de séquences utilisent des lignes d'identification standardisées, qui peuvent être utiles pour une extraction automatique de données contenues dans ces lignes. Un usage devenu obsolète permettait d'associer plusieurs lignes d'identification en une seule à l'aide du caractère de contrôle Start of Header (code ASCII 1).

Les lignes de commentaires introduite par le signe ";" et pouvant être associés à la ligne d'identification, option présente dans les premières versions du format FASTA, ne sont pas reconnues par les banques de séquences et certains programmes bioinformatiques suivant les spécifications des fichiers FASTA du NCBI.

Le NCBI a défini un standard pour la génération d'identifiants uniques de séquence (SeqID) pour la ligne d'identification. Le manuel de formatdb dit sur le sujet : "formatdb traitera automatiquement les SeqID et créera des index, mais les identifiants de bases de données dans les lignes d'identification du fichier FASTA doivent suivre les conventions du FASTA Defline Format"[3].

Cependant, aucune description définitive du format de la ligne d'identification FASTA (FASTA Defline Format) ne fut donné. Une tentative pour créer un tel format est décrit ci-dessous (voir également "The NCBI Handbook", Chapter 16, The BLAST Sequence Analysis Tool).

Base de données Format de la ligne d'identification
GenBank gi|numéro gi|gb|numéro d'accession|locus
Laboratoire européen de biologie moléculaire gi|numéro gi|emb|numéro d'accession|locus
DNA Data Bank of Japan gi|numéro gi|dbj|numéro d'accession|locus
NBRF PIR pir||entrée
Protein Research Foundation prf||nom
Swiss-Prot sp|numéro d'accession|nom
Brookhaven Protein Data Bank (1) pdb|entrée|chaîne
Brookhaven Protein Data Bank (2) entrée:chaîne|PDBID|CHAÎNE|SÉQUENCE
Brevets pat|brevet|numéro
GenInfo Backbone Id bbs|numéro
General database identifier gnl|base de données|identifiant
NCBI Reference Sequence ref|numéro d'accession|locus
Local Sequence identifier lcl|identifiant

La barre verticale dans la liste ci-dessus ne sert pas de séparateur au sens de la forme Backus-Naur mais est une partie entière du format. De multiples identifiants peuvent être concaténés en utilisant cette barre verticale.

Représentation de séquences[modifier | modifier le code]

Les séquences présentes dans un fichier FASTA peuvent être de nature nucléique ou protéique et peuvent contenir des gaps ou des caractères utilisés dans les alignements de séquences. Les séquences doivent être représentées dans le code du standard IUB/IUPAC des acides nucléiques et des acides aminés avec cependant la prise en compte des exceptions suivantes :

  • les lettres minuscules sont acceptées et transformées en majuscules,
  • le signe "-" peut être utilisé pour représenter un gap,
  • dans les séquences protéiques, les signes "U" et "*" sont acceptés (voir ci-dessous).

Les signes numériques ne sont pas autorisés mais peuvent être utilisés dans certaines bases de données pour indiquer des positions au sein de la séquence.

Le code des acides nucléiques accepté est[4],[5] :

Code des acides nucléiques Signification Moyen de mémorisation mnémotechnique
A A Adénine
C C Cytosine
G G Guanine
T T Thymine
U U Uracile
R A ou G puRine
Y C, T ou U pYrimidines
K G, T ou U bases contenant une cétone (Ketones en anglais)
M A ou C bases contenant un groupe aMine
S C ou G interaction forte (Strong en anglais)
W A, T ou U interaction faible (Weak en anglais)
B différent de A (c.-à-d. C, G, T ou U) B vient après A
D différent de C (c.-à-d. A, G, T ou U) D vient après C
H différent de G (c.-à-d. A, C, T ou U) H vient après G
V ni T ni U (c.-à-d. A, C ou G) V vient après T et U
N A, C, G, T ou U N'importe ou Nucléotide
X acide nucléique masqué
- gap

Le code des acides aminés (24 codes des acides aminés et 3 codes spéciaux) sont :

Code des acides aminés Signification
A Alanine
B Acide aspartique ou Asparagine
C Cystéine
D Acide aspartique
E Acide glutamique
F Phénylalanine
G Glycine
H Histidine
I Isoleucine
K Lysine
L Leucine
M Méthionine
N Asparagine
O Pyrrolysine
P Proline
Q Glutamine
R Arginine
S Sérine
T Thréonine
U Sélénocystéine
V Valine
W Tryptophane
Y Tyrosine
Z Acide glutamique ou Glutamine
X n'importe
* codon stop
- gap

Extensions de fichier[modifier | modifier le code]

Il n'existe pas d'extension de fichier officiel pour les fichiers textes contenant des séquences formatées en FASTA. Le tableau ci-après liste les différentes extensions utilisées et leur signification respective.

Extension Signification Commentaires
.fasta
.fas
.fa
FASTA générique Tout fichier fasta. Ces types de fichiers peuvent aussi avoir comme extension .seq (pour sequence) et .fsa (pour fasta sequence alignment)
.fna fasta nucleic acid Fichier FASTA contenant une séquence d'acides nucléiques. Pour des séquences de séquences codantes spécifiques d'un génome, il sera préféré l'extension .ffn.
.ffn fasta functional nucleotide Fichier FASTA contenant une séquence nucléique d'une région codante d'un génome.
.faa fasta amino acid Fichier FASTA contenant une séquence d'acides aminés. Un fichier contenant de multiples séquences pourra avoir l'extension plus spécifique mpfa.
.frn fasta RNA non-coding Fichier FASTA contenant une séquence d'ARN non-codant d'un génome (tels que les ARNt ou les ARNr) mais écrite dans la nomenclature du code ADN (l'uracile remplacé par la thymine).

Convertisseurs de formats[modifier | modifier le code]

Les fichiers FASTA peuvent être convertis par lots vers ou à partir de fichiers FASTA multi-séquences en utilisant des programmes spécifiques, pour certains libres. Des programmes permettent également la conversion par lots de fichiers d'électrophorègrammes aux formats ABI ou SCF vers le format FASTA.

Références[modifier | modifier le code]

  1. a et b (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)
  2. a b c et d (en) William R. Pearson, « Documentation des versions 3.x de la suite de programmes FASTA », sur Center for Biological Sequence analysis (consulté le )
  3. (en) « Manuel de formatdb », sur Manned.org (consulté le )
  4. (en) Tao Tao[le lien externe a été retiré], « Code à lettre unique des nucléotides », sur www.ncbi.nlm.nih.gov, National Center for Biotechnology Information, (consulté le )
  5. (en) « Tableau du code IUPAC », sur www.dna.affrc.go.jp, NIAS DNA Bank (consulté le )

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]