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í.[1] Se originó a partir del software de alineamiento de secuencias FASTA, creado en 1985.[2][3] 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.
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.[4][5][6]
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:
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.[7][8][9]
Tipo
|
Formato/s
|
Ejemplo/s
|
Local (ej.: sin referencia a bases de datos)
|
lcl|número entero
lcl|secuencia de caracteres
|
lcl|123
lcl|hmm271
|
Geninfo (backbone seqid)
|
bbs|número entero
|
bbs|123
|
Geninfo (backbone moltype)
|
bbm|número entero
|
bbm|123
|
Geninfo (import ID)
|
gim|número entero
|
gim|123
|
GenBank
|
gb|identificación|locus
|
gb|M73307|AGMA13GT
|
EMBL
|
emb|identificación|locus
|
emb|CAM43271.1|
|
PIR
|
pir|identificación|nombre
|
pir||G36364
|
Swiss-Prot
|
sp|identificación|nombre
|
sp|P01013|OVAX_CHICK
|
patente
|
pat|país|patente|número de secuencia
|
pat|US|RE33188|1
|
patente preconcedida
|
pgp|country|número de solicitud|número de secuencia
|
pgp|EP|0238993|7
|
RefSeq
|
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|e1632
|
Geninfo Integrated Database
|
gi|número entero
|
gi|21434723
|
DDBJ
|
dbj|identificación|locus
|
dbj|BAC85684.1|
|
PRF
|
prf|identificación|nombre
|
prf||0806162C
|
PDB
|
pdb|identificación|cadena
|
pdb|1I4L|D
|
Genbank (de terceros)
|
tpg|identificación|nombre
|
tpg|BK003456|
|
EMBL (de terceros)
|
tpe|identificación|nombre
|
tpe|BN000123|
|
DDBJ (de terceros)
|
tpd|identificación|nombre
|
tpd|FAA00017|
|
TrEMBL
|
tr|identificación|nombre
|
tr|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ón
|
Uso
|
.fasta, .fas, .fa
|
Cualquier archivo FASTA
|
.fna
|
Archivo FASTA que contiene secuencias de ácidos nucleicos
|
.ffn
|
Contiene secuencias de regiones codificantes de un genoma
|
.faa
|
Contiene secuencias de aminoácidos
|
.mpfa
|
Contiene secuencias de múltiples proteínas
|
.frn
|
Contiene secuencias de ARNs no codificantes (ej.: ARN ribosómico)
|
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.
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
Referencias
- ↑ «FASTA Format for Nucleotide Sequences». www.ncbi.nlm.nih.gov. Archivado desde el original el 19 de febrero de 2024. Consultado el 2 de febrero de 2025.
- ↑ Lipman, D. J.; Pearson, W. R. (22 de marzo de 1985). «Rapid and sensitive protein similarity searches». Science (New York, N.Y.) 227 (4693): 1435-1441. ISSN 0036-8075. PMID 2983426. doi:10.1126/science.2983426. Consultado el 2 de febrero de 2025.
- ↑ Pearson, W. R.; Lipman, D. J. (1988). «Improved tools for biological sequence comparison». Proceedings of the National Academy of Sciences of the United States of America 85 (8): 2444-2448. ISSN 0027-8424. PMID 3162770. doi:10.1073/pnas.85.8.2444. Consultado el 2 de febrero de 2025.
- ↑ IUPAC-IUB Comm. on Biochem. Nomenclature (CBN) (29 de septiembre de 1970). «Abbreviations and symbols for nucleic acids, polynucleotides, and their constituents». Biochemistry 9 (20): 4022-4027. ISSN 0006-2960. doi:10.1021/bi00822a023. Consultado el 2 de febrero de 2025.
- ↑ «Nomenclature and Symbolism for Amino Acids and Peptides. 3AA-1. Names of Common α-Amino Acids». iupac.qmul.ac.uk. Archivado desde el original el 26 de diciembre de 2022. Consultado el 2 de febrero de 2025.
- ↑ «Abbreviations and Symbols for Nucleic Acids, Polynucleotides and their Constituents». iupac.qmul.ac.uk. Archivado desde el original el 13 de diciembre de 2024. Consultado el 2 de febrero de 2025.
- ↑ Madden, Tom; Camacho, Christiam (14 de marzo de 2021). BLAST+ features (en inglés). National Center for Biotechnology Information (US). Consultado el 2 de febrero de 2025.
- ↑ «Table C8: [Makeblastdb application options. This application...].». www.ncbi.nlm.nih.gov (en inglés). 14 de marzo de 2021. Consultado el 2 de febrero de 2025.
- ↑ «NCBI C++ Toolkit Book». ncbi.github.io. Consultado el 2 de febrero de 2025.
- Mount, David W. Bioinformatics: Sequence and Genome Analysis, 2ª ed. Spring Harbor Press, 2004. ISBN 0-87969-712-1. Págs. 45 y siguientes.
Véase también
Enlaces externos