fastx_toolkit去除测序数据中的接头和低质量的reads
高通量测序数据下机后得到了fastq的raw_data,通常测序公司在将数据返还给客户之前会做“clean”处理,即得到clean_data。然而,这些clean_data是否真的“clean”呢?
首先,我们应该做一下质控。如果质控不合格,就需要一些处理,比如去接头、去除量的reads。
(1)去除测序数据中的接头(用到的是fastx_toolkit里面的fastx_clipper工具):
Usage: fastx_clipper [-h] [-a ADAPTER] [-D] [-l N] [-n] [-d N] [-c] [-C] [-o] [-v] [-z] [-i INFILE] [-o OUTFILE] #去掉接头序列
[-a ADAPTER] =接头序列(默认为CCTTAAGG)
[-l N] = 忽略那些碱基数目少于N的reads,默认为5
[-d N] = 保留接头序列后的N个碱基默认 -d 0
[-c] = 放弃那些没有接头的序列.
[-C] = 只保留没有接头的序列.
[-k] = 报告只有接头的序列.
[-n] = 保留有N多序列,默认不保留
[-v] =详细-报告序列编号
[-z] =压缩输出.
[-D] = 输出调试结果.
[-M N] =要求最小能匹配到接头的长度N,如果和接头匹配的长度小于N不修剪
[-i INFILE] = 输入文件
[-o OUTFILE] = 输出文件
Example: fastx_clipper -a AGATCGGAAGAGCACACG -l 25 -d 0 -Q 33 -i SRR306394_1.fastq -o SRR306394_1_trimmed.fastq
(注:-l参数,即忽略那些碱基数目少于N的reads。默认的是5,而对于tophat来说,如果reads长度小于20,就会发出警告。因此,考虑到充分利用这些测序数据同时不损失比对的特异性,这里-l参数,取值为25。-Q参数,对于illumina测序来说,这个参数也是必须要加的,因为illumina测序在给单个碱基作质量打分的时候,加上了33,然后才转成的ASC II, 因此在这里需要加 -Q 33. 否则就会报这样的错误“fastx_clipper: Invalid quality score value (char '#' ord 35 quality value -29) on line 4.”)
(2)去除测序数据中的低质量reads(用到的是fastx_toolkit里面的fastq_quality_filter工具):
Usage:fastq_quality_filter [-h] [-v] [-q N] [-p N] [-z] [-i INFILE] [-o OUTFILE]过滤低质量序列
[-q N] = 最小的需要留下的质量值
[-p N] = 每个reads中最少有百分之多少的碱基需要有-q的质量值
[-z] =压缩输出
[-v] =详细-报告序列编号,如果使用了-o则报告会直接在STDOUT,如果没有则输入到STDERR
Example: fastq_quality_filter -q 20 -p 80 -Q 33 -i SRR306394_1.fastq -o SRR306394_1_filtered.fastq
(注:-q参数,即是指最小需要留下的质量值,这里需要保留Q20(99.99%)以上的,所以对应的是20。-p参数,即是指每个reads中最少有百分之多少的碱基需要有-q的质量值,这里我们要求的是一条reads中最少有80%以上的碱基质量值达到Q20我们才作保留,因此对应的是80. -Q参数,对于illumina测序来说,这个参数也是必须要加的,因为illumina测序在给单个碱基作质量打分的时候,加上了33,然后才转成的ASC II, 因此在这里需要加 -Q 33. 否则就会报这样的错误“fastx_clipper: Invalid quality score value (char '#' ord 35 quality value -29) on line 4.”)
(注:如果在做fastq_quality_filter之后,QC结果仍然可以看到reads的尾部有低质量的reads,此时可以将-p参数调大,比如调至90或者99)。
转载本文请联系原作者获取授权,同时请注明本文来自熊朝亮科学网博客。
链接地址:http://blog.sciencenet.cn/blog-1509670-914439.html
fastx_toolkit去除测序数据中的接头和低质量的reads的更多相关文章
- JSON—去除JSON数据中的所有HTML标…
package com.linoer.utils; import java.util.ArrayList; import java.util.List; import java.util.regex. ...
- 去除测序reads中的接头:adaptor
之前用c写过一个程序,查找reads中是否包含了adaptor,如果检测到的话就过滤掉含有adaptor的reads,这次在过滤完数据之后发现接头序列比较多,为了提升组装效果,又不能很大地影响数据量, ...
- Dynamics CRM EntityCollection 根据实体中的某个字段为依据去除重复数据
CRM中通过QueryExpression查询出了一个EntityCollection集,但有时会存在重复数据,QueryExpression中有个属性distinct,只要设置为true就能过滤 ...
- Next generation sequencing (NGS)二代测序数据预处理与分析
二代测序原理: 1.DNA待测文库构建. 超声波把DNA打断成小片段,一般200--500bp,两端加上不同的接头2.Flowcell.一个flowcell,8个channel,很多接头3.桥式PCR ...
- 测序数据质控-FastQC
通常我们下机得到的数据是raw reads,但是公司通常会质控一份给我们,所以到很多人手上就是clean data了.我们再次使用fastqc来进行测序数据质量查看以及结果分析. fastqc的操作: ...
- 【转录组入门】3:了解fastq测序数据
操作:需要用安装好的sratoolkit把sra文件转换为fastq格式的测序文件,并且用fastqc软件测试测序文件的质量 作业:理解测序reads,GC含量,质量值,接头,index,fastqc ...
- 去除list集合中重复项的几种方法
因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<string> li1 = new List<string> { "8&quo ...
- Android 去除list集合中重复项的几种方法
因为用到list,要去除重复数据,尝试了几种方法.记录于此... 测试数据: List<"}; List<string> li2 = new List<string& ...
- 去除List列表中反复值(稍作调整,也适合于List<T> 和 List<?>)
方法一 循环元素删除 [c-sharp] view plaincopy public static void removeDuplicate(List list) { for ( int i = 0 ...
随机推荐
- cmd 导出目录树
cmd: tree /f >tree.txt
- Multiple sequence alignment Benchmark Data set
Multiple sequence alignment Benchmark Data set 1. 汇总: 序列比对标准数据集: http://www.drive5.com/bench/ This i ...
- HashSet与HashMap的区别
本文由 ImportNew - 唐小娟 翻译自 Javarevisited.欢迎加入翻译小组.转载请见文末要求. HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到C ...
- Node对象属性
1.Node对象属性一 * nodeName * nodeType * nodeValue * 使用dom解析html时候,需要ht ...
- margin小结
一. margin百分比 1. 普通元素的百分比margin都是相对于容器的宽度计算 2. 绝对定位元素的百分比margin是相对于第一个定位祖先元素(relative/absolute/fixed) ...
- 新浪微博客户端(59)-hitTest withEvent方法的使用说明
iOS中的触摸事件总是由最顶层的View首先得到的,当这个View得到该触摸事件的时候可以选择通过 - (BOOL)pointInside:(CGPoint)point withEvent:(UIEv ...
- CF459B Pashmak and Flowers (水
Pashmak and Flowers Codeforces Round #261 (Div. 2) B. Pashmak and Flowers time limit per test 1 seco ...
- [整理]iis7.5下部署MVC5
IIS7.5下部署MVC5 测试环境服务器部署 windows server 2008 r2 1.安装iis 7.5 2.安装 .net framework4.5.1并注册 cd C:\Windows ...
- C#5.0 特性
Visual Studio 2012 中 Visual C# 的新增功能 Lambda表达式 表达式树:把代码,转换成数据,然后分析数据发现其组成部分,最后转换成可以传递到其他程序的字符串 LinQ表 ...
- jquery选择器(三)-过滤选择器
一.基本过滤选择器 二.内容过滤选择器 1. 包含文本内容为“text”的元素 2. 含有某个选择器所匹配的父元素 3. 包含有子元素或者文本的父元素 4. 不含有子元素或者文本的父元素 三.可见性过 ...