From 6e1a86bc3eb2a6031a0c40d83a9979c2f9fde97b Mon Sep 17 00:00:00 2001 From: Mark DePristo Date: Tue, 15 Nov 2011 09:21:30 -0500 Subject: [PATCH] Bug fixes to VariantContext and GenotypeCollection --- .../sting/utils/variantcontext/GenotypeCollection.java | 4 ++-- .../sting/utils/variantcontext/VariantContext.java | 7 +++++-- .../utils/variantcontext/VariantContextUtilsUnitTest.java | 6 ++---- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeCollection.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeCollection.java index f12a8e531..260543031 100644 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeCollection.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/GenotypeCollection.java @@ -74,7 +74,7 @@ public class GenotypeCollection implements List { // todo -- create constructor (Genotype ... genotypes) public static final GenotypeCollection create(final ArrayList genotypes) { - return new GenotypeCollection(genotypes, false); + return genotypes == null ? NO_GENOTYPES : new GenotypeCollection(genotypes, false); } public static final GenotypeCollection create(final Genotype... genotypes) { @@ -86,7 +86,7 @@ public class GenotypeCollection implements List { } public static final GenotypeCollection copy(final Collection toCopy) { - return create(new ArrayList(toCopy)); + return toCopy == null ? NO_GENOTYPES : create(new ArrayList(toCopy)); } // public static final GenotypeMap create(final Collection genotypes) { diff --git a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java index b394517bf..06efd22d3 100755 --- a/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java +++ b/public/java/src/org/broadinstitute/sting/utils/variantcontext/VariantContext.java @@ -360,8 +360,11 @@ public class VariantContext implements Feature { // to enable tribble intergrati // we need to make this a LinkedHashSet in case the user prefers a given ordering of alleles this.alleles = makeAlleles(alleles); - if ( genotypes == null ) { genotypes = NO_GENOTYPES; } - this.genotypes = genotypes; + if ( genotypes == null ) { + genotypes = NO_GENOTYPES; + } else { + this.genotypes = genotypes.immutable(); + } // cache the REF and ALT alleles int nAlleles = alleles.size(); diff --git a/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextUtilsUnitTest.java b/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextUtilsUnitTest.java index b21a32174..8aded831a 100644 --- a/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextUtilsUnitTest.java +++ b/public/java/test/org/broadinstitute/sting/utils/variantcontext/VariantContextUtilsUnitTest.java @@ -249,16 +249,14 @@ public class VariantContextUtilsUnitTest extends BaseTest { final List inputs = new ArrayList(); for ( final String id : cfg.inputs ) { - if ( id.equals(".") ) - snpVC1 = VariantContext.modifyID(snpVC1, id); - inputs.add(snpVC1); + inputs.add(VariantContext.modifyID(snpVC1, id)); } final VariantContext merged = VariantContextUtils.simpleMerge(genomeLocParser, inputs, null, VariantContextUtils.FilteredRecordMergeType.KEEP_IF_ANY_UNFILTERED, VariantContextUtils.GenotypeMergeType.UNSORTED, false, false, "set", false, false); - Assert.assertEquals(merged.getID(), cfg.expected.equals(".") ? null : cfg.expected); + Assert.assertEquals(merged.getID(), cfg.expected); } // --------------------------------------------------------------------------------