生物信息学习
提示:仅供学习交流使用。
本文主要介绍怎样通过Qiime2处理Silva数据库这一流程。
提示:以下是本篇文章正文内容,下面案例可供参考
#通过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
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
#下载
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)重复序列合并:有助于在下游处理之前从数据库中删除冗余序列数据。
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
为了进一步提高分类精度。我们可以根据扩增的特定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