在生物信息学中,FASTA格式是一种基于文本的、用于表示核苷酸序列或氨基酸序列的格式。在这种格式中碱基对或氨基酸用单个字母来表示,且允许在序列前添加序列名及注释。FASTA文件以序列表示和序列作为一个基本单元,各行记录信息如下:
第一行是由大于号">"开头的任意文字说明,用于序列标记,为了保证后续分析软件能够区分每条序列,单个序列的标识必须具有唯一性。;
从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号。通常核苷酸符号大小写均可,而氨基酸常用大写字母。使用时应注意有些程序对大小写有明确要求。文件每行的字母一般不应超过80个字符。
下面给出一个FASTA文件的例子,这是我们人类一个名为EGFR基因的部分序列。
ENSMUSG00000020122|ENSMUST00000138518
CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGT
TATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGT
TCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCA
GGGCCCACCTGTTCTCTGGT
ENSMUSG00000020122|ENSMUST00000125984
GAGTCAGGTTGAAGCTGCCCTGAACACTACAGAGAAGAGAGGCCTTGGTGTCCTGTTGTC
TCCAGAACCCCAATATGTCTTGTGAAGGGCACACAACCCCTCAAAGGGGTGTCACTTCTT
CTGATCACTTTTGTTACTGTTTACTAACTGATCCTATGAATCACTGTGTCTTCTCAGAGG
CCGTGAACCACGTCTGCAAT
第一,除了序列内容之外,FASTA的头信息并没有被严格地限制。这个特点有时会带来很多麻烦的事情,比如有时会看到相同的序列被不同的人处理之后、甚至是在不同的网站上或者数据库中它们的头信息都不尽相同,比如以下的几种情况都是可能存在的。
ENSMUSG00000020122|ENSMUST00000125984
ENSMUSG00000020122|ENSMUST00000125984
ENSMUSG00000020122|ENSMUST00000125984|epidermal growth factor receptor
ENSMUSG00000020122|ENSMUST00000125984|Egfr
ENSMUSG00000020122|ENSMUST00000125984|11|ENSFM00410000138465
这对于程序处理来说,凌乱的格式显然是不合适的。后来有一些不成文的规则被大家所使用,那就是,用一个空格把头信息分为两个部分:第一部分是序列名字,它和大于号(>)紧接在一起;第二部分是注释信息,这个可以没有,就看具体需要,比如下面这个序列例子,除了前面gene_00284728这个名字之外,注释信息(length=231;type=dna)给出这段序列的长度和它所属的序列类型。
gene_00284728 length=231;type=dna
GAGAACTGATTCTGTTACCGCAGGGCATTCGGATGTGCTAAGGTAGTAATCCATTATAAGTAACATG
CGCGGAATATCCGGGAGGTCATAGTCGTAATGCATAATTATTCCCTCCCTCAGAAGGACTCCCTTGC
GAGACGCCAATACCAAAGACTTTCGTAAGCTGGAACGATTGGACGGCCCAACCGGGGGGAGTCGGCT
ATACGTCTGATTGCTACGCCTGGACTTCTCTT
第二,FASTA由于是文本文件,它里面的内容是否有重复是无法自检的,在使用之前需要进行额外的检查。
通过学习,终于对FASTA格式有了初步的了解。