Formato FASTA
# Formato FASTA

En bioinformática, el formato FASTA es un formato de fichero informático basado en texto, utilizado para representar secuencias de ácidos nucleicos, de péptido, y en el que los pares de bases o los aminoácidos 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í.

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:

### 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.

### 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, tal y como se encuentra en ).

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:

### 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 algo menos de 80 caracteres. Las secuencia pueden corresponder a secuencias de proteínas (estructura primaria de las proteínas) o de ácidos nucleicos, y pueden contener huecos (o 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 nucléicos, con las siguientes excepciones: se aceptan letras minúsculas y se mapean a 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 nucléicos soportados 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 soportados 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 (SeqID) en la línea de cabecera. La página man (manual de algunas aplicaciones o comandos bajo Unix) de la herramienta software formatdb comenta lo siguiente sobre el asunto: "formatdb analizará automáticamente el SeqID y creará índices, pero los identificadores de la base de datos en la línea de definición FASTA deben seguir las convenciones del FASTA Defline Format (formato FASTA de definición de línea)".

Sin embargo, no se da una descripción definitiva del formato defline de FASTA. Se ofrece a continuación un intento de tal formato:

Las barras verticales en la lista de arriba no son separadores en el sentido de la Backus-Naur form, sino que son parte del formato.

### Extensiones de archivo

No hay una extensión de archivo estándar para un fichero de texto conteniendo secuencias formateadas bajo FASTA. Los ficheros de este formato tienen a menudo extensiones como .fa, .mpfa, .fna, .fsa, .fas o .fasta.

## 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:

### 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:

