En bioinformática, el formato FASTA es un formato de archivo informático basado en texto, utilizado para representar secuencias de nucleótidos o de aminoácidos (constituyentes de ácidos nucleicos y proteínas, respectivamente), y en el que estos se representan usando códigos de una única letra.

El formato también permite incluir nombres de secuencias y comentarios que preceden a las secuencias en sí. Se originó a partir del software de alineamiento de secuencias FASTA, creado en 1985. La simplicidad del formato FASTA hace fácil el manipular y analizar secuencias usando herramientas de procesado de textos y lenguajes de guion como Python y PERL.

Formato Una secuencia bajo formato FASTA comienza con una descripción en una única línea (línea de cabecera), seguida por líneas de datos de secuencia. La línea de descripción se distingue de los datos de secuencia por un símbolo '>' (mayor que) en la primera columna. La palabra siguiente a este símbolo es el identificador de la secuencia, y el resto de la línea es la descripción (ambos son opcionales). No debería existir espacio entre el '>' y la primera letra del identificador. Se recomienda que todas las líneas de texto sean menores de 80 caracteres. La secuencia termina si aparece otra línea comenzando con el símbolo '>'; esto indica el comienzo de otra secuencia. Un ejemplo simple de una secuencia en el formato FASTA puede ser:

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

Línea de cabecera La línea de cabecera, que comienza con '>', proporciona un nombre y/o un identificador único a la secuencia, y a menudo bastante información adicional. Muy diferentes bases de datos de secuencias usan cabeceras estandarizadas, lo que ayuda a la extracción automática de información desde la cabecera. La línea de cabecera puede contener más de una cabecera, separadas por un carácter ^A (Control-A). En el formato FASTA Pearson original, uno o más comentarios, distinguidos por un carácter ';' (punto y coma) al comienzo de la línea, podían aparecer tras la cabecera. La mayoría de las bases de datos y aplicaciones bioinformáticas no reconocen tales comentarios y siguen la especificación FASTA del NCBI. Un ejemplo de archivo con una secuencia múltiple bajo FASTA podría ser:

>SECUENCIA_1 MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL >SECUENCIA_2 SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH Representación de la secuencia Tras la línea de cabecera y los comentarios, una o más líneas pueden seguir para describir la secuencia: cada línea de una secuencia debería tener menos de 80 caracteres. Las secuencias pueden corresponder a secuencias de proteínas (estructura primaria de las proteínas) o de ácidos nucleicos, y pueden contener huecos (en inglés, gaps) o caracteres de alineamiento. Normalmente se espera que las secuencias se representen en los códigos estándar IUB/IUPAC para aminoácidos y ácidos nucleicos, con las siguientes excepciones: se aceptan letras minúsculas, las cuales se transforman en mayúsculas; un único guion o raya puede usarse para representar un hueco; y en secuencias de aminoácidos, 'U' y '*' son caracteres aceptables (ver más abajo). No se admiten dígitos numéricos, pero se utilizan en algunas bases de datos para indicar la posición en la secuencia.

Los códigos de ácidos nucleicos utilizados son:

Código de ácido nucleico Significado A Adenosina C Citosina G Guanina T Timidina U Uracilo R G A (puRina) Y T C (pirimidina/pYrimidine) K G T (cetona/Ketone) M A C (grupo aMino) S G C (interacción fuerte/Strong interaction) W A T (interacción débil/Weak interaction) B G T C (no A) (B viene tras la A) D G A T (no C) (D viene tras la C) H A C T (no G) (H viene tras la G) V G C A (no T, no U) (V viene tras la U) N A G C T (cualquiera/aNy) X máscara - hueco (gap) de longitud indeterminada

Los códigos de aminoácidos son:

Código de aminoácido Significado A Alanina B Ácido aspártico o Asparagina C Cisteína D Ácido aspártico E Ácido glutámico F Fenilalanina G Glicina H Histidina I Isoleucina K Lisina L Leucina M Metionina N Asparagina O Pirrolisina P Prolina Q Glutamina R Arginina S Serina T Treonina U Selenocisteína V Valina W Triptófano Y Tirosina Z Ácido glutámico o Glutamina X cualquiera * parada de traducción - hueco (gap) de longitud indeterminada

Identificadores de secuencia El NCBI definió un estándar para el identificador único usado para las secuencias (término original en inglés, SeqID) en la línea de cabecera. Paquetes de software, como makeblastdb y table2asn, reconocen automáticamente los identificadores y su base de datos de origen, siempre que se correspondan con los establecidos oficialmente por el NCBI. +TipoFormato/sEjemplo/sLocal (ej.: sin referencia a bases de datos) lcl|número entero lcl|secuencia de caracteres lcl|123 lcl|hmm271Geninfo (backbone seqid) bbs|número entero bbs|123Geninfo (backbone moltype) bbm|número entero bbm|123Geninfo (import ID) gim|número entero gim|123GenBank gb|identificación|locus gb|M73307|AGMA13GTEMBL emb|identificación|locus emb|CAM43271.1|PIR pir|identificación|nombre pir||G36364Swiss-Prot sp|identificación|nombre sp|P01013|OVAX_CHICKpatente pat|país|patente|número de secuencia pat|US|RE33188|1patente preconcedida pgp|country|número de solicitud|número de secuencia pgp|EP|0238993|7RefSeq ref|identificación|nombre ref|NM_010450.1|Referencia general a cualquier base de datos no presente en esta lista gnl|base de datos|número entero gnl|base de datos|secuencia de caracteres gnl|taxon|9606 gnl|PID|e1632Geninfo Integrated Database gi|número entero gi|21434723DDBJ dbj|identificación|locus dbj|BAC85684.1|PRF prf|identificación|nombre prf||0806162CPDB pdb|identificación|cadena pdb|1I4L|DGenbank (de terceros) tpg|identificación|nombre tpg|BK003456|EMBL (de terceros)tpe|identificación|nombretpe|BN000123|DDBJ (de terceros)tpd|identificación|nombretpd|FAA00017|TrEMBLtr|identificación|nombretr|Q90RT2|Q90RT2_9HIV1

Extensiones de archivo No hay una extensión de archivo estándar para un fichero de texto conteniendo secuencias formateadas en FASTA. La siguiente tabla incluye las diferentes extensiones utilizadas en archivos FASTA en función de su contenido. +ExtensiónUso.fasta, .fas, .faCualquier archivo FASTA.fnaArchivo FASTA que contiene secuencias de ácidos nucleicos.ffnContiene secuencias de regiones codificantes de un genoma.faaContiene secuencias de aminoácidos.mpfaContiene secuencias de múltiples proteínas.frnContiene secuencias de ARNs no codificantes (ej.: ARN ribosómico)

Convertidores de formato Los archivos FASTA pueden ser convertidos por lotes a, o desde, el formato MultiFASTA usando herramientas libres como FASTA to multi-FASTA converter y multi-FASTA to FASTA converter. También pueden conseguirse otras herramientas libres para conversión por lotes desde formatos de cromatogramas (ABI/SCF) a FASTA: ABI2FASTA converter y Chromatogram explorer.

Formato HUPO-PSI Este formato pretende resolver bastantes problemas del formato tradicional FASTA:

Las líneas de definición varían ampliamente sin una buena razón. Esto causa problemas a los usuarios finales que quieren usar estos archivos con herramientas de identificación de proteínas. Los creadores de estas herramientas se enfrentan a un desafío importante: o bien soportar todas estas variaciones, o bien permitir al usuario hacer frente a las mismas. La misma base de datos es procesada en diferentes motores de búsqueda -> identificadores diferentes -> dificultades para mapear (P00761 vs. ALBU_HUMAN). La misma proteína en diferentes bases de datos puede tener identificadores muy diferentes (P00761 vs gi|3446572|sp|p00761 vs. IPI:12345678). La información extraída de los formatos FASTA es heterogénea, lo que provoca problemas de análisis sintáctico. Descripción y disponibilidad de la taxonomía (nombres lationos, nombres comunes, TaxID del NCBI=

Bloque de cabecera Incluye información sobre la/s base/s de datos incluida/s. Todas las líneas del bloque empiezan con el carácter '#'. Un término de cabecera de la lista siguiente por línea:

Términos para la cabecera Descripción Valor #\DbComponent= Incremento en la cuenta Entero #\Name= Nombre de la base de datos CV según proveedor de la base de datos (UniprotKnowledgeBase) #\PrimaryIdentifierType= Identificador para ser usado como prefijo para entradas de proteínas individuales CV #\Decoy= ¿Es una base de datos señuelo? ?: true/false or description #\Version= Versión de la base de datos, de acuerdo a su proveedor De acuerdo al proveedor de la base de datosAccording to the database provider #\ReleaseDate= Fecha de la base de datos fuente #\NumberOfEntries= Número de entradas Entero #\Sequence_type= Tipo de secuencia DNA (ADN), AA, RNA (ARN), EST, etc.

Ejemplo de bloque cabecera: #\Dbcomponent=1 #\Name=UniProt_SwissProt #\PrimaryIdentifierType=sp_ac #\Version=52.3 #\ReleaseDate=20070425 #\NumberOfEntries=248942 #\Sequence_type=Protein_sequence

#\Dbcomponent=2 #\Name=ENSEMBL #\PrimaryIdentifierType=sp_ac #\Version=12.45.3.2 #\ReleaseDate=20070425 #\NumberOfEntries=1234567 #\Sequence_type=Protein_sequence

Línea de cabecera de secuencia Descripción de la línea de cabecera de la entrada individual Ejemplo La cabecera empieza con >, seguido por la AC primaria, precedida con el prefijo de la base de datos (útil si hay concatenadas más de una base de datos). Campo obligatorio. >sp_ac|P000761 Descripción de toda la información aparte de la secuencia \term=valor (los términosterms son descriptores de vocabulario controlado) \ID=ALBU_HUMAN El orden de los campos adicionales no es importante Valor puede ser una lista. Los elementos de la lista son representado como (valor_1)(valor_2) \ALTERNATE_AC=(P00786)(Q22222) Valor puede estar entre " ", si es necesario \DE="Human serum albumin"' puede usarse como separador para todos los campos individuales \MODRES=(1|Acetyl) ¿Ctrl-A como separador para entradas multi-cabecera? (Caso de uso NCBInr) (Caso de uso NCBInr)

Término de campo cabecera Definición Formato ALT_AC AC alternativa ID SwissProt_ID DE Descripción de la proteína ALT_DE Descripción alternativa NCBITAXID Identificador de taxonomía NCBI (9606) Entero TAX_LATIN Taxonomía con nombre en latín (Homo sapiens) TAX_COM Taxonomía en formato de nombre común (human) MODRES Residuo modificado (PTM) (posición|modificación) (PSI_MOD) VARIANT Mutación de residuo (posición|residuo original|residuo final)

Ejemplo de entrada de proteína: >sp_ac|P02769_WOSIG0 \ID=ALBU_BOVIN \DE="Serum albumin precursor (Allergen Bos d 6) (BSA)"\NCBITAXID=9913 \MODRES=(1|Acetyl) \VARIANT=(196|A|T) \LENGTH=589 RGVFRRDTHKSEIAHRFKDLGEEHFKGLVLIAFSQYLQQCPFDEHVKLVNELTEFAKTCV ADESHAGCEKSLHTLFGDELCKVASLRETYGDMADCCEKQEPERNECFLSHKDDSPDLPK LKPDPNTLCDEFKADEKKFWGKYLYEIARRHPYFYAPELLYYANKYNGVFQECCQAEDKG ACLLPKIETMREKVLASSARQRLRCASIQKFGERALKAWSVARLSQKFPKAEFVEVTKLV TDLTKVHKECCHGDLLECADDRADLAKYICDNQDTISSKLKECCDKPLLEKSHCIAEVEK DAIPENLPPLTADFAEDKDVCKNYQEAKDAFLGSFLYEYSRRHPEYAVSVLLRLAKEYEA TLEECCAKDDPHACYSTVFDKLKHLVDEPQNLIKQNCDQFEKLGEYGFQNALIVRYTRKV PQVSTPTLVEVSRSLGKVGTRCCTKPESERMPCTEDYLSLILNRLCVLHEKTPVSEKVTK CCTESLVNRRPCFSALTPDETYVPKAFDEKLFTFHADICTLPDTEKQIKKQTALVELLKH KPKATEEQLKTVMENFVAFVDKCCAADDKEACFAVEGPKLVVSTQTALA

Notas

Referencias

Mount, David W. Bioinformatics: Sequence and Genome Analysis, 2ª ed. Spring Harbor Press, 2004. ISBN 0-87969-712-1. Págs. 45 y siguientes.

Descripción del formato FASTA del NCBI.