En bioinformatique et en biochimie , le format FASTA est un format textuel permettant de représenter soit des séquences de nucléotides , soit des séquences d'acides aminés (protéines), dans lesquelles les nucléotides ou les acides aminés sont représentés à l'aide de codes à une seule lettre.
Le format permet de faire précéder les séquences par des noms de séquences et des commentaires. Il est issu du progiciel FASTA et est depuis devenu une norme quasi universelle en bioinformatique .
La simplicité du format FASTA facilite la manipulation et l'analyse des séquences à l'aide d'outils de traitement de texte et de langages de script .
Aperçu
Une séquence commence par un caractère supérieur à (">") suivi d'une description de la séquence (le tout sur une seule ligne). Les lignes qui suivent immédiatement la ligne de description sont la représentation de la séquence, avec une lettre par acide aminé ou acide nucléique, et ne comportent généralement pas plus de 80 caractères.
Par exemple:
>MCHU - Calmoduline - Humain, lapin, bovin, rat et poulet MADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTID FPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREA DIDGDGQVNYEEFVQMMTAK*
Format original
Le format FASTA/ Pearson d'origine est décrit dans la documentation de la suite de programmes FASTA . Il peut être téléchargé avec n'importe quelle distribution gratuite de FASTA (voir fasta20.doc, fastaVN.doc ou fastaVN.me, où VN est le numéro de version).
Dans le format original, une séquence était représentée comme une série de lignes, dont chacune ne dépassait pas 120 caractères et ne dépassait généralement pas 80 caractères. Cela devait probablement permettre la pré-allocation de tailles de ligne fixes dans le logiciel : à l'époque, la plupart des utilisateurs s'appuyaient sur des terminaux Digital Equipment Corporation (DEC) VT220 (ou compatibles) qui pouvaient afficher 80 ou 132 caractères par ligne. La plupart des gens préféraient la police plus grande dans les modes à 80 caractères et il est donc devenu recommandé d'utiliser 80 caractères ou moins (souvent 70) dans les lignes FASTA. De plus, la largeur d'une page imprimée standard est de 70 à 80 caractères (selon la police). Par conséquent, 80 caractères sont devenus la norme.
La première ligne d'un fichier FASTA commençait soit par un symbole « > » (supérieur à) ou, moins fréquemment, par un « ; » (point-virgule) et était considérée comme un commentaire. Les lignes suivantes commençant par un point-virgule étaient ignorées par le logiciel. Comme le seul commentaire utilisé était le premier, il a rapidement été utilisé pour contenir une description sommaire de la séquence, commençant souvent par un numéro d'accès de bibliothèque unique, et avec le temps, il est devenu courant d'utiliser toujours « > » pour la première ligne et de ne pas utiliser de commentaires « ; » (qui seraient sinon ignorés).
Après la ligne initiale (utilisée pour une description unique de la séquence), il y avait la séquence elle-même dans la chaîne de caractères standard à une lettre. Tout autre caractère que valide était ignoré (y compris les espaces, les tabulations, les astérisques, etc.). Il était également courant de terminer la séquence par un caractère « * » (astérisque) (par analogie avec l'utilisation dans les séquences au format PIR) et, pour la même raison, de laisser une ligne vide entre la description et la séquence. Voici quelques exemples de séquences :
;LCBO - Précurseur de la prolactine - Bovin ; une séquence d'échantillons au format FASTA MDSKGSSQKGSRLLLLLVVSNLLLCQGVVSTPVCPNGPGNCQVSLRDLFDRAVMVSHYIHDLSS EMFNEFDKRYAQGKGFITMALNSCHTSSLPTPEDKEQAQQTHHEVLMSLILGLLRSWNDPLYHL VTEVRGMKGAPDAILSRAIEIEEENKRLLEGMEMIFGQVIPGAKETEPYPVWSGLPSLQTKDED ARYSAFYNLLHCLRRDSSKIDTYLKLLNCRIIYNNNC* >MCHU - Calmoduline - Humain, lapin, bovin, rat et poulet MADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTID FPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREA DIDGDGQVNYEEFVQMMTAK* >gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus] LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLV EWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL GLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGX IENY
Un format FASTA à séquences multiples, ou format multi-FASTA, serait obtenu en concaténant plusieurs fichiers FASTA à séquence unique dans un seul fichier. Cela n'implique pas de contradiction avec le format car seule la première ligne d'un fichier FASTA peut commencer par un ";" ou ">", forçant toutes les séquences suivantes à commencer par un ">" afin d'être considérées comme des séquences séparées (et forçant en outre la réservation exclusive de ">" pour la ligne de définition de séquence). Ainsi, les exemples ci-dessus constitueraient un fichier multi-FASTA s'ils étaient pris ensemble.
Les programmes bioinformatiques modernes qui s'appuient sur le format FASTA s'attendent à ce que les en-têtes de séquence soient précédés de « "> ». La séquence est généralement représentée comme « entrelacée » ou sur plusieurs lignes comme dans l'exemple ci-dessus, mais peut également être « séquentielle » ou sur une seule ligne. L'exécution de différents programmes bioinformatiques peut nécessiter des conversions entre les formats FASTA « séquentiel » et « entrelacé ».
Ligne de description
La ligne de description (defline) ou ligne d'en-tête/d'identifiant, qui commence par « > », donne un nom et/ou un identifiant unique pour la séquence, et peut également contenir des informations supplémentaires. Dans une pratique obsolète, la ligne d'en-tête contenait parfois plusieurs en-têtes, séparés par un caractère ^A (Control-A). Dans le format Pearson FASTA d'origine, un ou plusieurs commentaires, distingués par un point-virgule au début de la ligne, peuvent apparaître après l'en-tête. Certaines bases de données et applications bioinformatiques ne reconnaissent pas ces commentaires et suivent la spécification NCBI FASTA. Voici un exemple de fichier FASTA à séquences multiples :
>SÉQUENCE_1 MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL >SÉQUENCE_2 SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH
Identifiants NCBI
Le NCBI a défini une norme pour l'identifiant unique utilisé pour la séquence (SeqID) dans la ligne d'en-tête. Cela permet d'étiqueter une séquence obtenue à partir d'une base de données avec une référence à son enregistrement de base de données. Le format de l'identifiant de la base de données est compris par les outils NCBI tels que makeblastdbet table2asn. La liste suivante décrit le format défini par le NCBI FASTA pour les identifiants de séquence.
Les barres verticales (« | ») dans la liste ci-dessus ne sont pas des séparateurs au sens de la forme Backus–Naur mais font partie du format. Plusieurs identifiants peuvent être concaténés, également séparés par des barres verticales.
Représentation de séquence
Après la ligne d'en-tête, la séquence réelle est représentée. Les séquences peuvent être des séquences protéiques ou des séquences d'acides nucléiques , et elles peuvent contenir des espaces ou des caractères d'alignement (voir Alignement de séquence ). Les séquences doivent être représentées dans les codes d'acides aminés et d'acides nucléiques standard IUB/IUPAC , avec ces exceptions : les lettres minuscules sont acceptées et sont mappées en majuscules ; un seul trait d'union ou un tiret peut être utilisé pour représenter un caractère d'espacement ; et dans les séquences d'acides aminés, U et * sont des lettres acceptables (voir ci-dessous). Les chiffres numériques ne sont pas autorisés mais sont utilisés dans certaines bases de données pour indiquer la position dans la séquence. Les codes d'acides nucléiques pris en charge sont :
Les codes d'acides aminés pris en charge (22 acides aminés et 3 codes spéciaux) sont :
Fichier FASTA
Extension du nom de fichier
Il n'existe pas d'extension de nom de fichier standard pour un fichier texte contenant des séquences au format FASTA. Le tableau ci-dessous présente chaque extension et sa signification respective.
Compression
La compression des fichiers FASTA nécessite un compresseur spécifique pour gérer les deux canaux d'information : identifiants et séquence. Pour de meilleurs résultats de compression, ceux-ci sont principalement divisés en deux flux où la compression est effectuée en supposant l'indépendance. Par exemple, l'algorithme MFCompress effectue une compression sans perte de ces fichiers en utilisant la modélisation du contexte et le codage arithmétique. Genozip, un progiciel de compression de fichiers génomiques, utilise un modèle extensible basé sur le contexte. Des tests de référence des algorithmes de compression de fichiers FASTA ont été rapportés par Hosseini et al. en 2016, et Kryukov et al. en 2020.
Cryptage
Le cryptage des fichiers FASTA peut être effectué avec divers outils, notamment Cryfa et Genozip. Cryfa utilise le cryptage AES et permet également la compression des données. De même, Genozip peut crypter les fichiers FASTA avec AES-256 pendant la compression.
Extensions
Le format FASTQ est une forme de format FASTA étendue pour indiquer les informations liées au séquençage. Il a été créé par le Sanger Centre de Cambridge.
A2M/A3M sont une famille de formats dérivés de FASTA utilisés pour les alignements de séquences . Dans les séquences A2M/A3M, les caractères minuscules sont considérés comme des insertions, qui sont ensuite indiquées dans les autres séquences par le caractère point (« . »). Les points peuvent être ignorés pour des raisons de compacité sans perte d'informations. Comme pour les fichiers FASTA typiques utilisés dans les alignements, l'espace (« - ») est considéré comme signifiant exactement une position. A3M est similaire à A2M, avec la règle supplémentaire selon laquelle les espaces alignés sur des insertions peuvent également être ignorés.
Travailler avec les fichiers FASTA
Une multitude de scripts conviviaux sont disponibles auprès de la communauté pour effectuer des manipulations de fichiers FASTA. Des boîtes à outils en ligne, telles que FaBox ou le FASTX-Toolkit dans les serveurs Galaxy, sont également disponibles. Ceux-ci peuvent être utilisés pour séparer les en-têtes/identifiants de séquence, les renommer, les raccourcir ou extraire des séquences d'intérêt à partir de fichiers FASTA volumineux en fonction d'une liste d'identifiants souhaités (entre autres fonctions disponibles). Une approche basée sur l'arborescence pour trier les fichiers multi-FASTA (TREE2FASTA ) existe également basée sur la coloration et/ou l'annotation des séquences d'intérêt dans le visualiseur FigTree. De plus, le package Bioconductor Biostrings peut être utilisé pour lire et manipuler des fichiers FASTA dans R .
Il existe plusieurs convertisseurs de format en ligne permettant de reformater rapidement les fichiers multi-FASTA en différents formats (par exemple NEXUS, PHYLIP) pour les utiliser avec différents programmes phylogénétiques, comme le convertisseur disponible sur phylogeny.fr.