Formato FASTA | ||
---|---|---|
Desarrollador | ||
David J. Lipman William R. Pearson | ||
Información general | ||
Extensión de archivo |
.fasta, .fna, .ffn, .faa, .frn | |
Tipo de MIME |
| |
Lanzamiento inicial | 1985 | |
Tipo de formato | Bioinformática | |
Extendido de | ASCII | |
Extendido a | Formato FASTQ | |
Formato abierto | ? | |
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
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
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:
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 |
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|123
|
Geninfo (backbone seqid)[nota 1] | bbs|número entero
|
bbs|123
|
Geninfo (backbone moltype)[nota 2] | bbm|número entero
|
bbm|123
|
Geninfo (import ID)[nota 3] | 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|taxon|9606
|
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
|
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:
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
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