A computer-implemented method of determining the alleles present at a locus comprising: a) receiving sequence data of a subject at a computer system, the sequence data comprising a plurality of sequencing reads; b) mapping, by the computer system, the plurality of sequencing reads to a reference sequence comprising a genome sequence and a plurality of allele sequences of the locus to identify pairs of candidate alleles; c) identifying, by the computer system, a pair of candidate alleles with the greatest likelihood of accounting for the sequencing reads that map to the locus as the alleles present at the locus, wherein the pair of candidate alleles with the greatest likelihood of accounting for the sequencing reads is determined by: i. for each pair of candidate alleles, determining genotype log-likelihood scores for each individual SNP in the locus, each genotype log-likelihood score being the sum of the log-probabilities for each individual SNP in the locus that the pair of candidate alleles could account the sequences present at the individual SNP in the sequencing reads that map to the SNP; ii. for each pair of candidate alleles, determining phase log-likelihood scores for each sequential pair of SNPs in the locus, each phase log-likelihood score being the sum of the log-probabilities for each sequential pair of SNPs in the locus that the pair of candidate alleles could account for the sequences present at the sequential pair of SNPs in the sequencing reads that map to the sequential pair of SNPs; wherein the pair of candidate alleles for which the sum of the genotype log-likelihood scores and the phase log-likelihood scores is highest is the pair of candidate alleles with the greatest likelihood of accounting for the sequencing reads. a) receiving sequence data of a subject at a computer system, the sequence data comprising a plurality of sequencing reads; b) mapping, by the computer system, the plurality of sequencing reads to a reference sequence comprising a genome sequence and a plurality of allele sequences of the locus to identify pairs of candidate alleles; c) identifying, by the computer system, a pair of candidate alleles with the greatest likelihood of accounting for the sequencing reads that map to the locus as the alleles present at the locus, wherein the pair of candidate alleles with the greatest likelihood of accounting for the sequencing reads is determined by: i. for each pair of candidate alleles, determining genotype log-likelihood scores for each individual SNP in the locus, each genotype log-likelihood score being the sum of the log-probabilities for each individual SNP in the locus that the pair of candidate alleles could account the sequences present at the individual SNP in the sequencing reads that map to the SNP; ii. for each pair of candidate alleles, determining phase log-likelihood scores for each sequential pair of SNPs in the locus, each phase log-likelihood score being the sum of the log-probabilities for each sequential pair of SNPs in the locus that the pair of candidate alleles could account for the sequences present at the sequential pair of SNPs in the sequencing reads that map to the sequential pair of SNPs; i. for each pair of candidate alleles, determining genotype log-likelihood scores for each individual SNP in the locus, each genotype log-likelihood score being the sum of the log-probabilities for each individual SNP in the locus that the pair of candidate alleles could account the sequences present at the individual SNP in the sequencing reads that map to the SNP; ii. for each pair of candidate alleles, determining phase log-likelihood scores for each sequential pair of SNPs in the locus, each phase log-likelihood score being the sum of the log-probabilities for each sequential pair of SNPs in the locus that the pair of candidate alleles could account for the sequences present at the sequential pair of SNPs in the sequencing reads that map to the sequential pair of SNPs;