From b83fdf8a1704c82488816cb80b643cbfd5a603ac Mon Sep 17 00:00:00 2001 From: rpoplin Date: Fri, 1 Oct 2010 13:09:46 +0000 Subject: [PATCH] Bug fix in AnalyzeAnnotations. Be sure the site is a biallelic, unfiltered SNP. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4400 348d0f76-0448-11de-a6fe-93d51630548a --- .../AnalyzeAnnotationsWalker.java | 19 ++++++++++++------- .../AnnotationDataManager.java | 10 ++++------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnalyzeAnnotationsWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnalyzeAnnotationsWalker.java index 4385e719f..3f2f81c68 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnalyzeAnnotationsWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnalyzeAnnotationsWalker.java @@ -107,18 +107,23 @@ public class AnalyzeAnnotationsWalker extends RodWalker { boolean isInTruthSet = false; boolean isTrueVariant = false; for ( VariantContext vc : VCs ) { - if( vc.getName().toUpperCase().startsWith("TRUTH") ) { - isInTruthSet = true; - if (vc.isVariant()) - isTrueVariant = true; + if( vc != null && vc.isSNP() && !vc.isFiltered() ) { + if( vc.getName().toUpperCase().startsWith("TRUTH") ) { + isInTruthSet = true; + if( vc.isBiallelic() && vc.isVariant() ) { + isTrueVariant = true; + } + } } } // Add each annotation in this VCF Record to the dataManager for ( VariantContext vc : VCs ) { - if( !vc.getName().toUpperCase().startsWith("TRUTH") ) { - if( vc.isVariant() ) { - dataManager.addAnnotations( vc, SAMPLE_NAME, isInTruthSet, isTrueVariant ); + if( vc != null && vc.isSNP() && vc.isBiallelic() && !vc.isFiltered() ) { + if( !vc.getName().toUpperCase().startsWith("TRUTH") ) { + if( vc.isVariant() ) { + dataManager.addAnnotations( vc, SAMPLE_NAME, isInTruthSet, isTrueVariant ); + } } } } diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnnotationDataManager.java b/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnnotationDataManager.java index 8a2c54a9f..7513854a5 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnnotationDataManager.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/analyzeannotations/AnnotationDataManager.java @@ -89,12 +89,10 @@ public class AnnotationDataManager { final boolean isNovelVariant = !infoField.get(VariantContext.ID_KEY).toString().contains("rs"); // Decide if the variant is a transition or transversion - if ( vc.isSNP() ) { - if( VariantContextUtils.getSNPSubstitutionType(vc).compareTo(BaseUtils.BaseSubstitutionType.TRANSITION) == 0 ) { - datum.incrementTi( isNovelVariant, isInTruthSet, isTrueVariant ); - } else { - datum.incrementTv( isNovelVariant, isInTruthSet, isTrueVariant ); - } + if( VariantContextUtils.getSNPSubstitutionType(vc).compareTo(BaseUtils.BaseSubstitutionType.TRANSITION) == 0 ) { + datum.incrementTi( isNovelVariant, isInTruthSet, isTrueVariant ); + } else { + datum.incrementTv( isNovelVariant, isInTruthSet, isTrueVariant ); } } }