It seems a little bit complex. But thanks.
We have SNP array data and whole exon sequencing based SNP calling results for the same group of samples.
Now we have genotype data in VCF format from both techniques. The samples are the sames. But the list of SNPs can be different, with some overlapped SNPs from both data.
We want to merge the VCF files (of genotypes) by array data and whole exon sequencing. We wonder whether there are some tools can do this for us (e.g., vcftools). Especially, in our case there are about 26k SNPs whose genotype were called by both array and whole genome sequencing data. And for those overlapped SNPs, I think there must be some genotypes were called differently by two techniques, for certain SNPs and individuals. So I also concern how to deal with the inconsistent genotypes calling when merging the two VCF files.
Thanks.
2 answers
Suppose you have chr22.chip and chr22.imputation to be merged. you can try the following way:
plink --bfile chr22.chip --list-duplicate-vars
awk '{print $4}' plink.dupvar | grep -v ID > plink.dupvar.id
plink --bfile chr22.chip --exclude plink.dupvar.id --make-bed --out chr22.chip.rmdup
plink --bfile chr22.imputation --list-duplicate-vars
awk '{print $4}' plink.dupvar | grep -v ID > plink.dupvar.id
plink --bfile chr22.imputation --exclude plink.dupvar.id --make-bed --out chr22.imputation.rmdup
plink --bfile chr22.imputation.rmdup --bmerge chr22.chip.rmdup --make-bed --out merge
plink --bfile chr22.chip.rmdup --flip merge-merge.missnp --make-bed --out chr22.chip.rmdup.flip
plink --bfile chr22.imputation.rmdup --bmerge chr22.chip.rmdup.flip --make-bed --out merge
plink --bfile chr22.imputation.rmdup --exclude merge-merge.missnp --make-bed --out chr22.imputation.rmdup.rm3
plink --bfile chr22.chip.rmdup.flip --exclude merge-merge.missnp --make-bed --out chr22.chip.rmdup.flip.rm3
plink --bfile chr22.imputation.rmdup.rm3 --bmerge chr22.chip.rmdup.flip.rm3 --make-bed --out merge
plink --bfile merge --genome --out merge.ibd
by the way, plink will break all the phase status, so if you want to keep phasestatus. be careful.
Log in to answer this question.
VCFtools has
vcf-compareandvcf-merge. BCFtools hasbcftools statsandbcftools merge. Both should do what you want.Thanks!I will take a look.