Loops 将for循环与bcftools一起使用
我有一个包含900个文件的文件夹,名称如下:Loops 将for循环与bcftools一起使用,loops,bioinformatics,bcftools,Loops,Bioinformatics,Bcftools,我有一个包含900个文件的文件夹,名称如下: chr1_643632542_63643636.vcf.gz chr1_23634521_626356.vcf.gz chr2_363643262346_234324.vcf.gz chr2_1345_21346.vcf.gz .... chr22_134545_3245145.vcf.gz 我试图用循环索引每个文件: for i in {1..22} do bcftools index -t -f chr${i}_*_*.vcf.gz
chr1_643632542_63643636.vcf.gz
chr1_23634521_626356.vcf.gz
chr2_363643262346_234324.vcf.gz
chr2_1345_21346.vcf.gz
....
chr22_134545_3245145.vcf.gz
我试图用循环索引每个文件:
for i in {1..22}
do
bcftools index -t -f chr${i}_*_*.vcf.gz
done
因此,我将得出以下结论:
chr1_643632542_63643636.vcf.gz
chr1_643632542_63643636.vcf.gz.tbi
chr1_23634521_626356.vcf.gz
chr1_23634521_626356.vcf.gz.tbi
chr2_363643262346_234324.vcf.gz
chr2_363643262346_234324.vcf.gz.tbi
chr2_1345_21346.vcf.gz
chr2_1345_21346.vcf.gz.tbi
....
chr22_134545_3245145.vcf.gz
chr22_134545_3245145.vcf.gz.tbi
但是,当我运行上面的循环时,我只得到第一个chromosme条目的一个索引文件,其余的被忽略(即,只对一个chr1_2; vcf.gz.tbi文件进行索引,其余的被忽略,然后是第一个chr2文件和第一个chr3文件,依此类推)
非常感谢您的帮助
所有最好的都可以直接循环文件名:
for i in chr*.vcf.gz
do
bcftools index -t -f $i
done
可以直接在文件名上循环:
for i in chr*.vcf.gz
do
bcftools index -t -f $i
done