From 67a776d53c47c8043e0d1d1478b853c93bdb2412 Mon Sep 17 00:00:00 2001 From: ebanks Date: Mon, 25 Oct 2010 20:30:23 +0000 Subject: [PATCH] Yikes! VariantEval was always loading genotypes unnecessarily when no sample list was provided because the order of the checks in the if statement wasn't optimal. This results in a massive performance penalty when running with many-sample VCFs. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4570 348d0f76-0448-11de-a6fe-93d51630548a --- .../sting/gatk/walkers/varianteval/VariantEvalWalker.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java index a100cab59..c7971a6d0 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java @@ -28,7 +28,6 @@ package org.broadinstitute.sting.gatk.walkers.varianteval; import org.apache.log4j.Logger; import org.broad.tribble.util.variantcontext.MutableVariantContext; import org.broad.tribble.util.variantcontext.VariantContext; -import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFConstants; import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -672,7 +671,7 @@ public class VariantEvalWalker extends RodWalker { VariantContext vc = contexts.size() == 1 ? contexts.iterator().next() : null; - if ( vc != null && vc.hasGenotypes(SAMPLES_LIST) && SAMPLES_LIST.size() > 0 ) { + if ( vc != null && SAMPLES_LIST.size() > 0 && vc.hasGenotypes(SAMPLES_LIST) ) { //if ( ! name.equals("eval") ) logger.info(String.format("subsetting VC %s", vc)); vc = vc.subContextFromGenotypes(vc.getGenotypes(SAMPLES_LIST).values()); HashMap newAts = new HashMap(vc.getAttributes());