Rosalind工具库:使用Fastx-toolkit或trimmomatic进行质量控制

简介: 短读质量控制 Read Filtration by Quality由于各种因素,测序过程中一定会存在着错误,要么读错,要么漏读、要读多了。解决这种错误可以从源头,也就是测序仪改进,也可以通过生物信息学的手段,将可能错误的序列过滤掉。

短读质量控制 Read Filtration by Quality

由于各种因素,测序过程中一定会存在着错误,要么读错,要么漏读、要读多了。解决这种错误可以从源头,也就是测序仪改进,也可以通过生物信息学的手段,将可能错误的序列过滤掉。

测序仪的下机数据一般都是FASTQ,第二列存放序列,第四列存放对应碱基的质量。由于空间有限,所以无法直接以0.01%这类形式存放概率,必须要做一些转换,从P值先还算成q值

img_f31331697efaf7a149ed41ffa8561112.png
Q值
import math
p =  0.001
q = - 10math.log10(p)
# 30

Solexa在1.3版本之前的换算方式是-10log10(p/(1-p)),操作非常的溜

从p值换算成q值,依旧需要两个位置进行存放质量,于是需要进一步编码。这一步采用了ASCII码中字符的位置信息来对应q值。但是ASCII码前面32位是不可见的控制字符,肯定是不能用的,于是就需要往后挪挪,那么挪多少呢?不同测序公司又开始搞自己的一套了。

img_319fa655af44071d71a8d38e219f884d.png
不同标准的编码对应

虽然最后的故事是illumina代表了测序届的半壁江山,格式最后都是Illumina 1.8+,采用Phred+33的形式,但是如果用公共数据的时候一定要小心

# Phred+33
chr(30+33)
#'?'

这一步是根据测序质量对低质量的read进行过滤,Rosalind推荐FASTX-Toolkit,这也是我最早使用的质控工具,但是在使用过程前,我们需要简单的判断下这个测序格式是Phred+33还是Phred+64。

grep 2 rosalind_filt_1_dataset.txt  #有结果
grep X rosalind_filt_1_dataset.txt  # 无结果
# 基本上断定这个是Phred33

但是编译好的v0.0.13的FASTX-Toolkit的fastq_quality_filter默认是处理Phred+64,毕竟0.013版本是2012年开发出来的,那个时候主流就是Phred+64。所以只能去自己编译v0.014

题目给我的是p=78,q=24,所以程序按照如下方式运行

tail -n +2 rosalind_filt.txt > rosalind_filt.fq
~/opt/biosoft/fastx_toolkit-0.0.14/bin/fastq_quality_filter -q 24 -p 78 -i rosalind_filt.fq | grep -c '^@Ro'

过滤低质量碱基

如果使用Fastqc发现序列前后几个碱基质量不太好时,我们可以使用trimmomatic过滤掉按照一定的阈值对read前后进行过滤

问题: 给定一个phred33编码的FASTQ文件,和碱基质量阈值q,给出read前后过滤的文件

解决方法: 用trimmomaitc就行了,例如java -classpath trimmomatic-0.22.jar org.usadellab.trimmomatic.TrimmomaticSE -phred33 data/s1.fq data/tmp.fq TRAILING:30 MINLEN:50 就是过滤前后低于30的碱基,然后删掉不足50的read。

tail -n +2 rosalind_bphr.txt > rosalind_bphr.fq
trimmomatic SE -phred33 rosalind_bfil.fq tt.fq LEADING:22 TRAILING:22
目录
相关文章
|
3月前
|
JSON JavaScript API
用Python编写小工具下载OSM路网数据
用Python编写小工具下载OSM路网数据
|
6月前
|
XML 存储 测试技术
性能工具之Taurus进阶场景使用
【5月更文挑战第9天】性能工具之Taurus进阶场景使用
147 3
性能工具之Taurus进阶场景使用
|
6月前
|
测试技术 Docker 容器
性能工具之Taurus快速入门
【5月更文挑战第8天】性能工具之Taurus快速入门
193 1
性能工具之Taurus快速入门
|
6月前
|
Web App开发 SQL 前端开发
性能工具之前端分析工Chrome Developer Tools性能标签
【2月更文挑战第22天】性能工具之前端分析工Chrome Developer Tools性能标签
72 1
性能工具之前端分析工Chrome Developer Tools性能标签
|
存储 缓存 API
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
CocosCreator3.8研究笔记(十四)CocosCreator 资源管理Asset Manager
474 0
|
存储 数据库 数据安全/隐私保护
大型医院PACS系统源代码,VC + MSSQL开发,专业高级三维后处理功能
本套PACS系统为医院提供一个包括放射、超声、核医学、病理、内窥镜、心电图室在内的所有影像检查数字化的一体化解决方案。 它涵盖了传统PACS和RIS系统的所有功能,以构建全数字化影像科为目标,致力于实现对医院所有影像数据的统一管理、影像检查工作流的自动化,及影像诊断的智能化。
206 0
大型医院PACS系统源代码,VC + MSSQL开发,专业高级三维后处理功能
|
安全 测试技术 Linux
【PyAutoGUI操作指南】01 三分钟快速实现跨平台GUI自动化模块
作为安全功能,默认情况下启用故障保护功能。当调用PyAutoGUI函数时,如果鼠标位于主监视器的四个角中的任何一个,它们将引发PyAutoGUI.FailSafeException。在调用每个PyAutoGUI函数后,会有十分之一秒的延迟,以便用户有时间将鼠标猛击到角落以触发故障保险。
566 0
Blender建模软件怎么安装?有哪些好用的插件?
Blender建模软件怎么安装?有哪些好用的插件?
Blender建模软件怎么安装?有哪些好用的插件?
|
传感器 芯片
MicTR01 Tester 开发套件(工程监测仪器开发)使用说明
MicTR01 是专门为稳控科技的系列振弦模块 VM5/6/7和电子标签读写模块 TR01 开发测试、开发套件。使用 STC8 位 51 单片机为核心部件,演示上述各个型号模块的基本用法,包括了模块使用时的硬件连接和软件驱动的常规方法。也可以使用本套件的公开技术资料自行编写代码在套件上进行软硬件测试。
MicTR01 Tester 开发套件(工程监测仪器开发)使用说明
|
编解码 Java 测试技术
基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
Sikuli是一款基于GUI图像识别框架的自动化测试工具,它以图像检索技术为基础,提供了一套基于 Jython 的脚本语言以及集成开发环境。使用者可利用屏幕截图直接 引用 GUI 元素进行编程,完成交互操作。Sikuli 一词取自墨西哥的土著语,意为“上帝之眼”,寓意—— Sikuli 让电脑能像人一样”看”这个”真实世 界”。
基于Sikuli GUI图像识别框架的PC客户端自动化测试实践
下一篇
无影云桌面