Added option to print out discordant sites in GenotypeConcordance

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4006 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
flannick 2010-08-10 19:55:19 +00:00
parent 18fc5c8c3e
commit cd4cd6db81
2 changed files with 25 additions and 1 deletions

View File

@ -62,6 +62,8 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva
private static final int MAX_MISSED_VALIDATION_DATA = 100;
private boolean discordantInteresting = false;
private VariantEvalWalker.EvaluationContext group = null;
static class FrequencyStats implements TableType {
@ -214,6 +216,7 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva
public GenotypeConcordance(VariantEvalWalker parent) {
super(parent);
discordantInteresting = parent.DISCORDANT_INTERESTING;
}
public String getName() {
@ -295,6 +298,10 @@ public class GenotypeConcordance extends VariantEvaluator implements StandardEva
} else {
truth = validation.getGenotype(sample).getType();
// interesting = "ConcordanceStatus=FP";
if (discordantInteresting && truth.ordinal() != called.ordinal())
{
interesting = "ConcordanceStatus=" + truth.ordinal() + "/" + called.ordinal();
}
}
sampleStats.incrValue(sample, truth, called);

View File

@ -195,6 +195,9 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> {
@Argument(shortName="aatUseCodons", fullName="aminoAcidsRepresentedByCodons", doc="for the amino acid table, specifiy that the transitions are represented as codon changes, and not directly amino acid names", required = false)
protected boolean aatUseCodons = false;
@Argument(shortName="disI", fullName="discordantInteresting", doc="If passed, write discordant sites as interesting", required=false)
protected boolean DISCORDANT_INTERESTING = false;
@Argument(fullName="tranchesFile", shortName="tf", doc="The input tranches file describing where to cut the data", required=false)
private String TRANCHE_FILENAME = null;
@ -530,7 +533,21 @@ public class VariantEvalWalker extends RodWalker<Integer, Integer> {
comp.hasNegLog10PError() &&
comp.getNegLog10PError() < (minCompQualScore / 10.0) )
comp = null;
String interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group );
String interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group );
/** TODO
-- for Eric: Fix me (current implementation causes GenotypeConcordance
to treat sites that don't match JEXL as no-calls)
String interesting = null;
if (evalWantsVC)
{
interesting = evaluation.update2( evalWantsVC ? vc : null, comp, tracker, ref, context, group );
}
**/
if ( interesting != null ) interestingReasons.add(interesting);
break;
default: