【编者荐语】:

rRNA序列污染是广泛存在于各类高通量测序数据中的。除了在实验建库过程中对文库进行去核糖体的处理,数据分析层面也可通过一些序列比对的策略去除。RiboDetector是邓志罗博士基于深度学习算法开发的高效准确去除核糖体序列的工具,该工作于近日发表在《核酸研究》杂志上。编者亲历投稿过程,软件效果较佳,值得推荐。该工具已收录在生信宝库中,欢迎使用和反馈。

https://biotreasury.rjmart.cn/index.html#/tool?id=61149

【作者简介】

邓志罗2018年博士毕业于德国亥姆霍兹感染研究中心,并在该研究中心从事博士后研究,研究方向为微生物组学与复杂疾病和生物信息学。

【导言】

RiboDetector文章终于上线了。从软件的构思、开发优化、评测,到文章最后上线历时两年。中间因为CPU模式速度欠佳有将近半年的时间处于放弃状态,好在后来经过不断尝试最终找到了不错的解决方法。投稿修回过程将近一年,不过主要是因为编辑每次给的修回时间太充足,没有deadline的压力。话不多说,下面我们切入正题来介绍这款软件和它的用法。

【软件简介】

RiboDetector是一款用于从宏基因组、宏转录组、ncRNA和核糖体测序数据中准确而快速地检测和去除rRNA序列的软件(https://github.com/hzi-bifo/RiboDetector)。它是基于深度学习的BiLSTM(一款双向的循环神经网络架构)开发的软件。跟基于比对和隐马尔科夫模型的方法相比RiboDetector能抓取更长距离的序列特征,从而具有更好的准确性。文章中对比了目前常用的其他5款工具。在测试数据上,RiboDetector比其他软件的错误预测率低6到2000倍。另外它的CPU模式运行比目前最常用的软件有10倍左右的速度提升,而在GPU模式上实现了50倍左右的运行速度提升(见下图B-C)。文章中分析表明RiboDetector有很好的泛化能力,能预测发现新的rRNA(和数据库中已知rRNA相似性低于90%)序列。最后,在测试数据上它的假阳性预测序列没有显著的对某些功能的偏向性(没有GO term显著富集在假阳性预测的序列中)。

【软件安装】

安装过程特别简单,支持三种不同的安装方式。

1. 通过pip安装

conda create -n ribodetector python=3.8
conda activate ribodetector
pip install ribodetector

2. 通过conda安装

另外有热心的朋友帮我构建了conda包,可以完全通过conda安装:

conda create -n ribodetector -c bioconda ribodetector

3. 通过docker安装

使用docker的朋友也可以安装docker image,不过docker上还未更新到最新版

docker pull dawnmy/ribodetector:0.2.2

【软件使用】

安装完成我们就可以执行了,根据电脑的硬件不同,RiboDetector分别有GPU和CPU模式。

GPU模式

如果我们有可用GPU,可以用如下命令执行:

ribodetector -t 20
-l 100
-i inputs/reads.1.fq.gz inputs/reads.2.fq.gz \
-m 10 \
-e rrna \
--chunk_size 256 \
-r outputs/reads.rrna.{1,2}.fq.gz \
-o outputs/reads.nonrrna.{1,2}.fq.gz
  • -t指定要使用的进程数。默认为10

  • -l指定reads的长度,可以是平均长度也可以是测序时的读长,该参数必须设置

  • -i指定输入的reads文件,两个文件表明是双端测序数据

  • -m用来控制使用的显存,10表示大约使用10G,如果运行报RuntimeError: CUDA error: out of memory的错误,那可以减小这个数字。默认为12

  • -e用来设定预测的偏向性,rrna表示保证rRNA预测的precision高(只输出高置信度的rRNA,其余的都被当做nonrRNA输出),nonrrna表示rRNA预测的recall高(尽量多的预测rRNA,保证nonrRNA预测的高置信度),both表示舍弃低置信度的rRNA和nonrRNA,none表示根据双端reads的预测概率的平均值来确定输出。默认为none

  • --chunk_size 在CPU内存小的电脑上可以帮助减小内存占用,大内存的电脑不需要设置该参数,因为该参数会稍微降低速度。默认是不设置

  • -r指定预测的rRNA序列的输出文件

  • -o指定nonrrna输出文件

CPU模式

如果没有GPU,我们需要用CPU模式执行:

ribodetector_cpu -t 20
-l 100
-i inputs/reads.1.fq.gz inputs/reads.2.fq.gz \
-e rrna \
--chunk_size 256 \
-r outputs/reads.rrna.{1,2}.fq.gz \
-o outputs/reads.nonrrna.{1,2}.fq.gz

CPU模式下除了没有-m参数设置的选项,其他都一样,增加-t和--chunk_size有助于提高速度。在CPU模式下,--chunk_size默认为1024。

更多的参数选项信息可以通过Ribodetector --help或者ribodetector_cpu --help获取。欢迎大家尝试RiboDetector,有任何疑问和建议可以在https://biotreasury.rjmart.cn/index.html#/tool?id=61149进行评价,并欢迎在https://github.com/hzi-bifo/RiboDetector提issue。

参考文献

Zhi-Luo Deng, Philipp C Münch, René Mreches, Alice C McHardy, Rapid and accurate identification of ribosomal RNA sequences via deep learning, Nucleic Acids Research, 2022, gkac112, https://doi.org/10.1093/nar/gkac112

作者/邓志罗 编辑/审核/Zinky

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

点击阅读原文,跳转最新文章目录阅读

NAR:测序数据鉴别和去除rRNA序列利器RiboDetector相关推荐

  1. 一种PacBio测序数据组装得到的基因组序列的纠错方法技术 (专利技术)

    一种PacBio测序数据组装得到的基因组序列的纠错方法技术 技术编号:17008244阅读:83留言:0更新日期:2018-01-11 04:20 本发明专利技术提供一种PacBio测序数据组装后序列 ...

  2. 一种PacBio测序数据组装得到的基因组序列的纠错方法

    技术领域 本发明涉及生物信息技术领域,更具体的说,它涉及一种PacBio测序数据组装得到的基因组序列的纠错方法. 背景技术 PacBio是一家测序仪公司,提供第三代测序技术测序平台,他们的测序仪产生的 ...

  3. 第二、三代基因组测序数据混合拼接软件综述

    第二.三代基因组测序数据混合拼接软件综述 王 昊1,陈 挺2*  (1.清华大学 计算机科学与技术系,北京 10084: 2.清华大学 计算机系.清华大学人工智能研究院,北京 10084)    摘要 ...

  4. 如何用16s rRNA测序数据计算特定菌种的相对丰度并比较

    计算特定菌种的相对丰度并比较的一般步骤如下: 序列数据处理: 对16S rRNA测序数据进行去噪.去除低质量.合并重复和去除污染的步骤. 比对和分类: 使用比对工具将序列数据与参考数据库中的基因组进行 ...

  5. NCBI数据库—上传16S rRNA测序数据

    NCBI上传16S rRNA测序数据 1.登陆NCBI官网 NCBI官网链接 2.选择上传序列类型 上传16S rRNA测序数据,直接选16S rRNA就可以,然后弹出上传数据集的类型,选择SRA 3 ...

  6. 微生物16S测序数据的正确打开方式

    16S rRNA基因测序(也称16S rDNA测序)是最常用的菌群多样性分析的手段.对于新手,如果收到一份不讲"人话"的16S测序分析报告,很快就会被各种生态学术语.各种指数.各种 ...

  7. python基因差异分析_玉米RNA-seq测序数据差异基因分析

    原标题:玉米RNA-seq测序数据差异基因分析 huanying今天给大家分享一个非常棒的玉米转录组的流程分析.原文作者是cxge,首发于omicshare论坛,阅读原文可跳转至本文的帖子哦~ 软件及 ...

  8. Nature子刊:三代Nonopore测序数据耐药性分析软件NanoOK RT

                    前言                  前期,我们解读了Nature Microbiology的关于快速分析肠道菌群耐药性的论文. [文献解读]Nature Micro ...

  9. linux fastQC 操作命令,Linux shell合并fastq测序数据/批量fastqc小脚本|merge|multiqc

    合并fastq测序数据 不同泳道的同一个样品测序数据经过质量检查QC后是可以合并的.本例中文件命名情况如下: 示例文件名:83b_S156_L004_R1_001.fastq.gz,其中83b_S15 ...

最新文章

  1. 图神经网络的解释性综述!
  2. R语言ggplot2可视化:为图像中的均值竖线、中位数竖线、 geom_vline添加图例(legend)
  3. 吴恩达,45岁生日快乐!提出著名二八定律:80%数据+20%模型=更好的AI
  4. C++中基类的析构函数为什么要用virtual虚析构函数
  5. 配置ODBC数据源——找不到SA账户的解决
  6. Teddy's Knowledge Base--基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速开发框架设计NBear V2.0.0 [开源]...
  7. java.util中,util是什么意思
  8. mysql中文编码问题
  9. Hokuyo‘s first try
  10. 2017.8.12在线笔试编程真题总结
  11. C++ 从函数参数中获取指针 指针传递
  12. Latex——论文翻译
  13. Android 软件行为监控系统 的原理 主要是利用binder机制原理添加一个filter
  14. 申请美国大学计算机专业,美国TOP20大学计算机专业申请建议
  15. 原码/补码的加减运算and溢出判断
  16. 【开发】开源的网络攻防黑客游戏d0x3d
  17. python爬虫--小白爬取哔哩哔哩每周更新栏目动画
  18. 【oracle安装】
  19. MATLAB求最大特征值和特征向量
  20. Python 自学,从入门到

热门文章

  1. 一名英文不好的程序员的救赎
  2. 宝贝,来,讲讲spring事务有哪些坑?
  3. 深入理解 Java 虚拟机-如何利用 VisualVM 对高并发项目进行性能分析
  4. 探索JAVA并发 - 线程池详解
  5. 程序员:做测试开发每天忙于业务,看不到希望
  6. 传统Excel绩效考核和绩效管理系统区别
  7. 强烈推荐8款高质量的网站,可以解决很多问题
  8. 项目管理难,如何高效地对项目进行管理?
  9. 团队需要Scrum Master做这六件事-Scrum中文网
  10. OKR是什么?-源目标OKR