A variant calling algorithm that uses a hierarchical Bayesian model to estimate allele frequency and call variants in heterogeneous samples. RVD2 improves upon current classifiers and has higher sensitivity and specificity over a wide range of median read depth and minor allele frequency.