【问题标题】:Using a for loop with bcftools使用带有 bcftools 的 for 循环
【发布时间】:2020-01-31 17:12:58
【问题描述】:

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

但是,当我运行上述循环时,我只获得了第一个染色体条目的索引文件,其余部分被忽略(即一个 chr1__.vcf.gz.tbi 文件仅被索引并且其余的被忽略,然后是第一个 chr2 文件和第一个 chr3 文件,依此类推)。

我们将不胜感激。

一切顺利

【问题讨论】:

    标签: loops bioinformatics bcftools


    【解决方案1】:

    也许直接循环文件名:

    for i in chr*.vcf.gz
    do 
      bcftools index -t -f $i 
    done 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-08
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多