From bef48e7a42a5228d18d7161683ee610822156b71 Mon Sep 17 00:00:00 2001 From: ebanks Date: Sun, 5 Dec 2010 02:23:38 +0000 Subject: [PATCH] For Chris, to make his life easier: iterate over all VCF records passed in looking for one with an ALT allele defined instead of assuming all records have one. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4789 348d0f76-0448-11de-a6fe-93d51630548a --- .../walkers/genotyper/UGCallVariants.java | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java index f8f6b5c72..294e31f0b 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UGCallVariants.java @@ -95,7 +95,6 @@ public class UGCallVariants extends RodWalker { if ( tracker == null ) return null; - List VCs = new ArrayList(); for ( String name : trackNames ) { Collection vc = tracker.getVariantContexts(ref, name, null, context.getLocation(), true, true); @@ -135,11 +134,19 @@ public class UGCallVariants extends RodWalker { if ( VCs.size() == 0 ) return null; - VariantContext vc = VCs.get(0); - Map genotypes = new HashMap(getGenotypesWithGLs(vc.getGenotypes())); - for (int i = 1; i < VCs.size(); i++) - genotypes.putAll(getGenotypesWithGLs(VCs.get(i).getGenotypes())); - return new VariantContext("VCwithGLs", vc.getChr(), vc.getStart(), vc.getEnd(), vc.getAlleles(), genotypes, VariantContext.NO_NEG_LOG_10PERROR, null, null); + VariantContext variantVC = null; + Map genotypes = new HashMap(); + for ( VariantContext vc : VCs ) { + if ( variantVC == null && vc.isVariant() ) + variantVC = vc; + genotypes.putAll(getGenotypesWithGLs(vc.getGenotypes())); + } + + if ( variantVC == null ) { + VariantContext vc = VCs.get(0); + throw new UserException("There is no ALT allele in any of the VCF records passed in at " + vc.getChr() + ":" + vc.getStart()); + } + return new VariantContext("VCwithGLs", variantVC.getChr(), variantVC.getStart(), variantVC.getEnd(), variantVC.getAlleles(), genotypes, VariantContext.NO_NEG_LOG_10PERROR, null, null); } private static Map getGenotypesWithGLs(Map genotypes) {