FASTA格式
在生物資訊學中,FASTA格式是一種用於記錄核酸序列或肽序列的文字格式,其中的核酸或胺基酸均以單個字母編碼呈現。該格式同時還允許在序列之前定義名稱和編寫注釋。這一格式最初由FASTA軟體套件定義,但現今已是生物資訊學領域的一項標準。
FASTA簡明的格式降低了序列操縱和分析的難度,令序列可被文字處理工具和諸如Python、Ruby和Perl等手稿語言處理。
格式
FASTA格式中的一條完整序列,包含開頭的單行描述行和多行序列資料。描述行行首前置半形大於號(「>」)以和資料行區分。「>」後緊接的內容為該序列的識別碼,該行剩餘部分則為序列的描述(識別碼與描述均非必須)。「>」和識別碼之間不應有空格,且建議將單行內容限制在80字元以內。序列的結束以下一條序列的「>」出現為標識。如下為FASTA評論區格式一條序列的範例:
>gi|31563518|ref|NP_852610.1 关,瓦斯4 microtubule-associated proteins 1A/1B light chain 3A isoform b [Homo sapiens]
MKMRFFSSPCGKAAVDPADRCKEVQQIRDQHPSKIPVIIERYKGEKQLPVLDKTKFLVPDHVNMSELVKI
IRRRLQLNPTQAFFLLVNQHSMVSVSTPIADIYEQEKDEDGFLYMVYASQETFGFIRENE
上例中,「gi|31563518|ref|NP_852610.1|」是序列的名稱。
歷史
原版FASTA/Pearson格式定義出現在FASTA程式包的文件中。可隨FASTA的任一免費版本下載(見fasta20.doc、fastaVN.doc或fastaVN.me,其中VN代表版本號)。
FASTA格式中的一條序列由多行文字組成,每一行的字元數均不能超過120字元,通常不推薦超過80字元。這一限制可能與軟體為單行顯示預分配固定大小主記憶體有關:當時大部分的使用者都使用DEC VT(或其相容)終端,而這一終端單行支援顯示的字元數上限在80到132個之間。大部分人會將他們的終端組態為字號較大的80字元模式,因此在FASTA中每行只包含80字元或更少(通常為70字元)成為了推薦的做法。此外,標準列印頁的一行寬度也在70到80字元之間(取決於字型)。
FASTA檔案的首行以一個「>」(大於號)或「;」(分號,較不常見)起始,後者是一條注釋。然而,後續以分號起始的各行卻會被軟體忽略。由於軟體只會辨識第一條注釋,早期會在首行注釋中編寫序列摘要(以唯一的圖書館登入號起始);但隨時間推移,現在的常見做法是只使用「>」(包括首行),不再使用任何「;」注釋(因軟體會忽略後者)。
在首行(用於唯一描述序列)之後,是以單字母標準編碼表達的實際序列資料。有效編碼以外的任何字元(包括空格、制表符、星號等)都會被忽略。在結尾以「*」(星號)以示序列結束亦是早期的一種常見做法(與PIR格式序列類似);同樣因為如上原因,描述和序列之間往往還會留有空行。
如下為一些序列檔案的樣例:
;LCBO - Prolactin precursor - Bovine
; a sample sequence in FASTA format
MDSKGSSQKGSRLLLLLVVSNLLLCQGVVSTPVCPNGPGNCQVSLRDLFDRAVMVSHYIHDLSS
EMFNEFDKRYAQGKGFITMALNSCHTSSLPTPEDKEQAQQTHHEVLMSLILGLLRSWNDPLYHL
VTEVRGMKGAPDAILSRAIEIEEENKRLLEGMEMIFGQVIPGAKETEPYPVWSGLPSLQTKDED
ARYSAFYNLLHCLRRDSSKIDTYLKLLNCRIIYNNNC*
>MCHU - Calmodulin - Human, rabbit, bovine, rat, and chicken
ADQLTEEQIAEFKEAFSLFDKDGDGTITTKELGTVMRSLGQNPTEAELQDMINEVDADGNGTID
FPEFLTMMARKMKDTDSEEEIREAFRVFDKDGNGYISAAELRHVMTNLGEKLTDEEVDEMIREA
DIDGDGQVNYEEFVQMMTAK*
>gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus]
LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLV
EWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG
LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL
GLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGX
IENY
多序列FASTA檔案可由單序列FASTA檔案字串連接而成。這並不與FASTA檔案要求首行可以「;」或「>」起始的格式相衝突,因為只要後續所有序列都以「>」起始便可被軟體視為不同序列(並推而廣之要求序列定義行必須使用「>」)。所以,如上的範例在連接後即為合法的多序列檔案。
描述行
描述行(定義行)或標題行以「>」開始,緊隨著序列的名稱和/或唯一識別碼,除此還可包含其他資訊。在過時的做法中,標題行有時可以有一條以上的標題,並以^A(Control-A)控制符分隔。
在原版的Pearson FASTA格式中,以分號起始的注釋可在標題行之後出現。但一些遵守NCBI FASTA規範(頁面存檔備份,存於網際網路檔案館)的資料庫和生物資訊軟體不會辨識這些注釋。如下為多序列FASTA檔案的範例:
>SEQUENCE_1
MTEITAAMVKELRESTGAGMMDCKNALSETNGDFDKAVQLLREKGLGKAAKKADRLAAEG
LVSVKVSDDFTIAAMRPSYLSYEDLDMTFVENEYKALVAELEKENEERRRLKDPNKPEHK
IPQFASRKQLSDAILKEAEEKIKEELKAQGKPEKIWDNIIPGKMNSFIADNSQLDSKLTL
MGQFYVMDDKKTVEQVIAEKEKEFGGKIKIVEFICFEVGEGLEKKTEDFAAEVAAQL
>SEQUENCE_2
SATVSEINSETDFVAKNDQFIALTKDTTAHIQSNSLQSVEELHSSTINGVKFEEYLKSQI
ATIGENLVVRRFATLKAGANGVVNGYIHTNGRVGVVIAAACDSAEVASKSRDLLRQICMH
序列表現
在標題行和注釋之後,是由一行或多行構成的序列資料,其中每行的長度應短於80字元。序列可以是蛋白質序列或核酸序列,其中可以包含空白占位或比對用字元(見序列比對)。序列應以標準的IUB/IUPAC胺基酸和核酸編碼表達,除以下例外:允許小寫字母,並會被轉作大寫字母;一個半形連字元可表示一個空白字元;且在胺基酸序列中,U和*是合法字元(見下文)。標準中不允許數字,但部分資料庫使用數字來表示序列的位置。
核酸編碼 | 含義 | 輔助記憶 |
---|---|---|
A | A | 腺嘌呤(Adenine) |
C | C | 胞嘧啶(Cytosine) |
G | G | 鳥嘌呤(Guanine) |
T | T | 胸腺嘧啶(Thymine) |
U | U | 尿嘧啶(Uracil) |
R | A、G | 嘌呤(puRine) |
Y | C、T、U | 嘧啶(pYrimidines) |
K | G、T、U | 酮基(Ketones) |
M | A、C | 胺基(aMino) |
S | C、G | 強(Strong)結合力 |
W | A、T、U | 弱(Weak)結合力 |
B | 非A(如C、G、T、U) | A後為B |
D | 非C(如A、G、T、U) | C後為D |
H | 非G(如A、C、T、U) | G後為H |
V | 非T非U(如A、C、G) | U後為V |
N | A C G T U | 任意核酸(Nucleic acid) |
- | 不定長度空白預留位置 |
支援的蛋白質序列編碼(25條胺基酸和3條特殊編碼)如下:
胺基酸編碼 | 含義 |
---|---|
A | 丙胺酸(Alanine) |
B | 天門冬胺酸(Aspartic acid,D)或天門冬醯胺(Asparagine,N) |
C | 半胱胺酸(Cysteine) |
D | 天門冬胺酸(Aspartic acid) |
E | 麩胺酸(Glutamic acid) |
F | 苯丙胺酸(Phenylalanine) |
G | 甘胺酸(Glycine) |
H | 組胺酸(Histidine) |
I | 異白胺酸(Isoleucine) |
J | 白胺酸(Leucine,L)或異白胺酸(Isoleucine,I) |
K | 離胺酸(Lysine) |
L | 白胺酸(Leucine) |
M | 甲硫胺酸(Methionine) |
N | 天門冬醯胺(Asparagine) |
O | 吡咯離胺酸(Pyrrolysine) |
P | 脯胺酸(Proline) |
Q | 麩醯胺酸(Glutamine) |
R | 精胺酸(Arginine) |
S | 絲胺酸(Serine) |
T | 蘇胺酸(Threonine) |
U | 硒半胱胺酸(Selenocysteine) |
V | 纈胺酸(Valine) |
W | 色胺酸(Tryptophan) |
Y | 酪胺酸(Tyrosine) |
Z | 麩胺酸(Glutamic acid,E)或麩醯胺酸(Glutamine,Q) |
X | 任意 |
* | 轉譯終止 |
- | 不定長度空白預留位置 |
序列識別碼
NCBI標準定義了標題行中序列唯一識別碼(SeqID)的格式。在Formatdb的手冊頁中有寫到:「formatdb可以自動地解析SeqID並建立索引,但在FASTA定義行中的資料庫識別碼必須遵守FASTA定義行格式的慣例。」
下表為NCBI FASTA定義行的格式(另見"The NCBI Handbook", Chapter 16, The BLAST Sequence Analysis Tool(頁面存檔備份,存於網際網路檔案館))。
資料庫 | 格式 |
---|---|
GenBank | gb|accession|locus
|
EMBL Data Library | emb|accession|locus
|
DDBJ, DNA Database of Japan | dbj|accession|locus
|
NBRF PIR | pir||entry
|
Protein Research Foundation | prf||name
|
SWISS-PROT | sp|accession|entry name
|
Brookhaven Protein Data Bank | pdb|entry|chain
|
Patents | pat|country|number
|
GenInfo Backbone Id | bbs|number
|
General database identifier | gnl|database|identifier
|
NCBI Reference Sequence | ref|accession|locus
|
Local Sequence identifier | lcl|identifier
|
上表中的管道符(「|」)並不是巴科斯範式中的分隔符,而是格式本身的一部分。多個識別碼可以連接,同樣使用管道符分隔。
壓縮
FASTA檔案的壓縮需要特製的壓縮工具來處理檔案里所包含的兩部分資訊:識別碼與序列。為取得更好的壓縮率,壓縮工具會將之分為兩條獨立的壓縮流處理。例如使用上下文模型和數學編碼進行無失真壓縮的MFCompress演算法[3]。
副檔名
包含FASTA格式序列的文字檔案並無標準的副檔名。下表列出了各種副檔名及其含義。
副檔名 | 含義 | 備註 |
---|---|---|
fasta (.fas) | 普通FASTA | 任意普通的FASTA檔案。此類副檔名還有fa、seq、fsa。 |
fna | 核酸FASTA | 普遍用於表示核酸序列的FASTA檔案。 |
ffn | 核酸編碼區FASTA | 包含基因組編碼區的FASTA檔案。 |
faa | 胺基酸FASTA | 包含表示胺基酸序列的FASTA檔案。含有多種蛋白質序列的FASTA檔案還可使用更具體的mpfa副檔名。 |
frn | 非編碼RNA FASTA | 包含以DNA字母編碼表示的基因組非編碼RNA區(如tRNA、rRNA)的FASTA檔案。 |
參見
參考文獻
- ^ Tao Tao. Single Letter Codes for Nucleotides. [NCBI Learning Center]. National Center for Biotechnology Information. 2011-08-24 [2012-03-15]. (原始內容存檔於2012-07-13).
- ^ IUPAC code table. NIAS DNA Bank. [2016-02-25]. (原始內容存檔於2011-08-11).
- ^ Pinho, A; Pratas, D. MFCompress: a compression tool for FASTA and multi-FASTA data.. Bioinformatics. 2014, 30 (1): 117–118. PMID 24132931. doi:10.1093/bioinformatics/btt594.
外部連結
- What is FASTA Format?(頁面存檔備份,存於網際網路檔案館) 什麼是FASTA格式.
- HUPO-PSI Standard FASTA Format HUPO-PSI發表的另一種FASTA格式.
- Sequence ID (seqID) Fields in the FASTA Deflines of Sequences from NCBI (頁面存檔備份,存於網際網路檔案館) FASTA定義行的格式.