Empty unit tests for VariantContextUtils
-- will be expanded over the day
This commit is contained in:
parent
3fdee2b9ed
commit
a05c959e5a
|
|
@ -25,15 +25,32 @@ public class Genotype {
|
||||||
protected boolean isPhased = false;
|
protected boolean isPhased = false;
|
||||||
protected boolean filtersWereAppliedToContext;
|
protected boolean filtersWereAppliedToContext;
|
||||||
|
|
||||||
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError, Set<String> filters, Map<String, ?> attributes, boolean isPhased) {
|
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError, Set<String> filters, Map<String, ? super Object> attributes, boolean isPhased) {
|
||||||
|
this(sampleName, alleles, negLog10PError, filters, attributes, isPhased, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError, Set<String> filters, Map<String, ? super Object> attributes, boolean isPhased, double[] log10Likelihoods) {
|
||||||
if ( alleles != null )
|
if ( alleles != null )
|
||||||
this.alleles = Collections.unmodifiableList(alleles);
|
this.alleles = Collections.unmodifiableList(alleles);
|
||||||
|
if ( log10Likelihoods != null )
|
||||||
|
attributes.put(VCFConstants.PHRED_GENOTYPE_LIKELIHOODS_KEY, GenotypeLikelihoods.fromLog10Likelihoods(log10Likelihoods));
|
||||||
commonInfo = new InferredGeneticContext(sampleName, negLog10PError, filters, attributes);
|
commonInfo = new InferredGeneticContext(sampleName, negLog10PError, filters, attributes);
|
||||||
filtersWereAppliedToContext = filters != null;
|
filtersWereAppliedToContext = filters != null;
|
||||||
this.isPhased = isPhased;
|
this.isPhased = isPhased;
|
||||||
validate();
|
validate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new Genotype for sampleName with genotype according to alleles.
|
||||||
|
* @param sampleName
|
||||||
|
* @param alleles
|
||||||
|
* @param negLog10PError the confidence in these alleles
|
||||||
|
* @param log10Likelihoods a log10 likelihoods for each of the genotype combinations possible for alleles, in the standard VCF ordering, or null if not known
|
||||||
|
*/
|
||||||
|
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError, double[] log10Likelihoods) {
|
||||||
|
this(sampleName, alleles, negLog10PError, null, null, false, log10Likelihoods);
|
||||||
|
}
|
||||||
|
|
||||||
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError) {
|
public Genotype(String sampleName, List<Allele> alleles, double negLog10PError) {
|
||||||
this(sampleName, alleles, negLog10PError, null, null, false);
|
this(sampleName, alleles, negLog10PError, null, null, false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ package org.broadinstitute.sting.utils.variantcontext;
|
||||||
// the imports for unit testing.
|
// the imports for unit testing.
|
||||||
|
|
||||||
|
|
||||||
|
import org.broadinstitute.sting.BaseTest;
|
||||||
import org.testng.Assert;
|
import org.testng.Assert;
|
||||||
import org.testng.annotations.BeforeSuite;
|
import org.testng.annotations.BeforeSuite;
|
||||||
import org.testng.annotations.BeforeTest;
|
import org.testng.annotations.BeforeTest;
|
||||||
|
|
@ -14,10 +15,7 @@ import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
public class VariantContextUnitTest extends BaseTest {
|
||||||
* Basic unit test for RecalData
|
|
||||||
*/
|
|
||||||
public class VariantContextUnitTest {
|
|
||||||
Allele A, Aref, T, Tref;
|
Allele A, Aref, T, Tref;
|
||||||
Allele del, delRef, ATC, ATCref;
|
Allele del, delRef, ATC, ATCref;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,84 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2011, The Broad Institute
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person
|
||||||
|
* obtaining a copy of this software and associated documentation
|
||||||
|
* files (the "Software"), to deal in the Software without
|
||||||
|
* restriction, including without limitation the rights to use,
|
||||||
|
* copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
* copies of the Software, and to permit persons to whom the
|
||||||
|
* Software is furnished to do so, subject to the following
|
||||||
|
* conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be
|
||||||
|
* included in all copies or substantial portions of the Software.
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// our package
|
||||||
|
package org.broadinstitute.sting.utils.variantcontext;
|
||||||
|
|
||||||
|
|
||||||
|
// the imports for unit testing.
|
||||||
|
|
||||||
|
|
||||||
|
import net.sf.picard.reference.IndexedFastaSequenceFile;
|
||||||
|
import org.broadinstitute.sting.BaseTest;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.tracks.FeatureManager;
|
||||||
|
import org.broadinstitute.sting.utils.GenomeLocParser;
|
||||||
|
import org.broadinstitute.sting.utils.codecs.vcf.VCFConstants;
|
||||||
|
import org.broadinstitute.sting.utils.exceptions.UserException;
|
||||||
|
import org.broadinstitute.sting.utils.fasta.CachingIndexedFastaSequenceFile;
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.BeforeSuite;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
|
public class VariantContextUtilsUnitTest extends BaseTest {
|
||||||
|
Allele Aref, T, delRef, ATC;
|
||||||
|
Genotype snp1, snp2, indel1;
|
||||||
|
private GenomeLocParser genomeLocParser;
|
||||||
|
|
||||||
|
@BeforeSuite
|
||||||
|
public void setup() {
|
||||||
|
final File referenceFile = new File(b37KGReference);
|
||||||
|
try {
|
||||||
|
IndexedFastaSequenceFile seq = new CachingIndexedFastaSequenceFile(referenceFile);
|
||||||
|
genomeLocParser = new GenomeLocParser(seq);
|
||||||
|
}
|
||||||
|
catch(FileNotFoundException ex) {
|
||||||
|
throw new UserException.CouldNotReadInputFile(referenceFile,ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
// alleles
|
||||||
|
Aref = Allele.create("A", true);
|
||||||
|
delRef = Allele.create("-", true);
|
||||||
|
T = Allele.create("T");
|
||||||
|
ATC = Allele.create("ATC");
|
||||||
|
|
||||||
|
snp1 = new Genotype("snp1", Arrays.asList(Aref,T), 10, new double[]{10, 0, 20});
|
||||||
|
snp2 = new Genotype("snp2", Arrays.asList(T,T), 15, new double[]{25, 15, 0});
|
||||||
|
indel1 = new Genotype("indel1", Arrays.asList(delRef,ATC), 20, new double[]{20, 0, 30});
|
||||||
|
}
|
||||||
|
|
||||||
|
private VariantContext makeVC(String source, List<Allele> alleles) {
|
||||||
|
return makeVC(source, alleles, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
private VariantContext makeVC(String source, List<Allele> alleles, Collection<Genotype> genotypes, Set<String> filters) {
|
||||||
|
int start = 10;
|
||||||
|
int stop = alleles.contains(ATC) ? start + 3 : start;
|
||||||
|
return new VariantContext(source, "1", start, stop, alleles, genotypes, 1.0, filters, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue