如何使用Trimmomatic对NGS数据进行质量过滤

发布时间:2022-01-05 10:39:58 作者:柒染
来源:亿速云 阅读:215

本篇文章给大家分享的是有关如何使用Trimmomatic对NGS数据进行质量过滤,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Trimmomatic 软件可以对NGS测序数据进行质量过滤,其去除adapter的功能只是针对illumina的序列,从reads的3’端识别adapter序列并去除,相比cutadapt,少了几分灵活性。但是在过滤低质量序列时,采用了滑动窗口的算法,给定窗口长度和步长,如果该窗口内所有碱基的平均质量值低于阈值,则将该窗口及其以后的碱基全部去除。对于数据量很多的reads, 滑动窗口算法比cutadapt的算法运行速度更快。官网如下

http://www.usadellab.org/cms/?page=trimmomatic

该软件采用java语言开发,直接下载打包好的jar文件即可。最新版本为v0.38, 官网提供了二进制文件的压缩包,如下所示

如何使用Trimmomatic对NGS数据进行质量过滤

下载后,解压缩即可。该软件可以对序列执行以下几种操作

1. 去除adapter序列

在去除adapter时,需要指定一个fasta格式的文件,里面是对应的adapter序列。软件内置了几种常见的illumina adapter 序列文件,详细列表如下

  1. NexteraPE-PE.fa

  2. TruSeq2-PE.fa

  3. TruSeq2-SE.fa

  4. TruSeq3-PE.fa

  5. TruSeq-3-PE-2.fa

  6. TruSeq-3-SE.fa


当然,也可以自定以adapter序列文件。通过ILLUMINACLIP参数指定adapter序列的文件,写法如下

ILLUMINACLIP:TruSeq2-PE.fa:2:30:10

TruSeq2-PE.fa表示查找该文件提供的adapter序列,在查找时,首先执行一个seed match, 就是只在序列中查找adapter的前几个碱基,如果前几个碱基都找不到,就没必要在查找后面的碱基了,通过seed match可以加快运行速度,2表示在进行seed match时,允许的最大错配数;当满足了seed match后,trimmomatic会将adapter 序列的全长与输入序列进行比对,从而识别adapter序列。此时两种模式,palindromeClip模式允许查找adapter序列的反向互补序列,比如双端测序中,R2端序列会包含5’端adapter序列的反向互补序列,30表示该模式下至少需要匹配的碱基数,另外一种叫做SimpleClip模式,只考虑提供的adapter序列,不考虑反向互补,10表示该模式下至少需要匹配的碱基数。

2. 去除低质量序列

trimmomatic 采用滑动窗口的方式去除低质量序列,需要指定滑动窗口的大小和平均质量的阈值,通过SLIDINGWINDOW参数指定,写法如下

SLIDINGWINDOW:4:15

第一个数字4代表滑动窗口的大小为4bp,第二个数字15代表碱基质量阈值为15。如果窗口内4个碱基的平均质量值低于15,该窗口及之后的序列都会被去除。

3. 去除reads 5’端的低质量碱基

通过LEADING参数指定阈值,写法如下

LEADING:3

如果序列头部的碱基质量值低于3,则去除该碱基。

4. 去除reads 3’端的低质量碱基

通过TAILING参数指定阈值,写法如下

TRAILING:3

如果序列尾部的碱基质量值低于3,则去除该碱基。

5. 从序列头部切除指定长度的碱基

通过HEADCROP参数指定长度,写法如下

HEADCROP:5

表示从每条序列的开头切掉5个碱基。

6. 将序列切割成指定长度

通过CROP参数指定长度,写法如下

CROP:120

表示将所有序列截取为120bp的长度。

7. 去除长度过短的序列

长度的阈值通过MINLEN参数指定,写法如下

MINLEN:36

如果序列长度低于36bp,则该序列会被去除。

可以根据自己的需要选择性的执行以上步骤,参数定义的顺序指定了每个步骤被执行的顺序。

对于单端测序数据,基本用法如下

java -jar trimmomatic-0.38.jar SE  
-phred33 input.fq.gz  
output.fq.gz
ILLUMINACLIP:TruSeq3-SE:2:30:10
LEADING:3
TRAILING:3
SLIDINGWINDOW:4:15
MINLEN:36

对于双端测序数据,基本用法如下

java -jar trimmomatic-0.38.jar PE
-phred33
input_forward.fq.gz
input_reverse.fq.gz
output_forward_paired.fq.gz
output_forward_unpaired.fq.gz
output_reverse_paired.fq.gz
output_reverse_unpaired.fq.gz
ILLUMINACLIP:TruSeq3-PE.fa:2:30:10
LEADING:3
TRAILING:3
SLIDINGWINDOW:4:15
MINLEN:36

以上就是如何使用Trimmomatic对NGS数据进行质量过滤,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. angularjs定义对集合进行过滤的过滤器
  2. 利用Python怎么对敏感词进行过滤

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

ngs trimmomatic

上一篇:怎么使用ownCloud创建网盘

下一篇:学校使用云桌面的优势和应用有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》