如何通过循环批量执行GWAS脚本(自动遍历1-22号染色体)
GWAS分析脚本的染色体循环自动化实现
我有一个能在bash环境中正常运行的单染色体GWAS分析脚本,但每次都要手动修改染色体编号(范围1到22)才能执行对应染色体的分析,希望通过循环实现自动化批量运行。
原始单染色体运行示例(以chr21为例)
执行bash gwas.sh即可完成chr21的分析,脚本片段如下:
#!/bin/bash -f # Assuming run by chromosome so # set to chromosome. chr=21 # path to program program=../programs/program # path to genotype file geno=../chr{chr}.1001.bin # path to program phenotype file pheno=../data/pheno.csv
尝试过的失败修改
- 修改后的脚本内容:
#!/bin/bash -f # Assuming run by chromosome so # set to chromosome. chr=$CHR # path to program program=../programs/program # path to genotype file geno=../chr{chr}.1001.bin # path to program phenotype file pheno=../data/pheno.csv
- 配套执行的循环命令:
for ((CHR=1; CHR<22; CHR++)); do echo $CHR bash gwas.sh done
可行的解决方案
- 修改后的脚本内容:
#!/bin/bash -f # Assuming run by chromosome so # set to chromosome. export chr= # path to program program=../programs/program # path to genotype file geno=../chr{chr}.1001.bin # path to program phenotype file pheno=../data/pheno.csv
- 配套执行的循环命令:
for ((CHR=1; CHR<23; CHR++)); do export chr=$CHR bash ../scripts/gwas.sh done
内容的提问来源于stack exchange,提问作者bubu kerokero
相关产品推荐
相关产品推荐

