From 9f7ebe1e1c420a697cd56a10758ce4e8700e4c82 Mon Sep 17 00:00:00 2001 From: ebanks Date: Fri, 5 Mar 2010 01:43:01 +0000 Subject: [PATCH] - add name to vcf od field - don't do HW calculation if everything is a no-call git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2936 348d0f76-0448-11de-a6fe-93d51630548a --- .../contexts/variantcontext/VariantContextUtils.java | 2 ++ .../gatk/walkers/variantstovcf/PlinkToVCF.java | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/contexts/variantcontext/VariantContextUtils.java b/java/src/org/broadinstitute/sting/gatk/contexts/variantcontext/VariantContextUtils.java index e3abd7547..881ebabae 100755 --- a/java/src/org/broadinstitute/sting/gatk/contexts/variantcontext/VariantContextUtils.java +++ b/java/src/org/broadinstitute/sting/gatk/contexts/variantcontext/VariantContextUtils.java @@ -249,6 +249,8 @@ public class VariantContextUtils { public static double computeHardyWeinbergPvalue(VariantContext vc) { + if ( vc.getChromosomeCount() == 0 ) + return 0.0; return HardyWeinbergCalculation.hwCalculate(vc.getHomRefCount(), vc.getHetCount(), vc.getHomVarCount()); } diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantstovcf/PlinkToVCF.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantstovcf/PlinkToVCF.java index df971cced..f94cd3c00 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantstovcf/PlinkToVCF.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/variantstovcf/PlinkToVCF.java @@ -158,12 +158,12 @@ public class PlinkToVCF extends RodWalker { double hetProp = (double)vContext.getHetCount() / (double)vContext.getNSamples(); double homVarProp = (double)vContext.getHomVarCount() / (double)vContext.getNSamples(); - if ( hwScore > maxHardy ) { - record.setFilterString("HardyWeinbergViolation"); - numHWViolations++; - } else if ( noCallProp > maxNoCall ) { + if ( noCallProp > maxNoCall ) { record.setFilterString("HighNoCallRate"); numNoCallViolations++; + } else if ( hwScore > maxHardy ) { + record.setFilterString("HardyWeinbergViolation"); + numHWViolations++; } else if ( homVarProp > maxHomNonref) { record.setFilterString("TooManyHomVars"); numHomVarViolations++; @@ -183,6 +183,9 @@ public class PlinkToVCF extends RodWalker { infoMap.put(VCFRecord.ALLELE_NUMBER_KEY, String.format("%d", vContext.getChromosomeCount())); record.addInfoFields(infoMap); + // add the id + record.setID(plinkRod.getVariantName()); + return record; }