生信学习笔记:测序数据质控

2024-04-29 01:58

本文主要是介绍生信学习笔记:测序数据质控,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 测序数据质控
    • 1.原始数据统计
    • 2.质控数据统计

测序数据质控

Illumina 测序属于第二代测序技术,单次运行能产生数十亿级的reads,如此海量的数据无法逐个展示每条read的质量情况;运用统计学的方法,对所测序列进行统计和质控,可以从宏观上直观地反映出样本的文库构建质量和测序质量。

1.原始数据统计

1)原始数据获得

Illumina 平台通过将测序图像信号经CASAVA碱基识别(Base Calling)转换成文字信号,并将其以 fastq 格式储存起来作为原始数据。根据index序列区分各个样本的数据,以便进行后续分析。在fastq文件中每条序列由4行数据组成,其中第一行和第三行为读段识别码(第一行以“@”开头,第三行以“+”开头),第二行为碱基序列,而第四行是第二行序列的各碱基所对应的测序质量值。

如下所示:

在这里插入图片描述

2)原始数据质控

对每一个样本的原始测序数据进行测序相关质量评估,包括:① 碱基质量分布统计; ② 碱基错误率分布统计;③ A/T/G/C碱基含量分布统计。

使用软件:fastx_toolkit_0.0.14。

① 碱基质量分布统计

测序的错误率与碱基的质量有关,受测序仪本身、测序试剂、样品等多个因素共同影响。通过公式计算,可以得出一个综合的值,即质量值(Q),用来评估测序的质量。随着测序的进行,酶的活性及其它物质的灵敏度也会下降,因此到达一定测序长度后,Q值也会随之下降。

② 碱基错误率分布统计

测序错误率会随着测序序列(Sequenced Reads)长度的增加而升高,这是由测序过程中化学试剂的消耗导致的,为Illumina高通量测序平台的共有特征;另外,前6个碱基的位置也会发生较高的测序错误率,而这个长度也正好等于在RNA-seq建库过程中反转录所需要的随机引物的长度。这部分碱基的测序错误率较高可能是由于随机引物与RNA模版的不完全结合导致。

③ A/T/G/C碱基含量分布统计

碱基含量分布一般用于检测有无AT、GC分离现象。对于RNA-seq来说,鉴于序列打断的随机性和G/C、A/T含量分别相等的原则,理论上每个测序循环中的GC含量相等、AT含量相等(如果是链特异性建库,可能会出现AT分离和/或GC分离),且在整个测序过程基本稳定不变,呈水平线。但在现有的高通量测序技术中,反转录合成 cDNA 时所用的6bp的随机引物会引起前几个位置的核苷酸组成存在一定的偏好性,这种波动属于正常情况。

2.质控数据统计

由于原始测序数据中会包含测序接头序列、低质量读段、N(N表示不确定碱基信息)率较高序列及长度过短序列,这将严重影响后续分析的质量。所以,在分析之前会先对原始测序数据进行质控,从而得到高质量的质控数据(clean data)以保证后续分析结果的准确性。

使用软件: SeqPrep 和 Sickle

具体步骤及顺序如下:

  1. 去除reads中的接头序列,去除由于接头自连等原因导致没有插入片段的reads;

  2. 将序列末端(3’端)低质量(质量值小于20)的碱基修剪掉,如剩余序列中仍然有质量值小于10的碱基,则将整条序列剔除,否则保留;

  3. 去除含N(模块碱基)的reads;

  4. 舍弃去adapter及质量修剪后长度小于30bp的序列。

数据质控完成后,对质控后的数据再次进行统计以及质量评估,同样包括:

① 碱基质量分布统计;

② 碱基错误率分布统计;

③ A/T/G/C碱基含量分布统计。

接头序列为:

5’: AGATCGGAAGAGCACACGTC

3’: AGATCGGAAGAGCGTCGTGT

参考资料:
美吉生物云

这篇关于生信学习笔记:测序数据质控的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944826

相关文章

Spring 请求之传递 JSON 数据的操作方法

《Spring请求之传递JSON数据的操作方法》JSON就是一种数据格式,有自己的格式和语法,使用文本表示一个对象或数组的信息,因此JSON本质是字符串,主要负责在不同的语言中数据传递和交换,这... 目录jsON 概念JSON 语法JSON 的语法JSON 的两种结构JSON 字符串和 Java 对象互转

C++如何通过Qt反射机制实现数据类序列化

《C++如何通过Qt反射机制实现数据类序列化》在C++工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧... 目录设计预期设计思路代码实现使用方法在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作。由于数据类

SpringBoot使用GZIP压缩反回数据问题

《SpringBoot使用GZIP压缩反回数据问题》:本文主要介绍SpringBoot使用GZIP压缩反回数据问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot使用GZIP压缩反回数据1、初识gzip2、gzip是什么,可以干什么?3、Spr

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

SpringValidation数据校验之约束注解与分组校验方式

《SpringValidation数据校验之约束注解与分组校验方式》本文将深入探讨SpringValidation的核心功能,帮助开发者掌握约束注解的使用技巧和分组校验的高级应用,从而构建更加健壮和可... 目录引言一、Spring Validation基础架构1.1 jsR-380标准与Spring整合1

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Mysql如何将数据按照年月分组的统计

《Mysql如何将数据按照年月分组的统计》:本文主要介绍Mysql如何将数据按照年月分组的统计方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql将数据按照年月分组的统计要的效果方案总结Mysql将数据按照年月分组的统计要的效果方案① 使用 DA

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt