2

vcftools パッケージを利用して堰とコッカーハムの fst を計算しようとしています。最初に 2 組の集団をループし、次に 1000 Genomes プロジェクトのすべてのバリアントでこれらの集団をループしたいと思います。各染色体には個別の vcf ファイルが含まれています。たとえば、pop1 と pop2 の場合、pop3 と pop4 の場合、染色体 1 ~ 10 の fst を計算します。各集団ファイル (LWKfile など) には、この集団に属する個体のリストが含まれています。

私は試みました:

for population in LWK_GBR YRI_FIN; do

firstpop=$(echo $population | cut -d '_' -f1)
secondpop=$(echo $population | cut -d '_' -f2)

for filename in *.vcf.gz; do

vcftools --gzvcf ${filename} \
--weir-fst-pop /outdir/${firstpop}file \
--weir-fst-pop /outdir/${secondpop}file \
--out /out/${population}_${filename}

done

done  

ただし、これはすべてのファイルをループするわけではなく、染色体 10 でスタックしているようです。ループ内のループが遅すぎるのではないかと懸念しているため、bash でこれを実行するより効率的な方法はありますか。

4

1 に答える 1