本文介绍高通量测序(NGS)中FASTQ文件命名规则、FASTQ格式、FASTA格式、测序质量。
首发于本人公众号:pythonic生物人
本文将了解到什么?
1、FASTQ文件命名规则
2、FASTQ格式详解
第一行,Sequence identifier
第二行,Sequence
第三行,Quality score identifier line (consisting only of a +)
第四行,Quality score,测序质量值
质量值几个需要详细了解的点
1)该位置ASCII码怎么来的?
2)质量体系值怎么来的,怎么选?
3)为何FASTQ中该列不直接使用Q值表示质量值?
4)为何要用质量值加上质量体系值?
3、FASTQ传输完整性校验
4、FASTA格式
第一行:序列描述信息
第二行:序列数据
更好的阅读体验请戳:FASTQ和FASTA格式详解
FASTQ和FASTA是存储DNA序列及对应质量信息最常使用的文本文件,本文介绍Illumina平台FASTQ文件命名规则,详细格式和传输完整性校验,及FASTA格式。
1、FASTQ文件命名规则
Illumina测序仪下机FASTQ命名为(NextSeq CN500下机数据为bcl格式,经过bcl2fastq转化后名称类似),例如:Samplexx_S53_L002_R1_001.fastq.gz
Samplexx:样本名,与上机时在sampleSheet中填写的一致;
S53:S后跟的数字与样本在sampleSheet中的顺序一致,从1开始;
L002:L00*,lane编号;
R1:R*,R1表示read1,R2表示read2。R1和R2为paired end reads。同一个样本的配对的FASTQ,只有这个地方不同;
001:001,通常为001;
Undetermined_S0_L001_R1_001.fastq.gz存储index不匹配的reads
2、FASTQ格式详解
四行为一个单位如下:
@SIM:1:FCX:1:15:6329:1045:GATTACT+GTCTTAAC 1:N:0:ATCCGA
TCGCACTCAACGCCCTGCATATGACAAGACAGAATC
+
<>;##=><9=AAAAAAAAAA9#:<#<;<<<????#=
第一行,Sequence identifier
序列标识以及相关的描述信息,例如
@SIM:1:FCX:1:15:6329:1045:GATTACT+GTCTTAAC 1:N:0:ATCCGA
官网给的格式解释如下:
@<instrument>:<run number>:<flowcell ID>:<lane>:<tile>:<x-pos>:<y-pos>:<UMI> <read>:<is filtered>:<control number>:<index>
@SIM,测序仪的ID号
1,run number,一张flowcell是一个run
FCX,flow cell的ID号
1,lane号
15,tile号(tile为flow cell上最小单位,测序时每测一个碱基,照相一次)
6329,flow cell中簇位置的X坐标
1045,flow cell中簇位置的Y坐标
GATTACT+GTCTTAAC 1,当sampleSheet存在UMI(Unique Molecular indentifier,用于提高测序的准确性)时该项存在;为Read1的UMI序列+Read2的UMI序列信息,下图为文库中UMI的位置
1,1 表示 single read 2 表示 paired end
N,是否过滤,Y表示被过滤,否则为N
0,0表示十进制?否则是一个偶数
ATCCGA,index序列
第二行,Sequence
序列信息,例如TCGCACTCAACGCCCTGCATATGACAAGACAGAATC
第三行,Quality score identifier line (consisting only of a +)
以“+”开头,为节省存储空间什么也不加,以前会重复第一行信息,例如+
第四行,Quality score,测序质量值
描述第二列中每个碱基的可靠程度,用ASCII码表示,我们平时长听到的Q20,Q30即为该字符对应的值,例如<>;##=><9=AAAAAAAAAA9#:<#<;<<<????#=
-
质量值几个需要详细了解的点
1)该位置ASCII码怎么来的?
用公式Q = -10log(p_error)计算质量值,p_error(测序错误率)为测序时照相后,图片中数据点的清晰程度,由测序过程中的base calling 算法计算出来,Q值越大,该位置测序正确率越高,测序错误率越低,常用的Q值与对应的错误率如下表,Q20即测序质量值为20,测序正确率为99%,测序错误率为1%;质量值加上质量体系值求得ASCII码值,查询ASCII码与ASCII码值对应表如下,得该位置ASCII码。举个例子,第一个碱基T对应的碱基质量ASCII码是<,查询ASCII码表中<对应的ASCII值为60,如果当前测序仪使用的质量体系为Phred33,则T对应的碱基质量值Q为27(60-33),可进一步推算出Q = -10log(p_error)中p_error。2)质量体系值怎么来的,怎么选?
早期没有统一的标准,有的加33,有的加64,不同测序仪可能不同,所以有Phred33和Phred64两个质量体系,现在基本上统一为Phred33体系了,如下图。3)为何FASTQ中该列不直接使用Q值表示质量值?
数字不好直接连起来,还得加分隔符浪费空间。
4)为何要用质量值加上质量体系值?
ASCII码前0到32个为非可见字符,如空格,记录分隔符等,所以需要Q值加上质量体系值(33或者64),ASCII码标准表如下:3、FASTQ传输完整性校验
为了防止FASTQ在传递过程中意外损坏,传递之前会生成文件的md5文件批量生成md5文件md5_check.txt
for i in `ls -d *fq.gz`;do md5sum $i>>md5_check.txt;done
校验传递完整性
md5sum -c ./md5_check.txt

出现OK表示对应的FASTQ完整。
4、FASTA格式
主要由两行组成,序列的描述信息和序列数据。头信息独占一行,以大于号(>)开头作为识别标记,例如
>ENSMUSG00000020122|ENSMUST00000138518
CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGT
TATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGT
TCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCA
GGGCCCACCTGTTCTCTGGT
第一行:序列描述信息
以<开头,格式没有严格要求。用一个空格把头信息分为两个部分:第一部分是序列名字,它和大于号(>)紧接在一起;第二部分是注释信息,这个可以没有,看具体需要。
>ENSMUSG00000020122|ENSMUST00000138518
相同的序列被不同的人处理之后、甚至是在不同的网站上或者数据库中它们的头信息都不尽相同,比如以下的几种情况都是可能存在的。在业内也慢慢地有一些不成文的规则被大家所使用,那就是,用一个空格把头信息分为两个部分:第一部分是序列名字,它和大于号(>)紧接在一起;第二部分是注释信息,这个可以没有,就看具体需要。
>ENSMUSG00000020122|ENSMUST00000125984
> ENSMUSG00000020122|ENSMUST00000125984
>ENSMUSG00000020122|ENSMUST00000125984|epidermal growth factor receptor
>ENSMUSG00000020122|ENSMUST00000125984|Egfr
>ENSMUSG00000020122|ENSMUST00000125984|11|ENSFM00410000138465
第二行:序列数据
CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGT TATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGT TCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCA GGGCCCACCTGTTCTCTGGT
参考资料
https://en.wikipedia.org/wiki/Phred_quality_score
https://www.plob.org/article/11672.html
https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/FileFormat_FASTQ-files_swBS.htm
更好的阅读体验请戳:Fastq和Fasta格式详解
同系列文章阅读
Illumina测序原理1-文库构建(Library Preparation)
Illumina测序原理2-簇生成(Cluster Generation)
Illumina测序原理3-图解边合成边测序(Sequencing by Synthesis)
欢迎关注公众号:pythonic生物人

网友评论