草庐IT

RNA-seq入门(二)质控及fastqc报告解读

生信开荒牛 2023-03-28 原文

一、质控

前面我们从GEO下好了SRA数据并转换为fastq文件,现在需要对fastq文件进行质控,这里用的软件为fastqc。首先建好文件夹用来存放数据

mkdir 01raw 02clean 03alin 04count

fastqc

1.png
R1=/mnt/d/bioinfo/project/rna/01raw/SRR15859344_1.fastq.gz
R2=/mnt/d/bioinfo/project/rna/01raw/SRR15859344_2.fastq.gz
fastqc $R1 $R2

这步会产生一个html文件,这就是fastqc的结果,我们可以双击在网页中打开进行查看。(详见下面介绍的fastqc报告解读)


2.png

fastp

用于数据过滤


3.png
fastp -i $R1 -I $R2 -o ../02clean/SRR15859344_1.clean.fastq.gz -O ../02clean/SRR15859344_2.clean.fastq.gz &

经过质控后的fastq文件就可以进行后面的比对分析了。

二、fastqc报告解读

本文参考:

https://blog.csdn.net/qq_44520665/article/details/113779792

  1. Basic Statistics

Basic statistics是该fastq一些基本信息:

  • Filename:文件名

  • File type: 文件类型

  • Encoding:测序平台的版本和相应的编码版本号,用于计算Phred反推error P时用

  • Total Sequences: 输入文本的reads的数量

  • Sequence length: 测序长度

  • %GC: GC含量,表示整体序列的GC含量,由于二代测序GC偏好性高,且深度越高,GC含量会越高。


    4.png
  1. Per base sequence quality

  • 横轴为read长度,纵轴为质量得分,Q-score = -10✖lg(error P)
  • 柱状表示该位置所有序列的测序质量的统计,柱状(黄色)是25%~75%区间质量分布,error bar(触须)是10%~90%区间质量分布,蓝线表示平均数,红色为中位数。
  • 一般要求所有位置的10%小于20,即最多允许该位置10%的序列低于Q20,即90%的序列的碱基质量都大于Q20,即90%的序列碱基错误率不超过99%。当任何碱基质量低于10,或者任何中位数低于25时报WARN,需注意;当任何碱基质量低于5或者任何中位数低于20报FAIL。
5.png
碱基质量值Q
  • 碱基质量值,Q,即每个碱基的正确识别率,是衡量测序质量的重要标准

  • Q值通过测序Phred值计算而得,公式为:Q-score = -10 ✖ lg P。

  • Phred值:不正确的碱基识别率,在碱基识别过程中通过一种概率模型计算得到,该模型可准确预测碱基识别的错误率。

  • 碱基质量值越高表明碱基识别越可靠,准确度越高。

  • Q20与Q30的含义:
    【1】Q20为每100个碱基中会有一个识别错,即正确识别率为2个9,99%,当Phred = 20 时,碱基识别出错率为1/100,碱基识别正确率为99%,Q-score = -10 ✖ lg 10-2=20
    【2】Q30为每1000个碱基中会有一个识别错,正确识别率为3个9,99.9%,当Phred = 30 时,碱基识别出错率为1/1000,碱基识别正确率为99.9%,Q-score = -10 ✖ lg 10-3=30

  • Q30 > 90%,即碱基质量值 ≥ Q30的碱基所占百分比 ≥ 90%。

  1. Per Sequence Quality Scores

  • 每条reads的quality的均值的分布
  • 横轴表示Q值,纵轴表示每个值对应的read数目,当测序结果主要集中在高分中,证明测序质量良好
  • 当峰值小于27(错误率0.2%)时报"WARN",当峰值小于20(错误率1%)时报"FAIL"


    6.png
  1. Per Base Sequence Content

  • 对所有reads的每一个位置,统计ATCG四种碱基(正常情况)的分布,用于检查是否有AT,GC分离现象
  • 横轴为碱基长度分布,纵轴表示百分比,图中4条线分别代表A,C,T,G在每个位置上的平均含量
  • 由于测序平台及测序长度不同,以及测序仪开始状态不稳定经常出现前后波动情况
  • 好的样本中四条线应该平行且接近。当部分位置碱基的比例出现bias时,即四条线在某些位置纷乱交织,往往提示我们有overrepresented sequence的污染。当所有位置的碱基比例一致的表现出bias时,即四条线平行但分开,往往代表文库有bias (建库过程或本身特点),或者是测序中的系统误差。
  • 在碱基含量分布图,前几个碱基可能会出现较大波动,这是由于随机引物扩增偏差原因造成的
  • 当任一位置的A/T比例与G/C比例相差超过10%,报"WARN";当任一位置的A/T比例与G/C比例相差超过20%,报"FAIL"


    7.png
  1. Per Sequence GC Content

  • 统计reads的平均GC含量的分布
  • 红线是实际情况,蓝线是理论分布(正态分布,均值不一定在50%,而是由平均GC含量推断的)
  • 曲线形状的偏差往往是由于文库的污染或是部分reads构成的子集有偏差(overrepresented reads)。形状接近正态但偏离理论分布的情况提示我们可能有系统偏差
  • 偏离理论分布的reads超过15%时,报"WARN";偏离理论分布的reads超过30%时,报"FAIL"。
8.png
  1. Per base N content

  • 当出现测序仪不能分辨的碱基时会产生N,横轴为碱基分布,纵轴为N比率
  • 当任一位置N的比率超过5%报WARN,超过20%报FAIL


    9.png
  1. Sequence Length Distribution

  • reads长度的分布
  • 理论上每次测序仪测出的read长度时一致的,但是由于建库等因素通常会导致一些小片段,reads长度不一致时报"WARN";当有长度为0的read时报“FAIL


    10.png
  1. Sequence Duplication Levels

  • 统计序列完全一致的reads的频率,横坐标是duplication的次数,纵坐标是duplicated reads的数目,以unique reads的总数作为100%。
  • 上图的情况中,相当于unique reads数目~20%的reads是观察到两个重复的,~3%是观察到三次重复的,依此类推
  • 一般测序深度越高,越容易产生一定程度的重复序列
  • 如果原始数据很大(事实往往如此),做这样的统计将非常慢,所以fastqc中用fq数据的前200,000条reads统计其在全部数据中的重复情况。重复数目大于等于10的reads被合并统计,大于75bp的reads只取50bp(不知道怎么选的)进行比较。但由于reads越长越不容易完全相同(由测序错误导致),所以其重复程度仍有可能被低估。
  • 当非unique的reads占总数的比例大于20%时,报"WARN";当非unique的reads占总数的比例大于50%时,报"FAIL“


    11.png
  1. Overrepresented sequences

  • 如果有某个序列大量出现,就叫做over-represented。
  • fastqc的标准是占全部reads的0.1%以上。和上面的duplicate analysis一样,为了计算方便,只取了fq数据的前200,000条reads进行统计,所以有可能over-represented reads不在里面。而且大于75bp的reads也是只取50bp。如果命令行中加入了-c contaminant file,出现的over-represented sequence会从contaminant_file里面找匹配的hit(至少20bp且最多一个mismatch),可以给我们一些线索。
  • 当发现超过总reads数0.1%的reads时报”WARN“,当发现超过总reads数1%的reads时报”FAIL“。


    12.png
  1. Adapter Content

  • 横轴表示碱基位置,纵轴表示百分比
  • 当fastqc分析时没有选择参数-a adapter list时,默认使用图例中的4种通用adapter序列进行统计。
  • 若有adapter残留,后续必须去接头
13.png

RNA-seq入门

RNA-seq入门(一)数据下载和格式转换

RNA-seq入门(二)质控及fastqc报告解读

RNA-seq入门(三)比对、输出表达矩阵

有关RNA-seq入门(二)质控及fastqc报告解读的更多相关文章

  1. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  2. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  3. 微信小程序开发入门与实战(Behaviors使用) - 2

    @作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors    1、什么是behaviors    2、behaviors的工作方式    3、创建behavior    4、导入并使用behavior    5、behavior中所有可用的节点    6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors    1、什么是behaviorsbehaviors是小程序中,用于实现

  4. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  5. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  6. 区块链入门教程(6)--WeBASE-Front节点前置服务安装 - 2

    文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定

  7. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

  8. Simulink方法总结和避坑指南(一)——Simulink入门与基本调试方法 - 2

    文章目录一、项目场景二、基本模块原理与调试方法分析——信源部分:三、信号处理部分和显示部分:四、基本的通信链路搭建:四、特殊模块:interpretedMATLABfunction:五、总结和坑点提醒一、项目场景  最近一个任务是使用simulink搭建一个MIMO串扰消除的链路,并用实际收到的数据进行测试,在搭建的过程中也遇到了不少的问题(当然这比vivado里面的debug好不知道多少倍)。准备趁着这个机会,先以一个很基本的通信链路对simulink基础和相关的debug方法进行总结。  在本篇中,主要记录simulink的基本原理和基本的SISO通信传输链路(QPSK方式),计划在下篇记

  9. ESP32学习入门:WiFi连接网络 - 2

    目录一、ESP32简单介绍二、ESP32Wi-Fi模块介绍三、ESP32Wi-Fi编程模型四、ESP32Wi-Fi事件处理流程 五、ESP32Wi-Fi开发环境六、ESP32Wi-Fi具体代码七、ESP32Wi-Fi代码解读6.1主程序app_main7.2自定义代码wifi_init_sta()八、ESP32Wi-Fi连接验证8.1测试方法8.2服务器模拟工具sscom58.3测试代码8.4测试结果前言为了开发一款亚马逊物联网产品,开始入手ESP32模块。为了能够记录自己的学习过程,特记录如下操作过程。一、ESP32简单介绍ESP32是一套Wi-Fi(2.4GHz)和蓝牙(4.2)双模解决方

  10. ruby-on-rails - 是否有任何基于可定制模板的 Ruby 或 Rails 报告工具? - 2

    我正在寻找一个用ruby​​或rails完成的报告生成器,它允许用户首先定义一个模板,然后将数据提取到模板中。我一直在浏览“TheRubyBox:报告部分”(https://www.ruby-toolbox.com/categories/reporting.html)有两个报告工具类似于我正在寻找的:ThinReports:这真的很好。您下载一个模板编辑器,然后定义您自己的报告模板,然后通过组合thinreportsgem,您可以从您的应用程序中获取SVG或PDF报告。ODFReport:它使用ODF文件作为模板,可以通过OpenOffice和MSWord2010进行编辑。然后你就可以

随机推荐