NGS数据格式梳理01-FASTQ和FASTA格式详解

本系列想详细的梳理NGS数据分析中常用的几种数据格式,目前打算见下图:

正文分割线

FASTQ和FASTA是存储DNA序列及对应质量信息最常使用的文本文件,本文介绍Illumina平台下机数据FASTQ文件命名规则,详细格式和传输完整性校验,及FASTA格式。

FASTQ文件命名规则

Illumina测序仪下机FASTQ命名举例如下(NextSeq CN500下机数据bcl格式,经过bcl2fastq转化后名称类似)[1]:
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)

-----------------------------------------------------------------------------

FASTQ格式详解

  • 总共四行,如下例子:

@SIM:1:FCX:1:15:6329:1045:GATTACT+GTCTTAAC 1:N:0:ATCCGATCGCACTCAACGCCCTGCATATGACAAGACAGAATC+<>;##=><9=AAAAAAAAAA9#:<#<;<<<????#=
  • 详细介绍各行

  • 第一行,Sequence identifier

序列标识以及相关的描述信息,例如

@SIM:1:FCX:1:15:6329:1045:GATTACT+GTCTTAAC 1:N:0:ATCCGA

@SIM,测序仪的ID号1,run number,一张flowcell是一个runFCX,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 endN,是否过滤,Y表示被过滤,否则为N0,0表示十进制?否则是一个偶数ATCCGA,index序列
  • 官网给的格式解释如下:

@<instrument>:<run number>:<flowcell ID>:<lane>:<tile>:<x-pos>:<y-pos>:<UMI> <read>:<is filtered>:<control number>:<index>

  • 第二行,Sequence

序列信息,例如

TCGCACTCAACGCCCTGCATATGACAAGACAGAATC

  • 第三行,Quality score identifier line (consisting only of a +)

以“+”开头,为节省存储空间什么也不加,以前会重复第一行信息,例如

+

  • 第四行,Quality score,测序质量值

描述第二列中每个碱基的可靠程度,用ASCII码表示,我们平时长听到的Q20,Q30即为该字符对应的值,例如

<>;##=><9=AAAAAAAAAA9#:<#<;<<<????#=

  • 质量值详解

  • 该行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。
  • 质量体系值怎么来的,怎么选?

早期没有统一的标准,有的加33,有的加64,不同测序仪可能不同,所以有Phred33和Phred64两个质量体系,现在基本上统一为Phred33体系了,如下图。
  • 为何FASTQ中该列不直接使用Q值表示质量值?

数字不好直接连起来,还得加分隔符浪费空间。
  • 为何要用质量值加上质量体系值?

ASCII码前0到32个为非可见字符,如空格,记录分隔符等,所以需要Q值加上质量体系值(33或者64),ASCII码标准表如下[4]:

----------------------------------------------------------------------------------

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

----------------------------------------------------------------------------------

FASTA格式

参考资料[2]

主要由两行组成,序列的描述信息和序列数据。头信息独占一行,以大于号(>)开头作为识别标记,例如
>ENSMUSG00000020122|ENSMUST00000138518CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGTTATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGTTCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCAGGGCCCACCTGTTCTCTGGT
  • 第一行:序列描述信息

以<开头,格式没有严格要求。用一个空格把头信息分为两个部分:第一部分是序列名字,它和大于号(>)紧接在一起;第二部分是注释信息,这个可以没有,看具体需要,例如:

>ENSMUSG00000020122|ENSMUST00000138518

相同的序列被不同的人处理之后、甚至是在不同的网站上或者数据库中它们的头信息都不尽相同,比如以下的几种情况都是可能存在的。在业内也慢慢地有一些不成文的规则被大家所使用,那就是,用一个空格把头信息分为两个部分:第一部分是序列名字,它和大于号(>)紧接在一起;第二部分是注释信息,这个可以没有,就看具体需要。
>ENSMUSG00000020122|ENSMUST00000125984> ENSMUSG00000020122|ENSMUST00000125984>ENSMUSG00000020122|ENSMUST00000125984|epidermal growth factor receptor>ENSMUSG00000020122|ENSMUST00000125984|Egfr>ENSMUSG00000020122|ENSMUST00000125984|11|ENSFM00410000138465
  • 第二行:序列数据

CCCTCCTATCATGCTGTCAGTGTATCTCTAAATAGCACTCTCAACCCCCGTGAACTTGGTTATTAAAAACATGCCCAAAGTCTGGGAGCCAGGGCTGCAGGGAAATACCACAGCCTCAGTTCATCAAAACAGTTCATTGCCCAAAATGTTCTCAGCTGCAGCTTTCATGAGGTAACTCCAGGGCCCACCTGTTCTCTGGT

参考资料

[1] https://support.illumina.com/help/BaseSpace_OLH_009008/Content/Source/Informatics/BS/FileFormat_FASTQ-files_swBS.htm[2] https://en.wikipedia.org/wiki/Phred_quality_score[3] https://www.plob.org/article/11672.html[4] https://baike.baidu.com/item/ASCII/309296?fr=aladdin
(0)

相关推荐

  • 生信分析人员数据处理脚本实战 | 生信菜鸟团

    我前面写到了生信分析人员如何入门linux和perl,后面还会写R和python的总结,但是在这中间我想插入一个脚本实战指南.其实在我前两篇日志里面也重点提到了学习编程语言最重要的就是实战了,也点出了 ...

  • Nextflow 快速搭建生信分析流程(七)- Splitting Operators

    本节我们介绍Nextflow中的Splitting operator类型.Splitting operators-分割操作符分割操作符用于将channel中的元素分割成不同的块儿,这些块结构将会下游的 ...

  • MPB:深大李猛组-基于PacBio SMRT三代测序的红树林沉积物真菌群落的研究

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  • 使用igblast进行免疫组库分析

    前面我带领大家通过IMGT数据库认知免疫组库,而且也一起从IMGT数据库下载免疫组库相关fasta序列,免疫组库重要的研究对象就是分成BCR的IGH,IGK,IGL这3类,以及TCR的TRA,TRB, ...

  • QIIME 2教程. 09数据导入Importing data(2020.11)

    QIIME 2用户文档. 9数据导入 Importing data 原文地址:https://docs.qiime2.org/2020.11/tutorials/importing/ 为了使用QIIM ...

  • 书法作品格式详解,史上最全教程(赶紧收藏)

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...

  • 书法作品格式详解,有钱你也买不到(赶紧收藏)

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...

  • 书法作品格式详解(收藏版)

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...

  • 书法作品格式详解!(收藏)

    ◆ ◆ ◆ 书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品&quo ...

  • 书法作品格式详解

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...

  • 01.奇门十天干格局详解,乙

    ​1.乙 乙-日奇伏吟,不宜见上级领导.贵人:求名求利及进取事不可求,只宜安分守己.乙木为希望,乙木又主曲折,都是阴干,相互排斥,所以这类伏吟,就是曲折更多了.乙是日奇,测事,若遇到两个,则进度不大, ...

  • YUV格式详解

    YUV格式详解

  • 书法作品格式详解,有钱也买不到(赶紧收藏)

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...

  • 书法作品格式详解,有钱你也买不到(赶緊收藏)

    书法作品格式详解 ⒈斗方: 中国书画的一种式样.呈正方形.通常用四尺宣纸对裁两份,二尺高二尺宽,也可把四尺宣纸裁为八份,称为"小品斗方",或"斗方小品".斗方是 ...