From 5ad9a98a15f489c0640eeaa0c76608663258d564 Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Sat, 30 Jun 2012 11:22:27 -0400 Subject: [PATCH] Minor bugfixes / consistency fixes to filter strings of Genotypes and AC/AF annotations -- GenotypeBuilder now sorts the list of filter strings so that the output is in a consistent order -- calculateChromosomeCounts removes the AC/AF fields entirely when there are no alt alleles, to be on VCF spec for A defined info field values --- .../sting/utils/variantcontext/GenotypeBuilder.java | 2 +- .../sting/utils/variantcontext/VariantContextUtils.java | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeBuilder.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeBuilder.java index 81d714294..e3bef6bc5 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeBuilder.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeBuilder.java @@ -382,7 +382,7 @@ public final class GenotypeBuilder { else if ( filters.size() == 1 ) return filter(filters.get(0)); else - return filter(ParsingUtils.join(";", filters)); + return filter(ParsingUtils.join(";", ParsingUtils.sortList(filters))); } /** diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java index f1bebaa30..843838972 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContextUtils.java @@ -147,6 +147,10 @@ public class VariantContextUtils { attributes.put(VCFConstants.ALLELE_COUNT_KEY, alleleCounts.size() == 1 ? alleleCounts.get(0) : alleleCounts); attributes.put(VCFConstants.ALLELE_FREQUENCY_KEY, alleleFreqs.size() == 1 ? alleleFreqs.get(0) : alleleFreqs); + } else { + // if there's no alt AC and AF shouldn't be present + attributes.remove(VCFConstants.ALLELE_COUNT_KEY); + attributes.remove(VCFConstants.ALLELE_FREQUENCY_KEY); } }