运用SPAdes拼接完细菌基因组候,拼接完的结果保存在OutFileName/contigs.fasta,通常需要重命名然后下载到本地计算机进一步分析。在样本多的情况下,批处理命令可以帮我们快速对这些完成的contigs进行重命名,方法如下:
for contigs in `find . -type f -name "contigs.fasta"`; do FolderName=$(dirname \
$contigs); cp $FolderName/contigs.fasta $FolderName/${FolderName}_contigs.fasta; done
# for ;do ;done 运用了linux shell的for循环
# `find . -type f -name "contigs.fasta"` 是一个查找文件名的一个非常有用的命令
# 在for循环中嵌套其它的命令时,要用反单引号(tab键上面),不是单引号
# find 命令中的 . 是当前目录,-type 是参数,f 表示选择文件,-name 是参数,"contigs.fasta" 是选项。
rename_script.sh
#!/usr/bin/bash
for contigs in `find . -type f -name "contigs.fasta"`;
do
FolderName=$(dirname $contigs); cp $FolderName/contigs.fasta $FolderName/${FolderName}_contigs.fasta;
done
在contigs上以及文件夹下(assembly/strain1/contigs.fasta)即assembly内执行脚本
bash rename_script.sh
完成