基于shell和qiime2一键分析扩增子多样性

创建名为zlab.sh的脚本,存放于home目录下的soft/qiime2目录,通过修改环境变量使其全局可用。运行脚本前需更新缓存,并通过特定端口查看帮助。完整执行指令格式给出,也可从github直接下载。参考文献:Zhou等人(2019)研究了膳食溶菌酶如何影响母猪肠道微生物、免疫反应和乳汁代谢物。
摘要由CSDN通过智能技术生成
#!/bin/bash
usage(){
   
	echo "Usage:
       		-i [abs_input_file_path.txt | required]
		-o [abs_output_dir | required]
		-m [abs_sample_metadata.tsv | required]
		-n [threads | defalut: 4]
		-d [dada2/deblur | choose one from above, default: dada2]
		-a [silva_fl/silva_v4/gg_fl/gg_v4 | choose one from above, default: gg_v4]
		-s [sampling depth | default: minimal frequency for using all the samples
		    Can be changed according to table.qzv]
		-p [max depth when performing alpha-rarefication curve| default:5000]
		-h [print this help info]"
	exit -1
}


#default parameters
threads=4 #default threads for processing
denoise_algo="dada2" #default algorithm for denoising data
dataname="gg_v4" #default database
p_max_depth=5000


#function for denoise data using dada2 algorithm
dada2(){
   
qiime dada2 denoise-paired \
	--i-demultiplexed-seqs ${output_dir}/paired-end-demux.qza \
	--p-trunc-len-f 0 \
	--p-trunc-len-r 0 \
	--p-n-threads $threads \
	--o-table ${denoise_dir}/table.qza \
       	--o-representative-sequences ${denoise_dir}/rep-seqs.qza \
	--o-denoising-stats ${denoise_dir}/stats.qza 
}


#function for denoise data using deblur algorithm
deblur(){
   
#merge first
qiime vsearch join-pairs \
	--i-demultiplexed-seqs ${output_dir}/paired-end-demux.qza \
	--o-joined-sequences ${denoise_dir}/demux-joined.qza
#summarize
qiime demux summarize \
	--i-data ${denoise_dir}/demux-joined.qza \
	--o-visualization ${denoise_dir}/demux-joined.qzv
#quality 
qiime quality-filter q-score \
	--i-demux ${denoise_dir}/demux-joined.qza \
	--o-filtered-sequences ${denoise_dir}/demux-joined-filtered.qza \
	--o-filter-stats ${denoise_dir}/demux-joined-filter-stats.qza
#denoise
qiime deblur denoise-16S \
	--i-demultiplexed-seqs ${denoise_dir}/demux-joined-filtered.qza \
	--p-trim-length 460 \
	--o-representative-sequences ${denoise_dir}/rep-seqs.qza \
	--o-table ${denoise_dir}/table.qza \
	--p-sample-stats \
	--o-stats ${denoise_dir}/stats.qza
}

#get parameters
while getopts 'i:o:m:n:d:a:s:p:h' opt; do
	case $opt in
		i) input_file="$OPTARG";;
		o) output_dir="$OPTARG";;
		m) metadata_file="$OPTARG";;
		n) threads="$OPTARG";;
		d) denoise_algo="$OPTARG";;
		a) dataname="$OPTARG";;
		s) sample_depth="$OPTARG";;
		p) p_max_depth="$OPTARG";;
		h) usage;;
		?) usage;;
	esac
done
#denoise directory
denoise_dir=${output_dir}/${denoise_algo}


#get qiime env name
qiime=`conda env list | grep "qiime.*" | awk '{print $1}'`
echo "qiime version: "$qiime


#print info to stdout
echo "input file path: "${input_file}
echo "output directory: "${output_dir}
echo "metadata file: "${metadata_file}
echo "threads: "$threads
echo "denoise algothrim: "${denoise_algo}
echo "database: "$dataname
echo "denoise directory: "${denoise_dir}
echo "sampling depth when performing alpha-rarefication curve: "${p_max_depth}


#activate qiime env && make directory for storing output files && preparation of optional parameters
source activate $qiime
if [ ! -d ${output_dir} ];then
	echo "creating output directory: ${output_dir} ..."
	mkdir ${output_dir}
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值