fastq与fasta文件格式解析

  • 一、fasta格式
  • 二、fastq格式
    • 2.1 格式说明
    • 2.2 碱基质量计算
    • 2.3 Quality Score简化
  • 三、二代测序的fastq文件格式介绍
  • 四、补充说明
    • 4.1 illumina测序仪
    • 4.2 illumina测序方法
    • 4.3 测序流程
  • 参考文章

一、fasta格式

fasta格式是一种非常简单的储存序列的格式(主要是把序列存储到数据库中的一种形式),可以储存核酸序列(RNA/DNA)和氨基酸序列(AA),主要包括2个部分:

  • >开始的一行主要储存“序列的描述信息”;
  • 第二行为序列信息

举例1: 人类血红蛋白α\alphaα亚基的氨基酸序列:

>sp|P69905|HBA_HUMAN Hemoglobin subunit alpha OS=Homo sapiens GN=HBA1
MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHGKKVADALTNAVAHVDDMPNALSALSDLHAHKLRVDPVNFKLLSHCLLVTLAAHLPAEFTPAVHASLDKFLASVSTVLTSKYR

举例2: 人类血红蛋白α\alphaα亚基对应的mRNA序列:

>gi|13650073|gb|AF349571.1| Homo sapiens hemoglobin alpha-1 globin chain (HBA1) mRNA, complete cds
CCCACAGACTCAGAGAGAACCCACCATGGTGCTGTCTCCTGACGACAAGACCAACGTCAAGGCCGCCTGGGGTAAGGTCGGCGCGCACGCTGGCGAGTATGGTGCGGAGGCCCTGGAGAGGATGTTCCTGTCCTTCCCCACCACCAAGACCTACTTCCCGCACTTCGACCTGAGCCACGGCTCTGCCCAGGTTAAGGGCCACGGCAAGAAGGTGGCCGACGCGCTGACCAACGCCGTGGCGCACGTGGACGACATGCCCAACGCGCTGTCCGCCCTGAGCGACCTGCACGCGCACAAGCTTCGGGTGGACCCGGTCAACTTCAAGCTCCTAAGCCACTGCCTGCTGGTGACCCTGGCCGCCCACCTCCCCGCCGAGTTCACCCCTGCGGTGCACGCCTCCCTGGACAAGTTCCTGGCTTCTGTGAGCACCGTGCTGACCTCCAAATACCGTTAAGCTGGAGCCTCGGTGGCCATGCTTCTTGCCCCTTTGG

这条序列来自于NCBI的RefSeq数据库,所有来自于NCBI的序列都有一个gi号,是具有唯一性的数据库流水号,gb|AF349571.1是genebank编号的信息,后面是序列信息的详细描述(Homo sapiens hemoglobin alpha-1 globin chain (HBA1) mRNA, complete cds)
RefSeq(reference sequence database) 基因参考序列数据库:是美国国家医学图书馆下属国家生物技术信息中心开发的基因参考序列数据库,为多种生物提供序列的数据信息及相关资料,用于医学、基因功能和基因功能比较研究。


二、fastq格式

2.1 格式说明

fastq是测序数据下机格式,其中包含测序序列(reads)的序列信息,及其对应的测序质量信息。fastq格式文件中每个read由四行描述,如下:

@EAS139:136:FC706VJ:2:2104:15343:197393 1:Y:18:ATCACG
GCTCTTTGCCCTTCTCGTCGAAAATTGTCTCCTCATTCGAAACTTCTCTGT
+
@@CFFFDEHHHHFIJJJ@FHGIIIEHIIJBHHHIJJEGIIJJIGHIGHCCF
  • 第一行以“@”开头,后面是这个read的基本信息,分为两部分:ID部分和可选的描述部分,中间用空格分开。ID部分是每条read的唯一标识,它包含多个字段,每个字段之间用冒号分隔;描述区域是可选的,用来保存一些自定义的信息,如测序时用到的引物序列信息、raad长度信息等。
  • 第二行是碱基序列(分ATCTN5种情况,N代表不确定碱基类型);
  • 第三行以“+”开头,随后为illumina测序标识符(选择性部分,在旧版的fastq文件中会直接重复第一行的信息,新版的fastq文件为节省存储空间只保留"+");
  • 第四行为对应碱基序列的测序质量(以ASCII码形式储存,与第二行的碱基序列一一对应),这一信息具有重要的作用,在基因测序后续的分析阶段中会用到这个质量值,例如数据质控、数据过滤、序列拼接、短序列比对、变异检测等步骤。

2.2 碱基质量计算

如何理解第四行的碱基质量信息?
测序仪在碱基读取过程中,荧光信号转化为碱基类型时,会不可避免得存在一定程度误判,因此每一个base calling都会伴随一个测序错误率P产生,用来判断该base的可信程度。为了fastq文件中,碱基质量值能和第二行的碱基序列信息一一对应,P必须以一个字符的形式储存。所以有以下3步转换:
1)P转换为Q
Q=−10∗lgPQ=-10*lgPQ=−10∗lgP (P以10为底取对数,再乘以-10);
当p=0.001p=0.001p=0.001时,Q=30Q=30Q=30(代表该碱基测序错误的机率为千分之一)
2)Q转换为Phred值
Phred=Q+CPhred = Q+CPhred=Q+C(C同测序仪和版本有关)
例如:

  • illumination(1.3+) C=64;
  • illumination(1.5+) C=64;
  • illumination (1.8+)C=33

3) 最后获得Phred值对应的ASCII字符
ASCII码对照表链接:https://tool.oschina.net/commons?type=4
就是我们看到的第四行 FFKKKFKKFKF<KK<F,AFKKKKK7FFK77<FKK,<F7K,,7AF<FF7FKK7AA,7<FA,,(C=33时,?对应Q=30)

2.3 Quality Score简化

需要注意的是,NovaSeq将碱基质量分数做了进一步的简化(因为测序通量高,需要节约内存和存储资源),将碱基质量分数划分为几个区间(不同版本的仪器划分的区间不同,这里以3个为例):

  • 没有对应碱基:2
  • 低质量read:12(Q<15)
  • 中质量read:23(16<Q<29)
  • 高质量read:37(Q>30)
    以上4种不同的质量情况对应ASCII码:# , ; F

三、二代测序的fastq文件格式介绍

@HWUSI-EAS100R:6:73:941:1973#0/1
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTT
+HWUSI-EAS100R:6:73:941:1973#0/1
!''*((((***+))%%%++)(%%%%).1***-+*''))**55CCF>>>>>>CCCCCCC6
  • 第一行以@开头,后面是reads的ID以及其他信息,例如上例中 HWUSI-EAS100R代表Illmina设备名称,6代表flowcell中的第六个lane,73代表第六个lane中的第73个tile,941:1973代表该read在该tile中的x:y坐标信息;#0,若为多样本的混合作为输入样本,则该标志代表样本的编号,用来区分多个样本中的reads;/1代表paired end中的前一个read;
  • 第二行为read的序列;
  • 第三行以“+”开头,跟随着该read的名称(一般于@后面的内容相同),但有时可以省略,但“+”一定不能省。
  • 第四行代表reads的质量。详细地说,Illumina测序仪是按照荧光信号来判断所测序的碱基是哪一种的,例如红黄蓝绿分别对应ATCG,那么一旦出现一个紫色的信号该怎么判断呢,因此对每个结果都有一个概率的问题。起初sanger中心用Phred quality score来衡量该read中每个碱基的质量,既−10∗lg⁡P-10 *\lg P−10∗lgP ,其中P代表该碱基被测序错误的概率,如果该碱基测序出错的概率为0.001,则Q应该为30,那么30+33=63,那么63对应的ASCii码为“?”,则在第四行中该碱基对应的质量代表值即为“?”。

四、补充说明

4.1 illumina测序仪

illumina测序仪一个flowcell中包含8个lane,每个lane可以测一个样本或多样本的混合物,其中一个lane包含2列,每一列又包含60个tile,每一个tile又会种下不同的cluster,如下图所示:

4.2 illumina测序方法

一般地,碱基质量从0-40,既ASCii码为从 “!”(0+33)到“I”(40+33)。以上是sanger中心采用记录read测序质量的方法,Illumina起初没有完全依照sanger中心的方法来定义测序质量,而是把P换成了p/(1-p). 其他完全按照sanger的定义来做。但是他这形式在某些情况下是不准确的,可以看出当测序质量很高的情况下两种形式几乎没区别,但低质量的碱基则有区别了。
因此,Illumina有更换了好几种版本,从1.3版本升级到1.5版本再到1.8,最后完全采用sanger中的规则来做。因此,现在Illumina给出的测序质量值完全可以参考刚说的sanger方法。

4.3 测序流程

1)library:样本DNA经过PCR扩增
2)lane:测序时的一条泳道,一个泳道可以只接受一个library的,也可以是多个library的,不同的library在两段是用不同的头序列连起来作为标识的。当接受多个library的时候也是一起出的结果,当我们需要的测序深度不是特别深的时候就可以采用这种办法,根据不同的接头序列将这些数据分开成为一个个单独样本的fastq数据,这也是经常为什么在跑fastqc(质控)可以看到那些非正常的过表达序列。当然,一个library的DNA也可以用多个泳道测,这在需要很高的测序深度的时候才采用该策略。可以考虑在后续的比对生成的bam文件那里把他们合并起来成为一个bam文件。

参考文章

【1】fasta和fastq文件格式详解.
【2】Fastq文件格式解析
【3】ASCII对照表
【4】全球十大基因测序公司
【5】二代测序的fastq文件格式介绍

fastq与fasta文件格式解析相关推荐

  1. Android init.rc文件格式解析

    /****************************************************************************** Android init.rc文件格式解 ...

  2. 【Android 逆向】Android 逆向方法 ( 静态逆向解析 | 函数调用分析 | 动态运行跟踪 | 运行日志分析 | 文件格式解析 | 敏感信息分析 | 网络信息监控 | 环境伪装模拟 )

    文章目录 一.Android 逆向方法 1.静态逆向解析 2.函数调用分析 3.动态运行跟踪 4.运行日志分析 5.文件格式解析 6.敏感信息分析 7.网络信息监控 8.软件动态调试 9.环境伪装模拟 ...

  3. gcc 删除elf_ELF文件格式解析器 原理 + 代码

    本文为看雪论坛精华文章 看雪论坛作者ID:菜鸟m号 附件链接:[原创] ELF文件格式解析器 原理 + 代码 写在前面: 读<Linux二进制>,发现作者对 ELF文件格式部分并没有做详细 ...

  4. cfile清空文件内容_编译-链接-加载 :ELF文件格式解析

    摘要:对于C++的初学者,经常在程序的编译或者加载过程中遇到很多错误,类似undefined reference to ... 和 GLIBCXX_3.4.20 not found 等.这些错误都涉及 ...

  5. mp4文件格式解析(一)

    原文地址:mp4文件格式解析(一)作者:可下人间 目前MP4的概念被炒得很火,也很乱.最开始MP4指的是音频(MP3的升级版),即MPEG-2 AAC标准.随后MP4概念被转移到视频上,对应的是MPE ...

  6. QuickTime文件格式解析

    QuickTime文件格式解析 Peter Lee 2008-06-14 一.简介 QuickTime是Apple公司开发的一套完整的多媒体平台架构,可以用来进行多种媒体的创建,生产,和分发,并为这一 ...

  7. elf section类型_ELF文件格式解析

    ELF文件格式解析 ELF(Executable and Linking Format) 1) 可重定位的对象文件(Relocatable file) 2) 可执行的对象文件(Executable f ...

  8. .lnk文件格式解析

    .lnk文件格式解析 由于.lnk文件提供丰富的调用方式,因此在研究该文件类型格式的基础的可以发现有很多字段可以被恶意利用.下面是一个.lnk文件格式的通用结构,也就 说.lnk文件是由这样不同的节组 ...

  9. android 播放视频文件格式,Android视频文件格式解析相关分析

    目录结构 OpenCore的代码在如下目录中:external/opencore/.这个目录是OpenCore的根目录,其中包含的子目录以下所示: * android:这里面是一个上层的库,它基于PV ...

最新文章

  1. Androguard 的交叉引用说明
  2. Machine Learning week 1 quiz: Linear Algebra
  3. 跟着邓神 3 天掌握 Go 语言基础(免费)
  4. 使用Python和MetaTrader在5分钟内开始构建您的交易策略
  5. Python 爬取 20 万条评论,告诉你周杰伦新歌为啥弄崩 QQ 音乐?
  6. ExecutorService的四种线程池
  7. 免费下载百度文库文档、免注册、免登录、免财富值 - 帮手网-云下载
  8. 解决aspx页面中关键词(keywords)和描述(descript)不显示问题
  9. 安卓手机如何更改开机 关机 动画
  10. 密钥对和AccessKey
  11. enumerate使用方法
  12. html写钢琴键盘按键错乱,键盘按键错乱怎么修复
  13. Python基础入门:条件语句--阿里云天池
  14. 适用于嵌入式单片机的差分升级通用库+详细教程
  15. 王者荣耀戈娅的攻击阈值是多少 王者荣耀戈娅怎么连招
  16. C语言:输入一个长度未定的整形数组[C_001]
  17. 企业微信H5踩坑指南
  18. IMX6UL eMMC加锁和解锁代码分析与实现
  19. EM | 西湖大学鞠峰/陶亮揭示深海微生物组赋存致病性和抗生素抗性潜力的独特特征...
  20. cdn 中移集采_中兴通讯中标中国移动融合CDN四期集采新建项目最大份额

热门文章

  1. DataNode生命线消息
  2. c#winform之TextBox
  3. 名帖232 张雨 行书《行书帖选》
  4. 《Dead Cells》,通过3D工具制作2D动画
  5. 野蔷薇的伤感人生日志:已失落于尘埃,再也找寻不得
  6. 完整的机器学习_加州房价预测
  7. MPC5748G笔记 CAN can_pal
  8. uniapp设置页面背景颜色
  9. 大厂项目实战,让你面试被问到项目时不再哑口无言!
  10. 浪潮HF系列闪存存储:不仅看性能,更看整体表现