起个头
基于qiime2-2023.5版本的16s分析流程,新手在第一次完成这一连串的中遇到了许多问题,现记录在本帖中。由于conda和qiime2安装流程比较常规,便不再记录了。
一、原始数据获取
本人基于文章提供的NCBI_Project号从ENA(https://www.ebi.ac.uk/ena/browser/home)中获得下载的脚本。
右上角输入项目号
选择需要的样本后点击红框的按钮获得下载的脚本。
之后在服务器相应的样本文件夹中bash一下脚本就可以下载数据了。
也可在windows系统中直接点下载选中的文件,然后导入服务器中。
二、导入数据
1.制作manifest文件
首先在NCBI中获得样本的metadata文件
输入项目号,选完所需要的样本后在send to中选择run selector然后go!
metadata出现啦!点击即可下载!
但是这个metadata的第一列是run,把这个列名理解成sample id即可!
根据metadata文件制作manifest文件
双端序列文件可以用以下代码(示例):
awk -F',' 'BEGIN {OFS="\t"} NR==1 {print "sample-id", "forward-absolute-filepath", "reverse-absolute-filepath"}
NR>1 {print $(NF-2), "your_path/"$1"_1.fastq.gz", "your_path/"$1"_2.fastq.gz"}' SraRunTable.csv > manifest
单端序列文件可以用以下代码(示例):
awk -F',' 'BEGIN {OFS="\t"} NR==1 {print "sample-id", "absolute-filepath"}
NR>1 {print $(NF-2), "your_path/"$1".fastq.gz"}' SraRunTable.csv > manifest
索引可以改成你想要的,如$(NF-2)中NF是总长度,NF-2则是倒数第三列的索引。
2.数据导入qiime2中
这是双端导入的格式:
qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-path manifest \
--output-path paired-end-demux.qza \
--input-format PairedEndFastqManifestPhred33V2
这是单端导入的格式:
qiime tools import \
--type 'SampleData[SequencesWithQuality]' \
--input-path manifest \
--output-path single-end-demux.qza \
--input-format SingleEndFastqManifestPhred33V2
导入数据可视化(查看原始数据质量)
qiime demux summarize \
--i-data paired-end-demux.qza \ #单端序列换成single开头的文件
--o-visualization demux-raw-summary.qzv
在这里https://view.qiime2.org/查看可视化文件(将qzv文件导入)
三、去噪、生成OTU
1.双端序列
qiime dada2 denoise-paired \
--i-demultiplexed-seqs paired-end-demux.qza \
--p-n-threads 0 \
--p-trim-left-f 0 --p-trim-left-r 0 \
--p-trunc-len-f 0 --p-trunc-len-r 0 \
--o-table table.qza \
--o-representative-sequences rep-seqs.qza \
--o-denoising-stats denoising-stats.qza
其中p-n-threads为线程,自行调节即可。截断位点可以通过figaro软件得到dada2插件正反向截断位点信息,参考:https://www.jianshu.com/p/66ebd1d4558a
可视化特征表、代表序列及统计信息
qiime feature-table summarize \
--i-table table.qza \
--o-visualization table.qzv \
qiime feature-table tabulate-seqs \
--i-data rep-seqs.qza \
--o-visualization rep-seqs.qzv
qiime metadata tabulate \
--m-input-file denoising-stats.qza \
--o-visualization denoising-stats.qzv
OTU表导出
qiime tools export \
--input-path table.qza \
--output-path export #输出目录而不是文件
# 将biom格式转换成tsv格式便于查看
biom convert \
-i feature-table.biom \
-o feature-table.tsv \
--to-tsv
2.单端序列
首先根据碱基质量采用默认参数过滤序列
qiime quality-filter q-score \
--i-demux single-end-demux.qza \
--o-filtered-sequences demux-filtered.qza \
--o-filter-stats demux-filter-stats.qza
可视化质控统计结果
qiime metadata tabulate \
--m-input-file demux-filter-stats.qza \
--o-visualization demux-filter-stats.qzv
Deblur去噪
输入文件为质控后的序列,设置截取长度参数,生成结果文件有代表序列、特征表、样本统计。
qiime deblur denoise-16S \
--i-demultiplexed-seqs demux-filtered.qza \
--p-trim-length 400 \
--p-sample-stats \
--o-representative-sequences rep-seqs.qza \
--o-table table.qza \
--o-stats deblur-stats.qza
可视化去噪统计结果
qiime deblur visualize-stats \
--i-deblur-stats deblur-stats.qza \
--o-visualization deblur-stats.qzv
可视化特征表
qiime feature-table summarize \
--i-table table.qza \
--o-visualization table.qzv \
四、物种注释
首先下载训练集
16s:Silva 138 99% OTUs full-length sequences
wget -c https://data.qiime2.org/2023.5/common/silva-138-99-nb-classifier.qza
物种注释
qiime feature-classifier classify-sklearn \
--i-classifier /users/chenhong/amplicon/silva-138-99-nb-classifier.qza \
--i-reads rep-seqs.qza \
--o-classification taxonomy.qza
可视化物种注释
qiime metadata tabulate \
--m-input-file taxonomy.qza \
--o-visualization taxonomy.qzv
可视化堆叠图
qiime taxa barplot \
--i-table table.qza \
--i-taxonomy taxonomy.qza \
--o-visualization taxa-bar-plots.qzv
总结
先写到这,笔记后续再补充。