16s分析之Qiime序列拼接
摘要:
join_paired_ends.py:该命令默认调用fastq-join,因此可以不用设置-m选项,若选用SeqPrep则需要设定-m选项
-m调用方法fastq-join, SeqPrep这两种方法,有人表示:fastq-join方法速度更快,但是SeqPrep拼接结果更好;
若想详细了解这两种参数,请参照:
fastq-join:
http://code.google.com/p/ea-utils
SeqPrep:
https://github.com/jstjohn/SeqPrep
如果采用fastq-join这种方法拼接,则设置参数如下:
-p:最多容忍overlap错配最高百分比,该选项只有选用fastq-join方法是才设定,从1到100的整数,一般设定10就差不多了
-j :最小overlap的长度,一般10个差不多,根据自己的样品
如果采用SeqPrep这种方法拼接,则设置参数如下:
-n:最小匹配率,一般设置成0.9;参数值在0-1之间
-g:最大允许错配率;参数值在0-1之间
命令:
l multiple_join_paired_ends.py-i input_files -o output_folder -pjoin.txt --include_input_dir_path
--include_input_dir_path该选项为将输出目录文件名命名为输入文件名
-p,是参数文件的设置,fastq-join这种方法参数文件设置:
perc_max_diff:10#-p的全称,在全英文输入法状态输入冒号,并且加空格
min_overlap:10#-j的全称
每个参数使用一行,编写完成后,保存为txt文件;
如果采用SeqPrep这种方法参数文件设置:
min_frac_match: 0.9#-n最小匹配率,一般设置成0.9;参数值在0-1之间。
max_good_mismatch: 0.1#-g最大允许错配率;参数值在0-1之间。
每个参数使用一行,编写完成后,保存为txt文件;
每个输出文件一共有三个:
fastq-join方法输出:
“*.join”: 拼接好的
“*.un1”: 未匹配上的
“*.un2”: 未匹配上的
SeqPrep方法输出:
“*_assembled.gz”: 拼接好的
“*_unassembled_R1.gz”: 未匹配上的
“*_unassembled_R2.gz”: 未匹配上的
存在一个问题,当然我只是个菜鸟,可能在高手面前这不算问题:
每个样品拼接后都得到一个文件夹,然而里面的文件命名都是相同的,这就需要修改文件名了(可能是命令还有其他选项,我没有读懂,源地址:http://qiime.org/scripts/join_paired_ends.html),命令如下:
cplxdjhg_join/lxdjhgG01_R1_/fastqjoin.join.fastq lxdjhg_join_zz/G01.fq
单个书写命令过于繁琐,linus基础又不好的我,当时通过Excel批量书写命令:通过“&”链接不同文本,最后将命令复制运行即可。
批量连接结果结果如下:
复制进入qiime中,很快新的文件夹中变得到的全部拼接好的fq文件(以上命令最为新手我使用cp命令,而不是mv,大家可以使用mv命令,节省硬盘空间)
有话要说:
很多人基于windows系统通过vbox安装qiime1(由于qiime2已经发出好长时间,这里就将原来的qiime称为qiime1,以免误导大家),出现好多问题,我算是悲催的,出现问题巨多,当然我也积累了非常丰富的经验,就本帖子内容可能出现的问题,向大家做一个交代:
由于大家将测序数据存于Shared_Folder中,这样很可能无法运行multiple开头的命令错误信息最后一行大概就是:
OSError: [Errno 26] Textfile busy:'/home/qiime/Desktop/Shared_Folder/output_folder/lxdjhgBC2_S160_L001_R1_001/fastqjoin.un2'
这里解决办法就是:
将Shared_Folder另存到qiime1中的别的地方,命令参考:
mv -r lxdjhg ~/Desktop
-r:将整个文件全部内容复制到另一个位置
参考文献:
http://qiime.org/scripts/join_paired_ends.html