怎么使用trim_galore对NGS数据进行质量过滤

发布时间:2021-11-10 17:00:25 作者:柒染
来源:亿速云 阅读:1138

怎么使用trim_galore对NGS数据进行质量过滤,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

cutadapt软件可以对NGS数据进行质量过滤,FastQC软件可以查看NGS数据的质量分布,trim_galore将这两个软件封装到一起,使用起来更加的方便。

该软件会对数据进行以下4步处理

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

illumina平台的测序数据,通常3’端质量较差。trim_galore首先会过滤掉3’端的低质量碱基,本质上是调用了cutadapt的质量过滤算法。下图是过滤前后碱基质量的分布图

怎么使用trim_galore对NGS数据进行质量过滤

可以看到,过滤掉低质量碱基后,序列的整体质量显著提高。

2. 去除adapter序列

过滤掉低质量的碱基之后,trim_galore会调用cutadapt在reads的3’端查找adapter 序列并去除。通常情况下,我们需要指定对应的adapter序列,如果没有指定的化,trim_galore会自动查找以下3种类型的adapter

Illumina:   AGATCGGAAGAGC
Small RNA:  TGGAATTCTCGG
Nextera:    CTGTCTCTTATA

默认读取前一百万条序列,通过这一百万条序列判断adapter属于上述三种的哪一种,然后进行去除。如果你不希望软件自动判断,也可以通过--illumina, --nextera, --small_rna参数指定对应的adapter类型。

3. 去除长度太短的序列

经过上述两步处理之后,有可能剩余的序列长度很短,这部分短序列也会被去除。默认情况下,如果序列长度少于20bp, 这条序列会被丢掉。

4. 其它过滤

对于所有的输入序列,以上3个步骤是肯定会执行的。除此之,trim_galore还支持一些其他的过滤措施,以满足个性化的需求。

hardtrim5参数用于从序列的3’端切除碱基,示意如下

before:         CCTAAGGAAACAAGTACACTCCACACATGCATA
--hardtrim5 20: CCTAAGGAAACAAGTACACT

通过hardtrim5参数可以将序列截取成固定长度。与之对应的,还有一个hardtrim3参数,从序列的5’端切除碱基,示意如下

before:         CAAATGTTATTTTTAAGAAAATGGAAAAT
--hardtrim3 20:          TTTTTAAGAAAATGGAAAAT

软件的安装也很方便,首先需要确保cutadaptfastqc这两个软件已经安装,并且可执行文件位于PAH环境变量定义的路径种。然后下载trim_galore的源代码包,解压即可,代码如下

wget https://github.com/FelixKrueger/TrimGalore/archive/0.5.0.tar.gz
tar xzvf 0.5.0.tar.gz

在软件的安装目录有一个名为trim_galore的可执行文件。

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

trim_galore  --quality 20 -a AGATCGGAAGAGC --length 20  -o out_dir  input.fq

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

trim_galore --paired --quality 20 -a AGATCGGAAGAGC   -a2 AGATCGGAAGAGC --length 20  -o out_dir  R1.fq.gz R2.fq.gz

看完上述内容,你们掌握怎么使用trim_galore对NGS数据进行质量过滤的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

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

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

ngs

上一篇:如何在docker for win中使用portainer管理容器

下一篇:Django中的unittest应用是什么

相关阅读

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

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