我想写一个bash脚本来与我的文件进行成对计算.
我在目录中有一个固定文件和一系列文件,我想用它们进行成对比较.
例如:
固定文件的名称是:Genome.vcf一对一目录中成对计算的文件名:ind_GER,ind_ENG,ind_MRO
我想出了以下脚本:
#!/bin/bash
for pop1 in $(find ind_*)
do
for pop2 in $(find ind_*)
do
vcftools --gzvcf PATH/Genome.vcf --weir-fst-pop $pop1 --weir-fst-pop $pop2 --out $pop1_$pop2_fst
done
done
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Error: Requested Missing Argument
Run Code Online (Sandbox Code Playgroud)
显然,我遇到了问题,如果你能帮助我,我将非常感激,谢谢.
我正在尝试使用 plink 将 .vcf 文件转换为 .ped 文件。我在网上看了一些手册和帖子,但似乎没有人特别提到如何将vcf转换为ped。
我希望这里可能有一些专家,他们有使用plink将vcf转换为ped的经验。如果您能分享知识,我将不胜感激。此外,如果有另一种方式(非链接)这样做,请分享。
谢谢!
初学者在这里试图让管道在bash中运行.如果有人能看出为什么当我运行以下内容时,我会得到:
-bash: `$i': not a valid identifier,
Run Code Online (Sandbox Code Playgroud)
这将是非常有帮助的.如果还有其他错误,请告诉我
for $i in /home/regionstextfile; do tabix /sequences/human_variation/snps/genotypes.vcf.gz $i | vcftools --window-pi 10000 >> /home/Testgenomesdata/genomesregions.txt; done
Run Code Online (Sandbox Code Playgroud)
这个想法是针对regionstextfile(包含基因组坐标)中的每一行运行一个tabix在vcf.bz文件中调用的程序,然后使用vcftools指定选项运行输出,然后将所有输出放入genomesregions.txt文件中.