Check for VCFConstants.MISSING_VALUE_v4 when retrieving INFO fields and consider such values as non-existent

git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4603 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
fromer 2010-11-01 17:51:35 +00:00
parent aadd230636
commit 8439f0aa61
3 changed files with 35 additions and 11 deletions

View File

@ -934,20 +934,43 @@ public class VariantContextUtils {
return mergedAttribs;
}
private static Boolean getBooleanAttribute(Map<String, Object> attribs, String attribName) {
public static Boolean getBooleanAttribute(Map<String, Object> attribs, String attribName) {
Object val = attribs.get(attribName);
if (val == null)
if (val == null || val.equals(VCFConstants.MISSING_VALUE_v4))
return null;
return new Boolean(val.toString());
try {
return new Boolean(val.toString());
}
catch (Exception e) {// IGNORE unparseable data
return null;
}
}
private static String getStringAttribute(Map<String, Object> attribs, String attribName) {
public static String getStringAttribute(Map<String, Object> attribs, String attribName) {
Object val = attribs.get(attribName);
if (val == null)
if (val == null || val.equals(VCFConstants.MISSING_VALUE_v4))
return null;
return val.toString();
try {
return val.toString();
}
catch (Exception e) {// IGNORE unparseable data
return null;
}
}
public static Double getDoubleAttribute(Map<String, Object> attribs, String attribName) {
Object val = attribs.get(attribName);
if (val == null || val.equals(VCFConstants.MISSING_VALUE_v4))
return null;
try {
return new Double(val.toString());
}
catch (Exception e) {// IGNORE unparseable data
return null;
}
}
private static boolean mergeIntoMNPvalidationCheck(VariantContext vc1, VariantContext vc2) {

View File

@ -933,6 +933,8 @@ public class ReadBackedPhasingWalker extends RodWalker<PhasingStatsAndOutput, Ph
* @param result the number of reads and VariantContexts seen.
*/
public void onTraversalDone(PhasingStats result) {
logger.debug("Entering onTraversalDone()");
List<VariantContext> finalList = processQueue(result, true); // process all remaining data
writeVcList(finalList);
writer.close();
@ -940,6 +942,7 @@ public class ReadBackedPhasingWalker extends RodWalker<PhasingStatsAndOutput, Ph
if (statsWriter != null)
statsWriter.close();
System.out.println("Coverage over ALL samples:");
System.out.println("Number of reads observed: " + result.getNumReads());
System.out.println("Number of variant sites observed: " + result.getNumVarSites());
System.out.println("Average coverage: " + ((double) result.getNumReads() / result.getNumVarSites()));

View File

@ -2,7 +2,9 @@ package org.broadinstitute.sting.gatk.walkers.varianteval;
import org.broad.tribble.util.variantcontext.Genotype;
import org.broad.tribble.util.variantcontext.VariantContext;
import org.broad.tribble.vcf.VCFConstants;
import org.broadinstitute.sting.gatk.contexts.*;
import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils;
import org.broadinstitute.sting.gatk.refdata.*;
import org.broadinstitute.sting.gatk.walkers.phasing.*;
import org.broadinstitute.sting.utils.report.tags.Analysis;
@ -205,11 +207,7 @@ public class GenotypePhasingEvaluator extends VariantEvaluator {
}
public static Double getPQ(Genotype gt) {
Object pq = gt.getAttributes().get(ReadBackedPhasingWalker.PQ_KEY);
if (pq == null)
return null;
return new Double(pq.toString());
return VariantContextUtils.getDoubleAttribute(gt.getAttributes(), ReadBackedPhasingWalker.PQ_KEY);
}
public boolean topMatchesTop(AllelePair b1, AllelePair b2) {