Fixing known/novel calc now that dbsnp isn't a default comp track

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3223 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
ebanks 2010-04-21 05:43:59 +00:00
parent 114819d980
commit 4abd3b0b7b
2 changed files with 11 additions and 9 deletions

View File

@ -116,6 +116,7 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> {
@Argument(shortName="known", 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 = {rodDbSNP.STANDARD_DBSNP_TRACK_NAME};
private Set<String> uniqueKnownNames = new HashSet<String>();
@Argument(shortName="sample", doc="Derive eval and comp contexts using only these sample genotypes, when genotypes are available in the original context", required=false)
protected String[] SAMPLES = {};
@ -260,13 +261,13 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> {
for ( ReferenceOrderedDataSource d : this.getToolkit().getRodDataSources() ) {
if ( d.getName().startsWith("eval") ) {
evalNames.add(d.getName());
} else if ( d.getName().startsWith(rodDbSNP.STANDARD_DBSNP_TRACK_NAME) ) {
} else if ( d.getName().startsWith("comp") ) {
compNames.add(d.getName());
} else if ( d.getName().startsWith(rodDbSNP.STANDARD_DBSNP_TRACK_NAME) || d.getName().startsWith("hapmap") ) {
// it feels like overkill (i.e. too much output) to include the dbsnp track as
// truth given that it's also used in the known/novel stratification. If this
// becomes useful for some reason, uncomment this line...
//compNames.add(d.getName());
} else if ( d.getName().startsWith("hapmap") || d.getName().startsWith("comp") ) {
compNames.add(d.getName());
uniqueKnownNames.add(d.getName());
} else {
logger.info("Not evaluating ROD binding " + d.getName());
}
@ -571,6 +572,7 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> {
if ( tracker != null ) {
bindVariantContexts(bindings, evalNames, tracker, context, false);
bindVariantContexts(bindings, compNames, tracker, context, true);
bindVariantContexts(bindings, uniqueKnownNames, tracker, context, true);
}
return bindings;
}

View File

@ -18,8 +18,8 @@ public class VariantEvalIntegrationTest extends WalkerTest {
@Test
public void testVESimple() {
HashMap<String, String> expectations = new HashMap<String, String>();
expectations.put("-L 1:1-10,000,000", "f44a2c9057a78349e1d3ccec327d3343");
expectations.put("-L 1:1-10,000,000 -family NA19238+NA19239=NA19240 -MVQ 0", "e8c5107015e5926aa647e274cb58bff6");
expectations.put("-L 1:1-10,000,000", "5ea9dd109c45c47243f40af759b36d09");
expectations.put("-L 1:1-10,000,000 -family NA19238+NA19239=NA19240 -MVQ 0", "8b126d445eaec0263d2af6fbfea5ad8b");
for ( Map.Entry<String, String> entry : expectations.entrySet() ) {
String extraArgs = entry.getKey();
@ -39,8 +39,8 @@ public class VariantEvalIntegrationTest extends WalkerTest {
" -B dbsnp_130,dbSNP," + GATKDataLocation + "dbsnp_130_b36.rod" +
" -B comp_hapmap,VCF," + validationDataLocation + "CEU_hapmap_nogt_23.vcf";
expectations.put("", "49a723e6e77a45a4fb0a46890d66806b");
expectations.put(" -known comp_hapmap -known dbsnp", "11e2a3ae77b3ce4b659baa832388f920");
expectations.put("", "1bc8126366117045bb08872e098502af");
expectations.put(" -known comp_hapmap -known dbsnp", "1bc8126366117045bb08872e098502af");
expectations.put(" -known comp_hapmap", "11e2a3ae77b3ce4b659baa832388f920");
for ( Map.Entry<String, String> entry : expectations.entrySet() ) {
@ -59,7 +59,7 @@ public class VariantEvalIntegrationTest extends WalkerTest {
String extraArgs = "-L 1:1-10,000,000 -family NA19238+NA19239=NA19240 -MVQ 30";
WalkerTestSpec spec = new WalkerTestSpec( root + " " + extraArgs + " -o %s -outputVCF %s",
2,
Arrays.asList("d8b14bc334a8c4f3cd5462839f5a3ef2", "a3ce1d70d8ae3874807e9d61994d42af"));
Arrays.asList("cd4813cc4bcce0f8f81d42bcde11f7ce", "a3ce1d70d8ae3874807e9d61994d42af"));
executeTest("testVEWriteVCF", spec);
}
}