Merge branch 'master' of ssh://gsa1/humgen/gsa-scr1/gsa-engineering/git/unstable

This commit is contained in:
Mark DePristo 2011-08-16 10:44:52 -04:00
commit d0d2e9eb2a
15 changed files with 50 additions and 75 deletions

View File

@ -68,7 +68,8 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> implements Tr
protected Set<String> SAMPLE_EXPRESSIONS; protected Set<String> SAMPLE_EXPRESSIONS;
@Argument(shortName="knownName", doc="Name of ROD bindings containing variant sites that should be treated as known when splitting eval rods into known and novel subsets", required=false) @Argument(shortName="knownName", doc="Name of ROD bindings containing variant sites that should be treated as known when splitting eval rods into known and novel subsets", required=false)
protected String[] KNOWN_NAMES = {}; protected HashSet<String> KNOWN_NAMES = new HashSet<String>();
List<RodBinding<VariantContext>> knowns = new ArrayList<RodBinding<VariantContext>>();
// Stratification arguments // Stratification arguments
@Argument(fullName="stratificationModule", shortName="ST", doc="One or more specific stratification modules to apply to the eval track(s) (in addition to the standard stratifications, unless -noS is specified)", required=false) @Argument(fullName="stratificationModule", shortName="ST", doc="One or more specific stratification modules to apply to the eval track(s) (in addition to the standard stratifications, unless -noS is specified)", required=false)
@ -108,9 +109,6 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> implements Tr
// Variables // Variables
private Set<SortableJexlVCMatchExp> jexlExpressions = new TreeSet<SortableJexlVCMatchExp>(); private Set<SortableJexlVCMatchExp> jexlExpressions = new TreeSet<SortableJexlVCMatchExp>();
private Set<String> compNames = new TreeSet<String>();
private Set<String> knownNames = new TreeSet<String>();
private Set<String> evalNames = new TreeSet<String>();
private Set<String> sampleNamesForEvaluation = new TreeSet<String>(); private Set<String> sampleNamesForEvaluation = new TreeSet<String>();
private Set<String> sampleNamesForStratification = new TreeSet<String>(); private Set<String> sampleNamesForStratification = new TreeSet<String>();
@ -149,23 +147,24 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> implements Tr
comps.addAll(compsProvided); comps.addAll(compsProvided);
if ( dbsnp.dbsnp.isBound() ) { if ( dbsnp.dbsnp.isBound() ) {
comps.add(dbsnp.dbsnp); comps.add(dbsnp.dbsnp);
knownNames.add(dbsnp.dbsnp.getName()); knowns.add(dbsnp.dbsnp);
} }
// Add a dummy comp track if none exists // Add a dummy comp track if none exists
if ( comps.size() == 0 ) if ( comps.size() == 0 )
comps.add(new RodBinding<VariantContext>(VariantContext.class, "none", "UNBOUND", "", new Tags())); comps.add(new RodBinding<VariantContext>(VariantContext.class, "none", "UNBOUND", "", new Tags()));
// Cache the rod names // Set up set of additional knowns
for ( RodBinding<VariantContext> compRod : comps ) for ( RodBinding<VariantContext> compRod : comps ) {
compNames.add(compRod.getName()); if ( KNOWN_NAMES.contains(compRod.getName()) )
knowns.add(compRod);
}
// Collect the eval rod names
Set<String> evalNames = new TreeSet<String>();
for ( RodBinding<VariantContext> evalRod : evals ) for ( RodBinding<VariantContext> evalRod : evals )
evalNames.add(evalRod.getName()); evalNames.add(evalRod.getName());
// Set up set of additional known names
knownNames.addAll(Arrays.asList(KNOWN_NAMES));
// Now that we have all the rods categorized, determine the sample list from the eval rods. // Now that we have all the rods categorized, determine the sample list from the eval rods.
Map<String, VCFHeader> vcfRods = VCFUtils.getVCFHeadersFromRods(getToolkit(), evalNames); Map<String, VCFHeader> vcfRods = VCFUtils.getVCFHeadersFromRods(getToolkit(), evalNames);
Set<String> vcfSamples = SampleUtils.getSampleList(vcfRods, VariantContextUtils.GenotypeMergeType.REQUIRE_UNIQUE); Set<String> vcfSamples = SampleUtils.getSampleList(vcfRods, VariantContextUtils.GenotypeMergeType.REQUIRE_UNIQUE);
@ -462,15 +461,15 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> implements Tr
public static String getAllSampleName() { return ALL_SAMPLE_NAME; } public static String getAllSampleName() { return ALL_SAMPLE_NAME; }
public Set<String> getKnownNames() { return knownNames; } public List<RodBinding<VariantContext>> getKnowns() { return knowns; }
public Set<String> getEvalNames() { return evalNames; } public List<RodBinding<VariantContext>> getEvals() { return evals; }
public Set<String> getSampleNamesForEvaluation() { return sampleNamesForEvaluation; } public Set<String> getSampleNamesForEvaluation() { return sampleNamesForEvaluation; }
public Set<String> getSampleNamesForStratification() { return sampleNamesForStratification; } public Set<String> getSampleNamesForStratification() { return sampleNamesForStratification; }
public Set<String> getCompNames() { return compNames; } public List<RodBinding<VariantContext>> getComps() { return comps; }
public Set<SortableJexlVCMatchExp> getJexlExpressions() { return jexlExpressions; } public Set<SortableJexlVCMatchExp> getJexlExpressions() { return jexlExpressions; }

View File

@ -1,23 +1,25 @@
package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.commandline.RodBinding;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.exceptions.UserException; import org.broadinstitute.sting.utils.exceptions.UserException;
import org.broadinstitute.sting.utils.variantcontext.Allele; import org.broadinstitute.sting.utils.variantcontext.Allele;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set; import java.util.List;
public class AlleleCount extends VariantStratifier { public class AlleleCount extends VariantStratifier {
// needs to know the variant context // needs to know the variant context
private ArrayList<String> states = new ArrayList<String>(); private ArrayList<String> states = new ArrayList<String>();
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
List<RodBinding<VariantContext>> evals = getVariantEvalWalker().getEvals();
// we can only work with a single eval VCF, and it must have genotypes // we can only work with a single eval VCF, and it must have genotypes
if ( evalNames.size() != 1 ) if ( evals.size() != 1 )
throw new UserException.BadArgumentValue("AlleleCount", "AlleleCount stratification only works with a single eval vcf"); throw new UserException.BadArgumentValue("AlleleCount", "AlleleCount stratification only works with a single eval vcf");
// There are 2 x n sample chromosomes for diploids // There are 2 x n sample chromosomes for diploids

View File

@ -2,19 +2,17 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.MathUtils; import org.broadinstitute.sting.utils.MathUtils;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class AlleleFrequency extends VariantStratifier { public class AlleleFrequency extends VariantStratifier {
// needs to know the variant context // needs to know the variant context
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
for( double a = 0.000; a <= 1.005; a += 0.005 ) { for( double a = 0.000; a <= 1.005; a += 0.005 ) {
states.add(String.format("%.3f", a)); states.add(String.format("%.3f", a));

View File

@ -1,24 +1,20 @@
package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.commandline.RodBinding;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class CompRod extends VariantStratifier implements RequiredStratification { public class CompRod extends VariantStratifier implements RequiredStratification {
// Needs to know the comp rods
private Set<String> compNames;
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
this.compNames = compNames;
states = new ArrayList<String>(); states = new ArrayList<String>();
states.addAll(compNames); for ( RodBinding<VariantContext> rod : getVariantEvalWalker().getComps() )
states.add(rod.getName());
} }
public ArrayList<String> getAllStates() { public ArrayList<String> getAllStates() {

View File

@ -2,20 +2,18 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class Contig extends VariantStratifier { public class Contig extends VariantStratifier {
// needs to know the variant context // needs to know the variant context
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
states.addAll(contigNames); states.addAll(getVariantEvalWalker().getContigNames());
states.add("all"); states.add("all");
} }

View File

@ -2,11 +2,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
/** /**
* CpG is a stratification module for VariantEval that divides the input data by within/not within a CpG site * CpG is a stratification module for VariantEval that divides the input data by within/not within a CpG site
@ -24,7 +22,7 @@ public class CpG extends VariantStratifier {
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
states.add("all"); states.add("all");
states.add("CpG"); states.add("CpG");
@ -40,7 +38,7 @@ public class CpG extends VariantStratifier {
if (ref != null && ref.getBases() != null) { if (ref != null && ref.getBases() != null) {
String fwRefBases = new String(ref.getBases()); String fwRefBases = new String(ref.getBases());
String leftFlank = fwRefBases.substring((fwRefBases.length()/2) - 1, (fwRefBases.length()/2) + 1); //String leftFlank = fwRefBases.substring((fwRefBases.length()/2) - 1, (fwRefBases.length()/2) + 1);
String rightFlank = fwRefBases.substring((fwRefBases.length()/2), (fwRefBases.length()/2) + 2); String rightFlank = fwRefBases.substring((fwRefBases.length()/2), (fwRefBases.length()/2) + 2);
//if (leftFlank.equalsIgnoreCase("CG") || leftFlank.equalsIgnoreCase("GC") || rightFlank.equalsIgnoreCase("CG") || rightFlank.equalsIgnoreCase("GC")) { //if (leftFlank.equalsIgnoreCase("CG") || leftFlank.equalsIgnoreCase("GC") || rightFlank.equalsIgnoreCase("CG") || rightFlank.equalsIgnoreCase("GC")) {

View File

@ -2,13 +2,11 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set;
public class Degeneracy extends VariantStratifier { public class Degeneracy extends VariantStratifier {
private ArrayList<String> states; private ArrayList<String> states;
@ -16,7 +14,7 @@ public class Degeneracy extends VariantStratifier {
private HashMap<String, HashMap<Integer, String>> degeneracies; private HashMap<String, HashMap<Integer, String>> degeneracies;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
states.add("1-fold"); states.add("1-fold");
states.add("2-fold"); states.add("2-fold");

View File

@ -1,24 +1,20 @@
package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.commandline.RodBinding;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class EvalRod extends VariantStratifier implements RequiredStratification { public class EvalRod extends VariantStratifier implements RequiredStratification {
// needs to know the eval rods
private Set<String> evalNames;
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
this.evalNames = evalNames;
states = new ArrayList<String>(); states = new ArrayList<String>();
states.addAll(evalNames); for ( RodBinding<VariantContext> rod : getVariantEvalWalker().getEvals() )
states.add(rod.getName());
} }
public ArrayList<String> getAllStates() { public ArrayList<String> getAllStates() {

View File

@ -2,18 +2,16 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class Filter extends VariantStratifier { public class Filter extends VariantStratifier {
// needs to know the variant context // needs to know the variant context
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
states.add("called"); states.add("called");
states.add("filtered"); states.add("filtered");

View File

@ -2,18 +2,16 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class FunctionalClass extends VariantStratifier { public class FunctionalClass extends VariantStratifier {
// needs to know the variant context // needs to know the variant context
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
states = new ArrayList<String>(); states = new ArrayList<String>();
states.add("all"); states.add("all");
states.add("silent"); states.add("silent");

View File

@ -15,8 +15,8 @@ public class JexlExpression extends VariantStratifier implements StandardStratif
private ArrayList<String> states; private ArrayList<String> states;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
this.jexlExpressions = jexlExpressions; jexlExpressions = getVariantEvalWalker().getJexlExpressions();
states = new ArrayList<String>(); states = new ArrayList<String>();
states.add("none"); states.add("none");

View File

@ -1,21 +1,21 @@
package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications; package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.commandline.RodBinding;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.*; import java.util.*;
public class Novelty extends VariantStratifier implements StandardStratification { public class Novelty extends VariantStratifier implements StandardStratification {
// needs the variant contexts and known names // needs the variant contexts and known names
private Set<String> knownNames; private List<RodBinding<VariantContext>> knowns;
final private ArrayList<String> states = new ArrayList<String>(Arrays.asList("all", "known", "novel")); final private ArrayList<String> states = new ArrayList<String>(Arrays.asList("all", "known", "novel"));
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
this.knownNames = knownNames; knowns = getVariantEvalWalker().getKnowns();
} }
public ArrayList<String> getAllStates() { public ArrayList<String> getAllStates() {
@ -24,13 +24,11 @@ public class Novelty extends VariantStratifier implements StandardStratification
public ArrayList<String> getRelevantStates(ReferenceContext ref, RefMetaDataTracker tracker, VariantContext comp, String compName, VariantContext eval, String evalName, String sampleName) { public ArrayList<String> getRelevantStates(ReferenceContext ref, RefMetaDataTracker tracker, VariantContext comp, String compName, VariantContext eval, String evalName, String sampleName) {
if (tracker != null && eval != null) { if (tracker != null && eval != null) {
for (final String knownName : knownNames) { final Collection<VariantContext> knownComps = tracker.getValues(knowns, ref.getLocus());
final Collection<VariantContext> knownComps = tracker.getValues(VariantContext.class, knownName, ref.getLocus()); for ( final VariantContext c : knownComps ) {
for ( final VariantContext c : knownComps ) { // loop over sites, looking for something that matches the type eval
// loop over sites, looking for something that matches the type eval if ( eval.getType() == c.getType() ) {
if ( eval.getType() == c.getType() ) { return new ArrayList<String>(Arrays.asList("all", "known"));
return new ArrayList<String>(Arrays.asList("all", "known"));
}
} }
} }
} }

View File

@ -2,20 +2,18 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public class Sample extends VariantStratifier { public class Sample extends VariantStratifier {
// needs the sample names // needs the sample names
private ArrayList<String> samples; private ArrayList<String> samples;
@Override @Override
public void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames) { public void initialize() {
samples = new ArrayList<String>(); samples = new ArrayList<String>();
samples.addAll(sampleNames); samples.addAll(getVariantEvalWalker().getSampleNamesForStratification());
} }
public ArrayList<String> getAllStates() { public ArrayList<String> getAllStates() {

View File

@ -3,11 +3,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval.stratifications;
import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker; import org.broadinstitute.sting.gatk.walkers.varianteval.VariantEvalWalker;
import org.broadinstitute.sting.gatk.walkers.varianteval.util.SortableJexlVCMatchExp;
import org.broadinstitute.sting.utils.variantcontext.VariantContext; import org.broadinstitute.sting.utils.variantcontext.VariantContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set;
public abstract class VariantStratifier implements Comparable { public abstract class VariantStratifier implements Comparable {
private VariantEvalWalker variantEvalWalker; private VariantEvalWalker variantEvalWalker;
@ -27,7 +25,7 @@ public abstract class VariantStratifier implements Comparable {
this.variantEvalWalker = variantEvalWalker; this.variantEvalWalker = variantEvalWalker;
} }
public abstract void initialize(Set<SortableJexlVCMatchExp> jexlExpressions, Set<String> compNames, Set<String> knownNames, Set<String> evalNames, Set<String> sampleNames, Set<String> contigNames); public abstract void initialize();
public ArrayList<String> getAllStates() { public ArrayList<String> getAllStates() {
return new ArrayList<String>(); return new ArrayList<String>();

View File

@ -103,7 +103,7 @@ public class VariantEvalUtils {
try { try {
VariantStratifier vs = c.newInstance(); VariantStratifier vs = c.newInstance();
vs.setVariantEvalWalker(variantEvalWalker); vs.setVariantEvalWalker(variantEvalWalker);
vs.initialize(variantEvalWalker.getJexlExpressions(), variantEvalWalker.getCompNames(), variantEvalWalker.getKnownNames(), variantEvalWalker.getEvalNames(), variantEvalWalker.getSampleNamesForStratification(), variantEvalWalker.getContigNames()); vs.initialize();
strats.add(vs); strats.add(vs);
} catch (InstantiationException e) { } catch (InstantiationException e) {