for循环
RefDir=/mnt/sda2/genome
for i in ./*id; do #这是一个循环结构,遍历当前目录下以".id"结尾的文件。每次循环时,将文件的路径存储在变量"i"中
base_name=$(basename $i ".id") #将文件名中的".id"后缀去除,得到文件的基本名称,并将其存储在变量"base_name"中
seqkit grep -f $i $RefDir/genome_pep.fa > ${base_name}_pep.fa #提取匹配"i"文件中的内容,并将结果保存到"${base_name}_pep.fa"文件中。
seqkit fx2tab --length --name ${base_name}_pep.fa > ${base_name}_pep.len #提取fasta序列的长度并储存在{base_name}_pep.len
done #循环结束
while循环
RefDir=/mnt/sda2/genome
ls ./*id | while read i #这是一个循环结构,遍历当前目录下以".id"结尾的文件。每次循环时,将文件的路径存储在变量"i"中
do
base_name=$(basename $i ".id") #将文件名中的".id"后缀去除,得到文件的基本名称,并将其存储在变量"base_name"中
seqkit grep -f $i $RefDir/genome_pep.fa > ${base_name}_pep.fa #提取匹配"i"文件中的内容,并将结果保存到"${base_name}_pep.fa"文件中。
seqkit fx2tab --length --name ${base_name}_pep.fa > ${base_name}_pep.len #提取fasta序列的长度并储存在{base_name}_pep.len
done #循环结束