在生物信息学中,数据的存储和交换是核心环节。FASTA是一种常用的基因序列数据格式,无论是双序列比对(pairwise alignment)还是进化树构建(phylogenetic tree)亦或是高通量分析的回贴(mapping),数据的原始输入都需要这种格式。它被广泛应用在生物信息学中,用于存储生物序列和质量评分等信息。
之前介绍很多基于#序列分析数据库 的时候,都会提到FASTA序列。之后也会遇到很多基于序列分析的数据库。所以今天就把它单独拎出来说一下。
一、FASTA格式概述
FASTA格式是一种基于ASCII码的文本格式,用于存储核酸(DNA/RNA)或蛋白质序列数据,由描述行(Header)和序列行(Sequence)两部分组成。
该格式由威廉·皮尔森(William Raymond Pearson)和戴维德.李普曼(David J. Lipman)于1988年提出,最初为FASTA比对软件设计,现已成为生物信息学领域的标准数据存储格式。
其核心特点包括:
- 结构简单:以单行描述信息开头,后续紧跟序列数据,支持多序列存储。
- 广泛适用:用于BLAST数据库、基因组序列存储、序列比对等场景。
- 兼容性强:可被文本工具(如Python、Perl)和生物信息软件(如BLAST)直接处理。
二、FASTA格式结构
FASTA文件主要由两个部分构成:序列头信息(包括一些其它的描述信息)和具体的序列数据。序列头信息独占一行,以大于号(>)作为识别标记开头,除了记录该条序列的名字之外,还会接上其它的信息。紧接着下一行是具体的序列内容,直到另一行碰到另一个大于号(>)开头的新序列或者文件末尾。
以下是一个很简单的FASTA格式文件的例子,其中包含了两条序列:
1.描述行(Header)
● 起始符号:以“>”开头,后接标识符(Identifier)和相关注释信息。
● 内容要求:
○ 标识符需唯一,用于区分不同序列。
○ 注释信息可选,通常包括序列来源、功能描述等。
○ 格式示例:>NM_005707.2 Homo sapiens programmed cell death 7 (PDCD7), mRNA。
● 标识符规则:
○ 数据库推荐使用gnl|database|identifier或lcl|identifier格式,确保唯一性。
2.序列行(Sequence)
● 组成规则:
○ 核酸用A/C/G/T/U表示,氨基酸用单字母代码(如A-Alanine, R-Arginine)。
○ 允许空格、换行(建议每行≤80字符)。
○ 空行表示当前序列结束,新“>”标志新序列开始。
自定义序列描述:
>CP062010 DES=Macrobrachium nipponense DES=Macrobrachium nipponense isolate FS-2020 chromosome 44.
tcaagttggctattaaaacgcaaatgaatcctcctttggcgttttaatagccaacttgagtacagaagaatagtctgtaatataaagaaaaaaaggatcttctgtacaaaataaacgccattatttttaataaaactgtattattaatgaaagtcttcttccagcatattattattattattattattatcattattattattattattattatcattattattattattattattattattattattattattattattattattattattattcagaagatgaaccctattcatataaaccaaatccacctcaggggccactgacttgaaattcaagcttacaaagaatatggtgttcacctgaaagaagtaacagaatttgataggaaatacagaaagaagagatcaattattataatgatgaaataaattaacacattgataaataaatagttgctgacattttgttgacatatggatgacataagatttaacttccaaatcttgagtggattcaggactcgataaatttttctaaaagaaatttgtgaaaaaataattaaattattagagaaataaacattttaagaaaaaatattttagaagaaagttatgatgaatgaataataaaattattcgataaataaacttcacttatcttctcctttctcggcctctagtttcctttcagtttggttcgctttcatcttctttgtatagctttattctctctctctctctctctctctga
三、关键特征与规范
FASTQ格式则是为了存储比FASTA更多的信息而设计的。FASTQ不仅包含了序列信息,还包含了每个位置的质量分数。这对于高通量测序技术(例如,下一代测序技术)来说是非常重要的,因为这些技术生成的数据中,每个位置的读取质量可能会有所不同。
一个FASTQ格式的文件通常包含四行:
第一行,以"@"开头,后接序列标识符和可选描述。
第二行,纯粹的序列数据。
第三行,以"+"开头,可选的后续行是序列标识符和可选描述,但通常不包含任何内容。
第四行,质量分数,和第二行的序列数据一一对应。质量分数通常用ASCII编码表示,例如"!"表示质量分数为0,"I"表示质量分数为40。
1.标识符的唯一性
● 数据库中序列标识符必须唯一,重复会导致格式化错误。
● NCBI序列的编号具有绝对唯一性,即使序列更新也会重新分配(比如加上版本号)。
2.格式规范
1. 描述行:
○ 避免空格分隔标识符与注释。
○ 特殊字符(如“|”)用于分隔不同字段,不可省略。
2. 序列行:
○ 中间不允许空行,序列不可为空。
○ 建议每行60-80字符,超长需换行对齐。
3.应用场景
● 数据存储:基因组、蛋白质数据库(如NCBI RefSeq)。
● 序列分析:BLAST比对、多序列联排、进化分析。
● 脚本处理:兼容Python、Perl等语言,便于自动化处理。
四、与Fastq格式的对比
FASTQ是目前存储测序数据最普遍、最公认的一个数据格式。上面所讲的FASTA文件,所存储的都是已经排列好的序列,FASTQ存储的是产生自测序仪的原始测序数据,它由测序的图像数据转换过来,也是文本文件,文件大小依照不同的测序量(或测序深度)有很大差异,小的可能只有几M,大的则常常有几十G甚至上百G,文件后缀通常都是.fastq,.fq或者.fq.gz(gz压缩)。
特征 | FASTA | FASTQ |
质量信息 | 无 | 有(每个碱基对应一个质量值) |
格式复杂度 | 简单(仅需序列和描述) | 复杂(包含质量值) |
用途 | 通用序列存储(如基因组、蛋白质库) | 高通量测序数据(如Illumina、PacBio) |
标识符唯一性 | 必须唯一(用于区分序列) | 必须唯一(用于区分测序读段) |
文件扩展名 | .fa, .fasta, .fna, .ffn, .faa | .fastq, .fq |
与FASTQ的区别:FASTA仅存储序列,而FASTQ包含测序质量分数,是二代测序标准格式。
优势:FASTA因结构简单,适合长期存储和跨平台共享;FASTQ则保留测序质量信息,用于原始数据处理。
总结
FASTA格式凭借其简洁性和通用性,成为生物信息学数据存储的基石。严格遵循格式规范可确保数据在不同平台和工具间的有效传递与分析。
【免责声明】发布内容来源于互联网、业内人士投稿以及微信公众号等公开资源,我们对文中观点持中立态度,文中观点不代表本平台的立场。所有文章仅供读者参考和交流使用。转载的文章版权归原作者所有,如有侵权行为,请及时与我们联系以便删除。