对于flash的原理和单个样本双端序列合并过程可以参考
但事实上,我们的样本一般不止一个,而是几十个,怎么批量合并呢?
首先看一下我们的序列文件长啥样:我这给出两个样本,正反序列,一共四个
A.R1.fastq.gz,A.R2.fastq.gz;B.R1.fastq.gz, B.R2.fastq.gz
flash我是通过conda安装的
cd到序列的目录下
输入代码:
#flash合并
for r1_file in *R1.fastq.gz; do
r2_file="${r1_file%R1.fastq.gz}R2.fastq.gz" # 根据 R1 文件名构造 R2 文件名
output_prefix="${r1_file%_R1.fastq.gz}" # 构造输出文件名前缀
flash --min-overlap 10 --max-mismatch-density 0.25 -t 6 \
"$r1_file" "$r2_file" \
--output-prefix="$output_prefix" \
--output-directory="./flash" >>flash.log 2>&1
done
#注意,如果你的序列文件格式和我不一样,不是*R1.fastq.gz这种类型,那么代码需要相应的修改,替换一下即可
这样在你当前目录会产生一个文件夹flash,里面就有合并的序列哦,我取了一个样本的来看,里面有五个文件。也就是说每个样本会产生五个文件,如下图所示。
关于这五个文件的解释,大家看一下把
关于vsearch批量合并序列可以参考刘永鑫老师的
VSEARCH:最简单易学的扩增子分析流程-CSDN博客
关注我,以后的内容更精彩哦。
另外如有错误欢迎指正!
b站号:羽球最强生信人
闲鱼号:小秋家的小卖铺
淘宝号:小秋家的小卖铺