基于Qiime2处理Silva数据库

2023-10-27

生物信息学习

提示:仅供学习交流使用。


前言

本文主要介绍怎样通过Qiime2处理Silva数据库这一流程。


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装Qiime2

#通过conda安装qiime
wget https://data.qiime2.org/distro/core/qiime2-2022.2-py38-linux-conda.yml
conda env create -n 2022.2-qiime2 --file qiime2-2022.2-py38-linux-conda.yml 
rm qiime2-2022.2-py38-linux-conda.yml
#使用
conda activate 2022.2-qiime2
conda deactivate

二、通过Qiime2下载Silva数据库

1.RESCRIPt安装

RESCRIPt(REference Sequence Annotation and CuRatIon Pipeline)是一个python包和QIIME 2插件,用于格式化,管理和操作序列参考数据库。该软件包设计用于编译,操作和评估来自SILVA,NCBI,Greengenes,GTDB和其他来源的序列参考数据库,以及构建与QIIME 2(或其他微生物组分析软件和分类分类器)一起使用的参考数据库。以SILVA 16S rRNA基因数据库为例。

#进入Qiime2环境
conda activate 2022.2-qiime2
#安装RESCRIPt
pip install git+https://github.com/bokulich-lab/RESCRIPt.git

2.下载处理Silva数据库

#下载
qiime rescript get-silva-data \
    --p-version '138.1' \
    --p-target 'SSURef_NR99' \
    --p-include-species-labels \
    --o-silva-sequences silva-138.1-ssu-nr99-rna-seqs.qza \
    --o-silva-taxonomy silva-138.1-ssu-nr99-tax.qza
#转换数据
qiime rescript reverse-transcribe \
    --i-rna-sequences silva-138.1-ssu-nr99-rna-seqs.qza \
    --o-dna-sequences silva-138.1-ssu-nr99-seqs.qza
#剔除低质量序列(使用默认参数)
 qiime rescript cull-seqs \
    --i-sequences silva-138.1-ssu-nr99-seqs.qza \
    --o-clean-sequences silva-138.1-ssu-nr99-seqs-cleaned.qza
#按长度和分类筛选序列
qiime rescript filter-seqs-length-by-taxon \
    --i-sequences silva-138.1-ssu-nr99-seqs-cleaned.qza \
    --i-taxonomy silva-138.1-ssu-nr99-tax.qza \
    --p-labels Archaea Bacteria Eukaryota \
    --p-min-lens 900 1200 1400 \
    --o-filtered-seqs silva-138.1-ssu-nr99-seqs-filt.qza \
    --o-discarded-seqs silva-138.1-ssu-nr99-seqs-discard.qza
#重复序列合并(使用默认参数)
qiime rescript dereplicate \
    --i-sequences silva-138.1-ssu-nr99-seqs-filt.qza  \
    --i-taxa silva-138.1-ssu-nr99-tax.qza \
    --p-rank-handles 'silva' \
    --p-mode 'uniq' \
    --o-dereplicated-sequences silva-138.1-ssu-nr99-seqs-derep-uniq.qza \
    --o-dereplicated-taxa silva-138.1-ssu-nr99-tax-derep-uniq.qza

备注:
(1)按长度和分类筛选序列:这步不要盲目地过滤所有低于特定长度的参考序列,而是根据参考序列的分类进行差异过滤。原因是:如果我们决定删除任何低于1000或1200 bp的序列,那么许多与古菌(和一些细菌)相关的参考序列将丢失。这可能会增加较短和低质量的细菌或真核序列的保留。最终导致不适当的数据库选择偏差。因此,可以尝试通过基于长度的差异过滤来缓解这些问题:删除不符合以下标准的rRNA基因序列:古菌(16S)>= 900 bp,细菌(16S)>= 1200 bp,以及任何真核生物(18S)>= 1400 bp。有关详细信息,请参阅帮助文本。
(2)重复序列合并:有助于在下游处理之前从数据库中删除冗余序列数据。

3.构建分类器

3.1 全长分类器构建

qiime feature-classifier fit-classifier-naive-bayes \
  --i-reference-reads  silva-138.1-ssu-nr99-seqs-derep-uniq.qza \
  --i-reference-taxonomy silva-138.1-ssu-nr99-tax-derep-uniq.qza \
  --o-classifier silva-138.1-ssu-nr99-classifier.qza

3.2 特异引物分类器构建

为了进一步提高分类精度。我们可以根据扩增的特定16S区域构建特异区域的分类器。以V3V4(338F-806R)为例构建。

#V3V4(338F-806R),截取序列
qiime feature-classifier extract-reads \
    --i-sequences silva-138.1-ssu-nr99-seqs-derep-uniq.qza \
    --p-f-primer ACTCCTACGGGAGGCAGCAG \
    --p-r-primer GGACTACHVGGGTWTCTAAT \
    --p-n-jobs 2 \
    --p-read-orientation 'forward' \
    --o-reads silva-138.1-ssu-nr99-seqs-V3-V4.qza
 #合并重复
qiime rescript dereplicate \
    --i-sequences silva-138.1-ssu-nr99-seqs-V3-V4.qza \
    --i-taxa silva-138.1-ssu-nr99-tax-derep-uniq.qza \
    --p-rank-handles 'silva' \
    --p-mode 'uniq' \
    --o-dereplicated-sequences silva-138.1-ssu-nr99-seqs-V3-V4-uniq.qza \
    --o-dereplicated-taxa  silva-138.1-ssu-nr99-tax-V3-V4-derep-uniq.qza
 #构建分类器
 qiime feature-classifier fit-classifier-naive-bayes \
    --i-reference-reads silva-138.1-ssu-nr99-seqs-V3-V4-uniq.qza \
    --i-reference-taxonomy silva-138.1-ssu-nr99-tax-V3-V4-derep-uniq.qza \
    --o-classifier silva-138.1-ssu-nr99-V3-V4-classifier.qza

备注:–p-read-orientation 'forward’可以更快地处理数据。note that we’ll set , as the SILVA database is curated to be in the same “forward” orientation. This will allow us to process the data more quickly w/o having to account for mixed-orientation sequences during our primer search.

总结

以上就是这次内容,本文仅仅简单介绍了整套流程的使用,具体还需要阅读原始文档。
参考来源:
(1)https://github.com/bokulich-lab/RESCRIPt/
(2)https://forum.qiime2.org/t/processing-filtering-and-evaluating-the-silva-database-and-other-reference-sequence-data-with-rescript/15494
(3)Michael S Robeson II, Devon R O’Rourke, Benjamin D Kaehler, Michal Ziemski, Matthew R Dillon, Jeffrey T Foster, Nicholas A Bokulich. 2021. “RESCRIPt: Reproducible sequence taxonomy reference database management”. PLoS Computational Biology 17 (11): e1009581.; doi: 10.1371/journal.pcbi.1009581

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于Qiime2处理Silva数据库 的相关文章

  • css 实现汉堡包式菜单

    title css 实现汉堡包式菜单 tags css time 2018 12 01 CSS3 实现汉堡包式菜单 html div class container div
  • 网络安全的规划

    防火墙被应用于内部网与外部网的连接之间 通过2 6 块 100M 快速以太网 卡直接连在 交换机上 使用虚拟网 VLAN 技术 来自 INTERNET 对内部网 12 的访问首先要经过防火墙 防火墙对进出内部网的数据内容进行各个层次的安全
  • C++指向类成员(数据、函数)的指针

    指向 类 的成员的指针包含两种 指向 类 的数据成员的指针 指向 类 的成员函数的指针 注意 指向的是 类的成员 和类发生关系 指向非静态公有数据成员的指针 在定义时必须和类相关联 在使用时必须和对象相关联 1 指向类的数据成员的指针 1
  • BestCoder Round #36 HDU(5198 - 5201)

    人生第一次ak了bc 当然要写个题解装逼一下 其实是题水 Hdu 5198 Strang Class 水题 不过wa了两发 include
  • 【2023版】Nmap的概述、安装并进行网络扫描实战

    Nmap概述 Nmap Network Mapper 网络映射器 是一个网络连接端扫描软件 用来扫描网上电脑开放的网络连接端 确定哪些服务运行在哪些连接端 并且推断计算机运行哪个操作系统 这是亦称 fingerprinting 它是网络管理

随机推荐

  • KMP算法详解

    一 什么是KMP算法 KMP主要应用在字符串匹配上 KMP的主要思想是当出现字符串不匹配时 通过已知一部分之前已经匹配的内容 避免从头再去做匹配 所以KMP算法的重点就是如何记录已经匹配的信息 也就是next 数组的实现 二 什么是next
  • linux系统中I2C总线匹配过程详解、initcall机制

    转载自 https www cnblogs com downey blog p 10493216 html i2c总线的初始化 分析i2c框架自然是从i2c总线的初始化开始 一切内核中i2c的相关操作都将建立在i2c总线的基础上 在实际驱动
  • Eclipse

    干活就这么点 1 class path resource application xml cannot be opened because it does not exist 2 把application xml放到classes下 这样才
  • ChatGPT+Word的智能化文字生成和应用

    在Word中引入OpenAI代码需要使用VBA编辑器 以下是在Word中引入OpenAI代码的步骤 打开Word文档 按下Alt F11键打开VBA编辑器 在VBA编辑器中 选择 插入 菜单 然后选择 模块 在新建的模块中 将OpenAI代
  • CSP第二轮比赛注意事项

    一 在哪里写代码 主办方 杭师大考点 已在 E 盘根目录下建立以考生准考证编号命名的文件夹 考生应检查该文件夹名称是否正确 包括编号及大小写字母 如有错误须立即上报监考人员 由监考人员进行更改 确认无误后 考生须为每道试题再单独建立一个子文
  • java怎样解决线程安全问题_如何解决线程安全问题

    一 什么时候会出现线程安全问题 在单线程中不会出现线程安全问题 而在多线程编程中 有可能会出现同时访问同一个资源的情况 这种资源可以是各种类型的的资源 一个变量 一个对象 一个文件 一个数据库表等 而当多个线程同时访问同一个资源的时候 就会
  • 广度优先遍历

    广度优先搜索遍历类似于树的按层次遍历 对于无向连通图 广度优先搜索是从图的某个顶点v0出发 在访问v0之后 依次搜索访问v0的各个未被访问过的邻接点w1 w2 然后顺序搜索访问w1的各未被访问过的邻接点 w2的各未被访问过的邻接点 即从v0
  • @Transactional导致 dynamic-datasource-spring-boot-starter失效原因分析

    环境 controller gt Aservice gt Bservice gt Bdao A表示A数据源 B表示B数据源 Aservcie使用Transactional注解 1 dynamic datasource DB切面是可以将数据源
  • torrent文件与百度云盘种子

    https jingyan baidu com article ce43664936850b3772afd34b html
  • 思科模拟器网络基础配置

    路由器的基本配置 Router config hostname R01 配置进入特权模式的密码 R01 config enable secret Bs0023 三层交换机开启路由功能 SW1 config if no sw 配置远程登陆 配
  • 反编译jar包,修改后重新编译为jar包

    使用开源jar包或者供应商jar包时 会发现一些bug或者已有功能无法满足我们要求 需要对jar中的 class文件进行修改 处理步骤如下所示 1 使用反编译工具将jar包反编译为源文件 反编译工具请参考XJAD2 2版下载地址 http
  • 移动端兼容及适配问题汇总

    适配问题1 问题1 移动端的vue页面 在IOS的设备上 点击下拉框 或者屏幕的话 屏幕会自动放大的问题 这个问题可能是由于 iOS 中的默认缩放选项导致的 iOS 会根据网页的大小来自动调整缩放级别 以便适应设备的屏幕 这个功能可以让网页
  • 模糊聚类的matlab仿真

    1 问题描述 模糊聚类分析是一种采用模糊数学语言对事物按一定的要求进行描述和分类的数学方法 1 模糊聚类分析一般是指根据研究对象本身的属性来构造模糊矩阵 并在此基础上根据一定的隶属度来确定聚类关系 即用模糊数学的方法把样本之间的模糊关系定量
  • 动态规划之矩阵的最小路径和

    题目 给定一个m n的矩阵 从左上角开始 每次只能向下或向右走 最后到达右下角的位置 路径上所有数字加起来就是路径的和 返回所有路径中最小的路径和 举例 给定以下矩阵 1 3 5 9 8 1 3 4 5 0 6 1 8 8 4 0 路径 1
  • RTP解包

    这里讨论的场景为 流媒体服务器推送H264码流 且RTP over tcp 当服务器返回RTSP play 回应后 会发送 1byte channel number 1byte rtp packet size 2byte 然后客户端根据si
  • 悟空 CRM(9.0版本)V9.0_20190416 更新日志

    修复 1 客户管理 工作台 销售趋势 按月筛选时有数据 按季筛选时无数据 2 新增场景设置为默认标签后 点击删除 提示 网络请求失败 请稍候再试 3 自定义字段多选项多出一个空的默认值 4 客户高级筛选中 负责人 筛选条件为 不等于 时筛选
  • 【华为OD机试 2023】最优高铁城市修建方案(C++ Java JavaScript Python)

    华为od机试题库 华为OD机试2022 2023 C Java JS Py https blog csdn net banxia frontend category 12225173 html 华为OD机试2023最新题库 更新中 C Ja
  • Java题目记录:在1~100中寻找素数(质数)

    Java题目记录 在1 100中寻找素数 质数 题目1 编写for循环 找出1 100中所有素数 题目2 编写for循环 找出1 10000中所有素数 并要求每8个换一行输出 寻找素数解题 首先素数概念 除1和它本身外没有其他因子可以整除的
  • odoo连接数据库配置问题odoo.conf

    odoo系统要加载的模块 addons path D devecho odoo10 OCB 10 0 addons D devecho odoo10 OCB 10 0 mytestaddons admin passwd admin csv
  • 基于Qiime2处理Silva数据库

    生物信息学习 提示 仅供学习交流使用 基于Qiime2处理Silva数据库 前言 一 安装Qiime2 二 通过Qiime2下载Silva数据库 1 RESCRIPt安装 2 下载处理Silva数据库 3 构建分类器 3 1 全长分类器构建