Bug fixes to VariantContext and GenotypeCollection

This commit is contained in:
Mark DePristo 2011-11-15 09:21:30 -05:00
parent 4ff8225d78
commit 6e1a86bc3e
3 changed files with 9 additions and 8 deletions

View File

@ -74,7 +74,7 @@ public class GenotypeCollection implements List<Genotype> {
// todo -- create constructor (Genotype ... genotypes)
public static final GenotypeCollection create(final ArrayList<Genotype> 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<Genotype> {
}
public static final GenotypeCollection copy(final Collection<Genotype> toCopy) {
return create(new ArrayList<Genotype>(toCopy));
return toCopy == null ? NO_GENOTYPES : create(new ArrayList<Genotype>(toCopy));
}
// public static final GenotypeMap create(final Collection<Genotype> genotypes) {

View File

@ -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();

View File

@ -249,16 +249,14 @@ public class VariantContextUtilsUnitTest extends BaseTest {
final List<VariantContext> inputs = new ArrayList<VariantContext>();
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);
}
// --------------------------------------------------------------------------------