一、VCFtools使用
#keep individuals
$ vcftools \
--gzvcf x.vcf.gz \
--keep id.txt \
--recode \
--recode-INFO-all \
--stdout | bgzip -c > y.vcf.gz
#remove: --remove
#keep positions
--positions pos.list
#specify region
--chr 1
--from-bp a
--to-bp b
#merge vcfs
$ vcf-merge x.vcf.gz y.vcf.gz | bgzip -c > out.vcf.gz
#split by chromosome
for i in {1..22};
do
vcftools \
--gzvcf x.vcf.gz \
--chr ${i} \
--recode \
--recode-INFO-all \
--stdout | bgzip -c > x.chr${i}.vcf.gz \
done
#difference
$ vcftools --gzvcf x.vcf.gz --gzdiff y.vcf.gz --diff-site --out diff
#fst
$ vcftools --gzvcf x.vcf.gz --weir-fst-pop a.list --weir-fst-pop b.list --out a_vs_b #optional: -fst-window-size, --fst-window-step
官方文档https://vcftools.github.io/index.html
二、BCFtools使用
#merge
$ bcftools merge -O z -o out.vcf.gz --threads 20 x.vcf.gz y.vcf.gz
#concat chromosome
$ bcftools concat -f file.list -o out.vcf.gz
官方文档http://samtools.github.io/bcftools/bcftools.html
三、Shapeit-phase
for i in {1..22};
do
shapeit \
--input-vcf input.chr${i}.vcf.gz \
-M refs/genetic_map_chr${i}_combined_b37.txt \
-O shapeit_chr${i}_phased \
--window 0.5 \
-T 20 \
done
for i in {1..22};
do
shapeit \
-convert \
--input-haps shapeit_chr${i}_phased \
--output-vcf output.shapeit_chr${i}_phased.vcf \
-T 20 \
done
官方文档https://mathgen.stats.ox.ac.uk/genetics_software/shapeit/shapeit.html
四、Plink过滤
$ plink \
--vcf sample.vcf.gz \
--geno 0.1 \
--maf 0.05 \
--threads 10 \
--const-fid A \
--recode vcf \
--out sample.removed.qc
$ plink \
--vcf sample.removed.qc.vcf \
--indep-pairwise 200 25 0.5 \
--threads 10 \
--const-fid A \
--out sample.removed.qc
$ plink \
--vcf sample.removed.qc.vcf \
--extract sample.removed.qc.prune.in \
--threads 10 \
--const-fid A \
--recode vcf \
--out sample.removed.qc.pruned
官方文档https://www.cog-genomics.org/plink2/
五、GCTA-PCA
$ plink --vcf sample.vcf --double-id --out step1
$ gcta --bfile step1 --make-grm --autosome --out step2
$ gcta --grm step2 --pca 3 --out pca_out