From 74ad0081630ab7b58bb3e97d77d853fd0da2e388 Mon Sep 17 00:00:00 2001 From: Eric Banks Date: Tue, 24 Apr 2012 11:07:46 -0400 Subject: [PATCH] Adding VariantContext.hasAlternateAllele functionality --- .../utils/variantcontext/VariantContext.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) 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; }