基于Qiime2处理Silva数据库
生物信息学习
提示:仅供学习交流使用。
基于Qiime2处理Silva数据库
- 前言
- 一、安装Qiime2
- 二、通过Qiime2下载Silva数据库
- 1.RESCRIPt安装
- 2.下载处理Silva数据库
- 3.构建分类器
- 3.1 全长分类器构建
- 3.2 特异引物分类器构建
- 总结
前言
本文主要介绍怎样通过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
基于Qiime2处理Silva数据库相关推荐
- mysql数据库映射到内存_基于共享内存的数据库映射
基于共享内存的数据库映射 概述 随着各类行业软件对性能追求越来越高,因此对数据库处理的速度提出了新的挑战.然而大部分复杂的业务处理往往依赖体量较大的关系数据(如:Oracle,Mysql,Postgr ...
- mysql分布式数据库实践论文_新浪微博基于MySQL的分布式数据库实践
提起微博,相信大家都是很了解的.但是有谁知道微博的数据库架构是怎样的呢?在今天举行的2011数据库技术大会上,新浪首席DBA杨海潮为我们详细解读了新浪微博的数据库架构--基于MySQL的分布式数据库实 ...
- ncbi查找目的基因序列_基于PrimerBank和NCBI数据库的引物查找与设计
基于PrimerBank和NCBI数据库的引物查找与设计---生科三班xhs原创,请勿转载 一.引物数据库查找: 要设计一个mRNA的qPCR引物,首先应该先看看别人是否已经使用过,可以先在数据库Pr ...
- BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略
BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介.下载.案例应用之详细攻略 目录 MongoDB的简介 1.MongoDB的主要功能特性 2.对MongoDB进行增删改查( ...
- 基于内存数据库的分布式数据库架构
[摘要] 本文提出了一种通过引入内存数据库层,建立两层多分区分布式数据库架构.此方案用于解决海量高并发系统的数据存储和访问问题,尤其适用于电子商务等数据模型复杂且业务复杂的互联网站. 这些年互联网站发 ...
- asp+ajax菜单,AJAX_基于asp+ajax和数据库驱动的二级联动菜单,index.asp 页面代码 复制代码 代 - phpStudy...
基于asp+ajax和数据库驱动的二级联动菜单 index.asp 页面代码 复制代码 代码如下: set cmd = conn.execute("select bigclassid,big ...
- 基于用户角色的数据库智能监控系统应用场景分析
摘要:本文尝试从概念和逻辑上推导了基于用户角色的数据库智能监控系统的可能应用场景. 本文分享自华为云社区<GaussDB(DWS)数据库智能监控系统应用场景分析>,原文作者:鲁大师. 与互 ...
- 基于amoeba实现mysql数据库的读写分离/负载均衡
更多博文请关注:没有伞的孩子必须努力奔跑 (www.xuchanggang.cn) 一.Amoeba的简述:[来自百度百科] Amoeba是一个以MySQL为底层数据存储,并对应用提供MyS ...
- java 单例基类_PHP基于单例模式实现的数据库操作基类
本文实例讲述了PHP基于单例模式实现的数据库操作基类.分享给大家供大家参考,具体如下: 配置文件: $db = array( 'host'=>'localhost', 'user'=>'r ...
最新文章
- 从YOLOv1到YOLOv3,目标检测的进化之路
- 数据库 ' 库名' 已打开,并且一次只能有一个用户访问。 (Microsoft SQL Server,错误: 924)
- 互联网刚刚年满50,发明它的那个人却「后悔」了
- BZOJ1001[BeiJing2006]狼抓兔子最小割網絡流
- 文娱打卡百强,重工智造升级,互联网进入“长沙时间”
- 一个失败的创意:GPGPU纹理化通用加速kD树的实现
- Tomcat学习总结(18)—— Tomcat启动时org.apache.catalina.util.SessionIdGenerator产生安全随机类SecureRandom的实例慢问题解决
- 【bzoj1045】【HAOI2008】 糖果传递
- 计算机基础与office应用教程,计算机基础与Office 2010实用教程
- Leetcode1859:将句子排序
- React(Js)学习
- Nginx防止大流量攻击,限制流量访问(limit_req_zone模块)以及进行网站压力测试
- ppt嵌入文件对计算机有危害,PPT插入声音文件后在其他电脑上无法播放声音
- word 合并 两个文件 合并成一个
- java qq开发_Ubuntu用户的福音:基于Java开发的开源QQ客户端iQQ
- 缓存着色 Page color测试
- 编程图记(2): 学用PHP框架Laravel
- SegmentFault 巨献 1024 程序员护卫队#1红岸的呼唤
- python材料计算程序_把python当日常的”计算器”用
- 微型电子计算机网络,一种计算机网络安全的微型盒装置的制作方法