Error checking for bad input (thanks, Aaron).
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@3120 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
27fb6f7594
commit
56eb15f91f
|
|
@ -103,6 +103,9 @@ public class SequenomValidationConverter extends RodWalker<VCFRecord,Integer> {
|
|||
}
|
||||
|
||||
public void onTraversalDone(Integer finalReduce) {
|
||||
if ( sampleNames == null )
|
||||
sampleNames = new TreeSet<String>();
|
||||
|
||||
VCFWriter vcfWriter = new VCFWriter(vcfFile);
|
||||
|
||||
// set up the info and filter headers
|
||||
|
|
@ -125,18 +128,20 @@ public class SequenomValidationConverter extends RodWalker<VCFRecord,Integer> {
|
|||
hInfo.add(new VCFHeaderLine("ValidationMetrics_SamplesAssayed", String.format("%d", sampleNames.size())));
|
||||
System.out.println(String.format("Total number of records processed:\t\t\t%d", numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_RecordsProcessed", String.format("%d", numRecords)));
|
||||
System.out.println(String.format("Number of Hardy-Weinberg violations:\t\t\t%d (%d%%)", numHWViolations, 100*numHWViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_HardyWeinbergViolations", String.format("\"%d (%d%%)\"", numHWViolations, 100*numHWViolations/numRecords)));
|
||||
System.out.println(String.format("Number of no-call violations:\t\t\t\t%d (%d%%)", numNoCallViolations, 100*numNoCallViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_NoCallViolations", String.format("\"%d (%d%%)\"", numNoCallViolations, 100*numNoCallViolations/numRecords)));
|
||||
System.out.println(String.format("Number of homozygous variant violations:\t\t%d (%d%%)", numHomVarViolations, 100*numHomVarViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_HomVarViolations", String.format("\"%d (%d%%)\"", numHomVarViolations, 100*numHomVarViolations/numRecords)));
|
||||
int goodRecords = numRecords - numHWViolations - numNoCallViolations - numHomVarViolations;
|
||||
System.out.println(String.format("Number of records passing all filters:\t\t\t%d (%d%%)", goodRecords, 100*goodRecords/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_RecordsPassingFilters", String.format("\"%d (%d%%)\"", goodRecords, 100*goodRecords/numRecords)));
|
||||
System.out.println(String.format("Number of passing records that are polymorphic:\t\t%d (%d%%)", numTrueVariants, 100*numTrueVariants/goodRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_PolymorphicPassingRecords", String.format("\"%d (%d%%)\"", numTrueVariants, 100*numTrueVariants/goodRecords)));
|
||||
|
||||
if ( numRecords > 0 ) {
|
||||
System.out.println(String.format("Number of Hardy-Weinberg violations:\t\t\t%d (%d%%)", numHWViolations, 100*numHWViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_HardyWeinbergViolations", String.format("\"%d (%d%%)\"", numHWViolations, 100*numHWViolations/numRecords)));
|
||||
System.out.println(String.format("Number of no-call violations:\t\t\t\t%d (%d%%)", numNoCallViolations, 100*numNoCallViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_NoCallViolations", String.format("\"%d (%d%%)\"", numNoCallViolations, 100*numNoCallViolations/numRecords)));
|
||||
System.out.println(String.format("Number of homozygous variant violations:\t\t%d (%d%%)", numHomVarViolations, 100*numHomVarViolations/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_HomVarViolations", String.format("\"%d (%d%%)\"", numHomVarViolations, 100*numHomVarViolations/numRecords)));
|
||||
int goodRecords = numRecords - numHWViolations - numNoCallViolations - numHomVarViolations;
|
||||
System.out.println(String.format("Number of records passing all filters:\t\t\t%d (%d%%)", goodRecords, 100*goodRecords/numRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_RecordsPassingFilters", String.format("\"%d (%d%%)\"", goodRecords, 100*goodRecords/numRecords)));
|
||||
System.out.println(String.format("Number of passing records that are polymorphic:\t\t%d (%d%%)", numTrueVariants, 100*numTrueVariants/goodRecords));
|
||||
hInfo.add(new VCFHeaderLine("ValidationMetrics_PolymorphicPassingRecords", String.format("\"%d (%d%%)\"", numTrueVariants, 100*numTrueVariants/goodRecords)));
|
||||
}
|
||||
|
||||
VCFHeader header = new VCFHeader(hInfo, sampleNames);
|
||||
vcfWriter.writeHeader(header);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue