Merge branch 'master' of ssh://gsa1/humgen/gsa-scr1/gsa-engineering/git/unstable
This commit is contained in:
commit
d0d2e9eb2a
|
|
@ -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; }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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));
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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")) {
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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");
|
||||||
|
|
|
||||||
|
|
@ -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"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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() {
|
||||||
|
|
|
||||||
|
|
@ -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>();
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue