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 ...
随机推荐
- Java——包的概念及使用
package是在使用多个类或接口时,为了避免名称重复而采用的一种措施,直接在程序中加入package关键字即可 编译语法: javac -d . HelloWord.java -d:表示生成目录,生 ...
- docker网络基础配置
常用两种方式: 1)映射容器端口到宿主机 2)容器互联机制 --------------------------------------------- 端口映射实现访问容器的用法: docker ru ...
- C++ Pointer-to-Member Selector
http://www.codeguru.com/cpp/cpp/article.php/c17401/C-Tutorial-PointertoMember-Function.htm https://m ...
- Mixing ASP.NET and MVC routing
Here is the solution I settled on. I installed the NuGet Microsoft.AspNet.FriendlyUrls package. Then ...
- CSS学习点滴
1.CSS :link 选择器 a:link { background-color:yellow;text-decoration:none } 参考:http://www.w3school.com.c ...
- python模块time&datetime&json & picle&14.logging等
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- app接口的简单案例 和一些总结
例一: 通过接口获取一篇文章.接口需要传入文章的id,通过sql语句向数据库查询文章的内容,然后以json的格式echo出即可,即:安卓或IOS工程师获取通过接口获取到了json格式的数据,在做进一步 ...
- Apple Pay
Apple Pay运行环境:iPhone6以上设备,操作系统最低iOS9.0以上,部分信息设置需要iOS9.2以上.目前还不支持企业证书添加. 环境搭建好后可以在模拟器上面运行,xcode7.2.1+ ...
- 【转】Flume(NG)架构设计要点及配置实践
Flume(NG)架构设计要点及配置实践 Flume NG是一个分布式.可靠.可用的系统,它能够将不同数据源的海量日志数据进行高效收集.聚合.移动,最后存储到一个中心化数据存储系统中.由原来的Fl ...
- CF449C Jzzhu and Apples (筛素数 数论?
Codeforces Round #257 (Div. 1) C Codeforces Round #257 (Div. 1) E CF450E C. Jzzhu and Apples time li ...