查看原文
其他

2018-06-04

FastQ格式
    概念    说明    例子说明FastA格式    概念    格式说明    例子说明FAQ    测序深度和FastQ文件大小的关系

Fastq格式


概念
FastQ格式是序列格式中常见的一种,它存储了生物序列以及相应的质量评价,其序列以及质量信息都是使用一个ASCII字符标示,最初由Sanger开发,目的是将FASTA序列与质量数据放到一起,目前已经成为高通量测序结果的事实标准。


格式说明

FASTQ文件中每个序列通常有四行:

1.第一行:必须以“@”开头,后面跟着唯一的序列ID标识符,然后跟着可选的序列描述内容,标识符与描述内容用空格分开;

2.第二行:序列字符(核酸为[AGCTN]+,蛋白为氨基酸字符);

3.第三行:必须以“+”开头,后面跟着可选的ID标识符和可选的描述内容,如果“+”后面有内容,该内容必须与第一行“@”后的内容相同;

4.第四行:碱基质量字符,每个字符对应第二行相应位置碱基或氨基酸的质量,该字符可以按一定规则转换为碱基质量得分,碱基质量得分可以反映该碱基的错误率。这一行的字符数与第二行中的字符数必须相同。

对于每个碱基的质量编码标示,不同的软件采用不同的方案,目前有5种方案:

                            

其中P代表该碱基被测序错误的概率,如果该碱基测序出错的概率为0.001,则Q应该为30,那么30+33=63,那么63对应的ASCii码为“?”,则在第四行中该碱基对应的质量代表值即为“?”一般地,碱基质量从0-40,既ASCii码为从 “!”(0+33)到“I”(40+33)。以上是sanger中心采用记录read测序质量的方法,Illumina起初没有完全依照sanger中心的方法来定义测序质量,而是把P换成了p/(1-p). 其他完全按照sanger的定义来做。但是他这形式在某些情况下是不准确的,可以看出当测序质量很高的情况下两种形式几乎没区别,但低质量的碱基则有区别了。

对于每个碱基的质量编码标示,不同的软件采用不同的方案,目前有5种方案:

  • Sanger,Phred quality score,值的范围从0到92,对应的ASCII码从33到126,但是对于测序数据(raw read data)质量得分通常小于60,序列拼接或者mapping可能用到更大的分数。

  • Solexa/Illumina 1.0, Solexa/Illumina quality score,值的范围从-5到63,对应的ASCII码从59到126,对于测序数据,得分一般在-5到40之间;

  • Illumina 1.3+,Phred quality score,值的范围从0到62对应的ASCII码从64到126,低于测序数据,得分在0到40之间;

  • Illumina 1.5+,Phred quality score,但是0到2作为另外的标示,详见http://solexaqa.sourceforge.net/questions.htm#illumina

  • Illumina 1.8+

不同版本质量得分与质量字符ASCII值的关系

FastA格式


概念

在生物信息学中,FASTA格式(又称为Pearson格式),是一种基于文本用于表示核苷酸序列或氨基酸序列的格式。在这种格式中碱基对或氨基酸用单个字母来编码,且允许在序列前添加序列名及注释。序列文件的第一行是由大于号">"或分号";"打头的任意文字说明(习惯常用">"作为起始),用于序列标记。从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号。通常核苷酸符号大小写均可,而氨基酸常用大写字母。


格式说明

Fasta格式首先以大于号“>”开头,接着是序列的标识符,然后是序列的描述信息。换行后是序列信息,序列中允许空格,换行,空行,直到下一个大于号,表示该序列的结束。所有来源于NCBI的序列都有一个gi号“gi|gi_identifier”,gi号类似与数据库中的流水号,由数字组成,具有绝对唯一性。一条核酸或者蛋白质改变了,将赋予一个新的gi号(这时序列的接收号可能不变)。gi号后面是序列的标识符,标识符由序列来源标识、序列标识(如接收号、名称等)等几部分组成,他们之间用“|”隔开,如果某项缺失,可以留空但是“|”不能省略。

例子说明

>gi|187608668|ref|NM001043364.2| Bombyx mori moricin (Mor), mRNAAAACCGCGCAGTTATTTAAAATATGAATATTTTAAAACTTTTTGTGGCAATGTCTCTGGTGTCATGTAGTACAGCCGCTCC

大于号“>”开头,来源于NCBI的序列都有一个gi号“gi|gi_identifier”,gi号后面是序列的标识符,标识符由序列来源标识、序列标识(如接收号、名称等)等几部分组成,“ref|NM001043364.2|”表示序列来源于NCBI的参考序列库,接收号为“NM_001043364.2”。


FAQ

测序深度和FastQ文件大小的关系

1.测序深度:指参考序列一个碱基上比对的reads数目,计算公式为

测序深度 = reads长度 × 比对的reads数目 / 参考序列长度

以人类为例,全基因组大小约为3Gbp3,234.83 Mb (Mega-basepairs) per haploid genome

2.ASCII码和文件大小:Fastq文件所含内容均为ASCII码,每个ASCII码占用一个字节(Byte)空间,故:

Fastq文件大小 =(ID行长度 + reads长度 + 1个加号 + reads长度 + 4个换行符) × reads数目

只包含一条reads的FastQ文件大小:(7 + 60 + 1 + 60 + 4) × 1 = 132B

为了简化,我们忽略第三行的加号、换行符,并认为ID行长度在0~1个read长度,故

Fastq文件大小 = ~ 2.5 × reads长度 × reads数目

3.Fastq和Fastq.gz文件大小:在传输Fastq文件过程中,经常使用gzip程序对其进行压缩,以减小文件大小。


压缩比例:291852847/65573424 = 4.45078,所以

Fastq.gz文件大小 = ~ Fastq文件大小/4

4.从Fastq文件到比对的reads数:

比对的reads数目 = reads数目 × 比对率

(Fastq文件经常会进行去接头等前处理的工作,比对的reads长度与原始reads长度略有不同,此处暂时忽略)

综上:

1.     测序深度 = reads长度 × 比对的reads数目 / 参考序列长度

2.     Fastq文件大小 = ~ 2.5 × reads长度 ×reads数目

3.     Fastq.gz文件大小 = ~ Fastq文件大小 / 4

4.     比对的reads数目 = reads数目 × 比对率

假设比对率为90%,若要测30X的人类基因组需要62.5GB(Giga Base)的数据。





参考资料:

https://baike.baidu.com/item/fastQ%E6%A0%BC%E5%BC%8F

http://boyun.sh.cn/bio/?p=1901

http://blog.csdn.net/huyongfeijoe/article/details/51613827

https://baike.baidu.com/item/fasta%E6%A0%BC%E5%BC%8F

http://5282981.blog.51cto.com/5272981/1722857/

https://www.genedock.com/blog/2017/04/06/20170405Fastq%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E5%92%8C%E6%B5%8B%E5%BA%8F%E8%A6%86%E7%9B%96%E5%BA%A6%E5%88%9D%E6%8E%A2/

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存