cutadapt如何去除adapter序列

发布时间:2022-01-17 11:36:51 作者:小新
来源:亿速云 阅读:172

这篇文章主要介绍cutadapt如何去除adapter序列,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

对于NGS数据分析而言,第一步都是进行质量控制,质量控制包括去除adapter序列,去除低质量序列等内容。在文库构建阶段,为了能够上机测序,会在插入片段两端添加adapter序列。当测序读长超过了插入片段长度时,就会读取到adapter序列。

adapter序列是人为引入的序列,而我们之关心插入片段的测序结果,所以首先要做的就是去除adapter序列。在去除adapter序列时,需要考虑以下两个因素

  1. 由于测序错误率的原因,测序得到的adapter序列会和原本的adapter序列存在几个碱基的误差,所以去除adapter序列时必须允许碱基的错配

  2. 由于插入片段的长度在一定范围内变化,而adpter序列出现在两端的位置,所以测序读到的adapter序列可能只是原本adapter的部分序列


cutadapt 是一款对NGS数据进行质量过滤的软件,无论是5’端adapter,还是3’端adapter, 都可以有效的去除,同时也可以过滤低质量,去除长度太短的序列。

这个软件采用python开发,安装方便,代码如下

pip install cutadapt
1. 去除3’端引物序列

对于3’端序列,可能存在以下情况

cutadapt如何去除adapter序列

绿色部分为adapter序列,灰色部分为软件会去除掉的序列,可以看到,无论是只读取到部分adapter序列还是完整的adapter序列,软件都能够有效的去除3’端adapter序列。

用法如下

cutadapt -a AACCGGTT -o output.fastq input.fastq

针对目前主流的双端测序数据,adapter序列都是出现在3’端,R1序列的3’端可能出现3’adapter 序列,R2端序列的3’端会出现5’端adpter的反向互补序列,示意如下

cutadapt如何去除adapter序列

需要注意的是,无论是R1端还是R2端,其5’端都不会出现adapter,因为测序反应是直接从插入片段开始的。对于双端数据,只需要分别对R1和R2序列去除3’端adapter序列就可以了。

2. 去除5’端adapter序列

cutadapt 软件也支持去除5’端adapter序列,虽然测序反应中不会出现5’adapter, 但是这里adapter的概念可以延伸一下,比如PCR引物序列。在某些测序策略中,首选需要用PCR反应扩增出目的片段,然后在建库。如果想要去除插入片段5’端的PCR引物,这个用法就派上了用场。

对于5’端序列,可能存在以下情况

cutadapt如何去除adapter序列

绿色部分为adapter序列,灰色部分为软件会去除掉的序列,前两种格式和,无论是只读取到部分adapter序列还是完整的adapter序列,软件都能够有效的去除5’端adapter序列。

用法如下

cutadapt -g AACCGGTT -o output.fastq input.fastq

在查找adapter序列时,cutadapt还提供了Anchored模式,在该模式下,必须查找到完整的adapter序列后,才会进行切除工作。

3’端Anchored模式写法如下

cutadapt -a AACCGGTT$ -o output.fastq input.fastq

5’端Anchored模式写法如下

cutadapt -g ^AACCGGTT -o output.fastq input.fastq

cutadapt在查找adapter时, 有以下两种默认行为

1. 默认允许错配和插入缺失

假设adapter 序列是ADAPTER, 此时对于以下3种情况

ADABTER    有一个错配,
ADAPTR      有一个缺失
ADAPPTER  有一个插入

cutadapt 都认为是adapter序列,然后进行去除。可以采用-e参数 指定错配的比例, 默认-e 为0.1, 比如adapter序列长度为21,允许的错配数为 21 * 0.1 = 2.1, 然后直接向下取整后为2, 所以允许的错配数为2;可以采用-no-indels参数来禁止插入和缺失。

2. 默认允许部分匹配

cutadapt默认允许部分匹配,比如 adapter 序列为ADAPTER, 测序得到的序列为ATCGATGCTADCGAGCGC,在序列中间位置的AD是adapter 序列的一部分, 此时会把AD以及之后的序列全部剪切掉,这种情况属于错误的判别。为了防止此类错误判别的出现,cutadapt 默认必须至少有3个碱基匹配时才会认为是adapter 序列,然后进行切除, 这个阈值可以通过 --overlap 参数来指定。

cutdadapt还支持根据质量进行过滤,用法如下

cutadapt -q 10 -o output.fastq input.fastq

低质量序列通常出现在reads的3’端,上述写法表示对3’端低质量碱基进行过滤,质量的阈值为10,具体计算过程如下,假设一段序列质量编码为

42, 40, 26, 27, 8, 7, 11, 4, 2, 3

质量过滤的阈值-q为10,则首先减去10

32, 30, 16, 17, -2, -3, 1, -6, -8, -7

然后从从末端开始累加,得到如下数值

(70), (38), 8, -8, -25, -23, -20, -21, -15, -7

-25 最小,所以保留-25 之前的碱基, 即保留前4位碱基,后续碱基认为是低质量碱基,直接切除掉。

cutadapt 也可以根据长度对序列进行过滤,-m参数指定序列的最小长度,低于该长度的序列会被过滤掉,-M参数指定序列的最大长度,大于该长度的序列会被过滤掉。

以上是“cutadapt如何去除adapter序列”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. android适配器Adapter
  2. 封装的适配器adapter如何用

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

adapter

上一篇:html5标签head和header有哪些区别

下一篇:如何进行Java中守护线程的分析及使用

相关阅读

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

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