diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java index 5d2444b8d..a7956ec2d 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java @@ -592,15 +592,27 @@ public class VariantContext implements Feature { // to enable tribble intergrati /** * @return True if this context contains Allele allele, or false otherwise */ - public boolean hasAllele(Allele allele) { - return hasAllele(allele, false); + public boolean hasAllele(final Allele allele) { + return hasAllele(allele, false, getAlleles()); } - public boolean hasAllele(Allele allele, boolean ignoreRefState) { + public boolean hasAllele(final Allele allele, final boolean ignoreRefState) { + return hasAllele(allele, ignoreRefState, getAlleles()); + } + + public boolean hasAlternateAllele(final Allele allele) { + return hasAllele(allele, false, getAlternateAlleles()); + } + + public boolean hasAlternateAllele(final Allele allele, final boolean ignoreRefState) { + return hasAllele(allele, ignoreRefState, getAlternateAlleles()); + } + + private boolean hasAllele(final Allele allele, final boolean ignoreRefState, final List allelesToConsider) { if ( allele == REF || allele == ALT ) // optimization for cached cases return true; - for ( Allele a : getAlleles() ) { + for ( Allele a : allelesToConsider ) { if ( a.equals(allele, ignoreRefState) ) return true; }