Genotype calling and phasing using next-generation sequencing reads and a haplotype scaffold

Genotype calling and phasing using next-generation sequencing reads and a haplotype scaffold Androniki Menelaou and Jonathan Marchini published in Bioinformatics October 2012.


Motivation: Given the current costs of next generation, sequencing large studies carry out low-coverage sequencing followed by application of methods that leverage linkage disequilibrium to infer genotypes. We propose a novel method that assumes study samples are sequenced at low-coverage and genotyped on a genome-wide microarray, as in the 1000 Genomes Project (1KGP). We assume polymorphic sites have been detected from the sequencing data and that genotype likelihoods (GLs) are available at these sites. We also assume that the microarray genotypes have been phased to construct a haplotype scaffold. We then phase each polymorphic site using an MCMC algorithm that iteratively updates the unobserved alleles based on the GLs at that site and local haplotype information. We use a multivariate normal model to capture both allele frequency and linkage disequilibrium (LD) information around each site. When sequencing data is available from trios, Mendelian transmission constraints are easily accommodated into the updates. The method is highly parallelizable as it analyses one position at a time.

Results: We illustrate the performance of the method compared to other methods using data from Phase 1 of the 1KGP in terms of genotype accuracy, phasing accuracy and downstream imputation performance. We show that the haplotype panel we infer in African samples, which was based on a trio-phased scaffold, increases downstream imputation accuracy for rare-variants (R2 increases by > 0:05 for minor allele frequency (MAF) < 1%), and this will translate into a boost in power to detect associations. These results highlight the value of incorporating microarray genotypes when calling variants from next generation sequence data. Availability: The method (called MVNcall) is implemented in a C++ program and is available from