FASTA (.fasta, .fa, .fna, .fsa, .mpfa)


    MIME type: chemical/seq-aa-fasta, chemical/seq-na-fasta
    FASTA molecular biology format.
    Standard format for storing and exchanging DNA and protein sequences.
    Plain text format.
    Stores nucleic acid or protein sequences as character strings.
    Various conventions are in use to represent meta-information.
    Developed in 1988 by William Pearson and David Lipman as part of the FASTA sequence-alignment software.

Import and Export

  • Import["file.fasta"] imports DNA or protein sequences from a FASTA file.
  • Export["file.fasta",expr] exports a sequence or a list of sequences to the FASTA format.
  • Import["file.fasta"] returns a list of strings representing the sequences stored in the file.
  • Export["file.fasta",str] exports a character string representing a DNA sequence to FASTA.
  • Export["file.fasta",{str1,str2,}] exports multiple DNA sequences.
  • Import["file.fasta",elem] imports the specified element from a FASTA file.
  • Import["file.fasta",{elem,suba,subb,}] imports a subelement.
  • Import["file.fasta",{{elem1,elem2,}}] imports multiple elements.
  • The import format can be specified with Import["file","FASTA"] or Import["file",{"FASTA",elem,}].
  • Export["file.fasta",expr,elem] creates a FASTA file by treating expr as specifying element elem.
  • Export["file.fasta",{expr1,expr2,},{{elem1,elem2,}}] treats each expri as specifying the corresponding elemi.
  • Export["file.fasta",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
  • Export["file.fasta",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
  • See the reference pages for full general information on Import and Export.
  • ImportString and ExportString support the FASTA format.


  • General Import elements:
  • "Elements"list of elements and options available in this file
    "Rules"full list of rules for each element and option
    "Options"list of rules for options, properties, and settings
  • Data representation elements:
  • "Header"raw header lines
    "Sequence"DNA or protein sequences as a list of strings
    "Plaintext"sequences as formatted text
  • Import uses the "Sequence" element by default for the FASTA format.
  • Additional data elements:
  • "Data""Header" and "Sequence" elements combined in a list
    "LabeledData"list of rules for each sequence stored in the file
  • Header line meta-information:
  • "Accession"NCBI accession number for each sequence
    "Description"locus description text for each sequence
    "GenBankID"GenBank database identifier
    "Length"list of integers, representing the length of each sequence
  • The Wolfram Language uses the standard IUB/IUPAC abbreviations for nucleic acids:
  • Aadenosine
    Rpurine (G or A)
    Ypyrimidine (T or C)
    Kketone (G or T)
    Mamino group (A or C)
    Sstrong interaction (G or C)
    Wweak interaction (A or T)
    BC or G or T
    DA or G or T
    HA or C or T
    VA or C or G
    Nany nucleic acid (A or C or G or T)
    -gap of indeterminate length
  • Codes representing amino acids:
  • Aalanine (Ala)
    Beither aspartic acid or asparagine
    Ccysteine (Cys)
    Daspartic acid (Asp)
    Eglutamic acid (Glu)
    Fphenylalanine (Phe)
    Gglycine (Gly)
    Hhistidine (His)
    Iisoleucine (Ile)
    Klysine (Lys)
    Lleucine (Leu)
    Mmethionine (Met)
    Nasparagine (Asn)
    Pproline (Pro)
    Qglutamine (Gln)
    Rarginine (Arg)
    Sserine (Ser)
    Tthreonine (Thr)
    Vvaline (Val)
    Wtryptophan (Trp)
    Ytyrosine (Tyr)
    Zeither glutamic acid or glutamine
    Xany amino acid
    *translation stop
    -gap of indeterminate length


  • Import options:
  • "HeaderFormat"Automaticspecifies the format of the header
    "ToUpperCase"Truewhether or not to make sequences upper case
  • Import uses a large built-in library of header format specifications found in common variants of the FASTA format.
  • By setting "HeaderFormat" to a list of literal strings and names of meta-information elements, any header line format can be specified on Import.
  • "HeaderFormat"->{"gi|","DatabaseIndex","|gb|","Accession","|","Description"} is a setting typical for NCBI FASTA files.
  • Advanced Export options:
  • "LineWidth"70maximum number of characters in a line
    "ToUpperCase"Truewhether or not to make sequences upper case


Basic Examples  (7)

This reads the raw header line from a sample FASTA file:

Click for copyable input

Extract the accession string:

Click for copyable input

Parse the GenBank database key and the description string from the header line:

Click for copyable input

Read the first letters of the DNA sequence:

Click for copyable input

This converts a short sequence to the FASTA format, automatically adding default header information:

Click for copyable input

This exports two sequences:

Click for copyable input

This exports a pair of headers and sequences:

Click for copyable input

Import the previous output using the "Data" element gives raw headers and sequences:

Click for copyable input

Import as a list of rules:

Click for copyable input

See Also

"FASTQ"  "MOL"  "PDB"  "XYZ"  "SFF"

Introduced in 2007
| Updated in 2012