Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 将for循环与bcftools一起使用_Loops_Bioinformatics_Bcftools - Fatal编程技术网

Loops 将for循环与bcftools一起使用

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

我有一个包含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 
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