From 35b9883dd6d3ad135d4e347a560efdaf25f79b9a Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 23 Aug 2010 17:01:04 +0000 Subject: [PATCH] vcfwriter is in tribble now git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4083 348d0f76-0448-11de-a6fe-93d51630548a --- .../gatk/io/storage/VCFWriterStorage.java | 4 +- .../VCFWriterArgumentTypeDescriptor.java | 3 +- .../sting/gatk/io/stubs/VCFWriterStub.java | 3 +- .../sting/gatk/walkers/VariantsToVCF.java | 1 - .../walkers/annotator/VariantAnnotator.java | 6 +- .../filters/VariantFiltrationWalker.java | 2 - .../walkers/genotyper/BatchedCallsMerger.java | 2 +- .../walkers/genotyper/UnifiedGenotyper.java | 1 - .../genotyper/UnifiedGenotyperEngine.java | 2 +- .../sequenom/SequenomValidationConverter.java | 2 - .../varianteval/VariantEvalWalker.java | 4 +- .../ApplyVariantCuts.java | 2 - .../VariantRecalibrator.java | 2 - .../walkers/variantutils/CombineVariants.java | 1 - .../variantutils/FilterLiftedVariants.java | 4 +- .../variantutils/LiftoverVariants.java | 4 +- .../walkers/variantutils/SelectVariants.java | 4 +- .../walkers/IndelAnnotator.java | 1 - .../walkers/IndelDBRateWalker.java | 4 +- .../walkers/MendelianViolationClassifier.java | 4 +- .../walkers/TestVariantContextWalker.java | 3 +- .../walkers/VCF4WriterTestWalker.java | 2 - .../gatk/walkers/BeagleOutputToVCFWalker.java | 2 - .../gatk/walkers/ReadBackedPhasingWalker.java | 2 - .../gatk/walkers/TrioGenotyperWalker.java | 4 +- .../walkers/annotator/GenomicAnnotator.java | 4 +- .../queue/extensions/gatk/ArgumentField.java | 2 +- .../utils/genotype/vcf/StandardVCFWriter.java | 431 ------------------ .../sting/utils/genotype/vcf/VCFWriter.java | 19 - 29 files changed, 26 insertions(+), 499 deletions(-) delete mode 100644 java/src/org/broadinstitute/sting/utils/genotype/vcf/StandardVCFWriter.java delete mode 100644 java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFWriter.java diff --git a/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java b/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java index 8c29c1b12..d1422056e 100644 --- a/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java +++ b/java/src/org/broadinstitute/sting/gatk/io/storage/VCFWriterStorage.java @@ -1,10 +1,10 @@ package org.broadinstitute.sting.gatk.io.storage; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; import org.broad.tribble.util.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.gatk.io.stubs.VCFWriterStub; diff --git a/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java b/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java index ad85b3ce7..60306e805 100644 --- a/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java +++ b/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterArgumentTypeDescriptor.java @@ -25,13 +25,12 @@ package org.broadinstitute.sting.gatk.io.stubs; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.*; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import java.io.File; import java.io.OutputStream; -import java.lang.annotation.Annotation; import java.util.List; import java.util.Arrays; diff --git a/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java b/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java index fb5ef0374..ed27ed8f3 100755 --- a/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java +++ b/java/src/org/broadinstitute/sting/gatk/io/stubs/VCFWriterStub.java @@ -31,10 +31,9 @@ import java.io.OutputStream; import org.broad.tribble.util.variantcontext.VariantContext; import org.broad.tribble.vcf.VCFHeader; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.io.OutputTracker; -import org.broadinstitute.sting.gatk.io.storage.VCFWriterStorage; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; import net.sf.samtools.SAMFileHeader; /** diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/VariantsToVCF.java b/java/src/org/broadinstitute/sting/gatk/walkers/VariantsToVCF.java index 40b7b421d..2e0fee651 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/VariantsToVCF.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/VariantsToVCF.java @@ -38,7 +38,6 @@ import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.refdata.utils.helpers.DbSNPHelper; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.*; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.SampleUtils; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java index aa4c7ecdf..97b483c93 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/annotator/VariantAnnotator.java @@ -26,9 +26,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator; import org.broad.tribble.util.variantcontext.VariantContext; -import org.broad.tribble.vcf.VCFHeader; -import org.broad.tribble.vcf.VCFHeaderLine; -import org.broad.tribble.vcf.VCFCompoundHeaderLine; +import org.broad.tribble.vcf.*; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext; @@ -46,8 +44,6 @@ import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.CommandLineUtils; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.util.*; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java index ea8e4380a..a150e4f38 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/filters/VariantFiltrationWalker.java @@ -40,8 +40,6 @@ import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.CommandLineUtils; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.util.*; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/BatchedCallsMerger.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/BatchedCallsMerger.java index 17676a166..5c3078739 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/BatchedCallsMerger.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/BatchedCallsMerger.java @@ -25,13 +25,13 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.contexts.*; import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedData; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.commandline.*; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; import org.broadinstitute.sting.utils.pileup.ReadBackedPileupImpl; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java index ba757dfda..27400d6d3 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyper.java @@ -34,7 +34,6 @@ import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.commandline.*; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.*; import java.util.*; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java index 319e477b1..cfb4a32cf 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/genotyper/UnifiedGenotyperEngine.java @@ -27,6 +27,7 @@ package org.broadinstitute.sting.gatk.walkers.genotyper; import org.apache.log4j.Logger; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.GenomeAnalysisEngine; import org.broadinstitute.sting.gatk.filters.BadMateFilter; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -39,7 +40,6 @@ import org.broadinstitute.sting.gatk.walkers.annotator.VariantAnnotatorEngine; import org.broadinstitute.sting.utils.sam.AlignmentUtils; import org.broadinstitute.sting.utils.BaseUtils; import org.broadinstitute.sting.utils.SampleUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; import org.broadinstitute.sting.utils.pileup.*; import org.broad.tribble.vcf.VCFConstants; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/SequenomValidationConverter.java b/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/SequenomValidationConverter.java index 3adf0656b..9af09a540 100644 --- a/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/SequenomValidationConverter.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/sequenom/SequenomValidationConverter.java @@ -40,8 +40,6 @@ import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.util.*; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java index 201c1111c..61c701c31 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/varianteval/VariantEvalWalker.java @@ -28,6 +28,8 @@ package org.broadinstitute.sting.gatk.walkers.varianteval; import org.apache.log4j.Logger; import org.broad.tribble.util.variantcontext.MutableVariantContext; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils; @@ -48,8 +50,6 @@ import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.Utils; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.utils.text.XReadLines; import java.io.File; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyVariantCuts.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyVariantCuts.java index a74da7adf..26dfeed7b 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyVariantCuts.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/ApplyVariantCuts.java @@ -36,8 +36,6 @@ import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.utils.text.XReadLines; import java.io.File; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java index 4d4f86c12..24abe68ec 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantrecalibration/VariantRecalibrator.java @@ -40,8 +40,6 @@ import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.io.File; import java.io.IOException; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java index 2aef8ddd2..1918bf27e 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/CombineVariants.java @@ -41,7 +41,6 @@ import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.*; import java.util.*; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java index 18ba9e9b9..5ef609898 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/FilterLiftedVariants.java @@ -25,8 +25,8 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; import org.broad.tribble.util.variantcontext.VariantContext; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.utils.vcf.VCFUtils; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java index 1b03e2640..18d1c9c37 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/LiftoverVariants.java @@ -25,11 +25,11 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.utils.GenomeLocParser; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; diff --git a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java index 1684858ce..adafffe1b 100755 --- a/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java +++ b/java/src/org/broadinstitute/sting/gatk/walkers/variantutils/SelectVariants.java @@ -26,8 +26,10 @@ package org.broadinstitute.sting.gatk.walkers.variantutils; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -41,8 +43,6 @@ import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.text.XReadLines; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.util.*; import java.util.regex.Matcher; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelAnnotator.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelAnnotator.java index cd2352af5..2bc7e8d8e 100644 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelAnnotator.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelAnnotator.java @@ -18,7 +18,6 @@ import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.*; import java.io.File; import java.io.IOException; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelDBRateWalker.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelDBRateWalker.java index 321b67460..8964fb038 100644 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelDBRateWalker.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/IndelDBRateWalker.java @@ -1,8 +1,10 @@ package org.broadinstitute.sting.oneoffprojects.walkers; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -17,8 +19,6 @@ import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.collections.ExpandingArrayList; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.io.PrintStream; import java.util.*; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/MendelianViolationClassifier.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/MendelianViolationClassifier.java index b32d0d316..49ab321d3 100644 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/MendelianViolationClassifier.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/MendelianViolationClassifier.java @@ -3,8 +3,10 @@ package org.broadinstitute.sting.oneoffprojects.walkers; import org.broad.tribble.util.variantcontext.Allele; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -23,8 +25,6 @@ import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.utils.pileup.PileupElement; import java.io.PrintStream; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/TestVariantContextWalker.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/TestVariantContextWalker.java index 780ae6be9..165c39da6 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/TestVariantContextWalker.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/TestVariantContextWalker.java @@ -26,11 +26,12 @@ package org.broadinstitute.sting.oneoffprojects.walkers; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.*; import org.broadinstitute.sting.gatk.walkers.RodWalker; -import org.broadinstitute.sting.utils.genotype.vcf.*; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/VCF4WriterTestWalker.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/VCF4WriterTestWalker.java index 10d3e345c..4acfc5c7c 100755 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/VCF4WriterTestWalker.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/VCF4WriterTestWalker.java @@ -14,8 +14,6 @@ import org.broadinstitute.sting.gatk.walkers.RodWalker; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import java.io.File; import java.io.FileInputStream; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BeagleOutputToVCFWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BeagleOutputToVCFWalker.java index 61991deba..c1e7708b4 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/BeagleOutputToVCFWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/BeagleOutputToVCFWalker.java @@ -44,8 +44,6 @@ import org.broadinstitute.sting.gatk.walkers.Requires; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broad.tribble.vcf.*; import java.io.*; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadBackedPhasingWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadBackedPhasingWalker.java index 610cfc86d..3a949532c 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadBackedPhasingWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/ReadBackedPhasingWalker.java @@ -39,8 +39,6 @@ import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.utils.*; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.utils.pileup.PileupElement; import org.broadinstitute.sting.utils.pileup.ReadBackedPileup; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/TrioGenotyperWalker.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/TrioGenotyperWalker.java index b80280d73..8579c9731 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/TrioGenotyperWalker.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/TrioGenotyperWalker.java @@ -29,7 +29,9 @@ import org.broad.tribble.util.variantcontext.Allele; import org.broad.tribble.util.variantcontext.Genotype; import org.broad.tribble.util.variantcontext.MutableVariantContext; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFConstants; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; @@ -43,8 +45,6 @@ import org.broadinstitute.sting.commandline.ArgumentCollection; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.QualityUtils; import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; import org.broadinstitute.sting.gatk.walkers.varianteval.MendelianViolationEvaluator; import java.util.*; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/annotator/GenomicAnnotator.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/annotator/GenomicAnnotator.java index 93266285e..031127473 100644 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/annotator/GenomicAnnotator.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/annotator/GenomicAnnotator.java @@ -43,8 +43,10 @@ import java.util.TreeSet; import java.util.Map.Entry; import org.broad.tribble.util.variantcontext.VariantContext; +import org.broad.tribble.vcf.StandardVCFWriter; import org.broad.tribble.vcf.VCFHeader; import org.broad.tribble.vcf.VCFHeaderLine; +import org.broad.tribble.vcf.VCFWriter; import org.broadinstitute.sting.commandline.Argument; import org.broadinstitute.sting.commandline.Output; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; @@ -64,8 +66,6 @@ import org.broadinstitute.sting.utils.SampleUtils; import org.broadinstitute.sting.utils.StingException; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.utils.vcf.VCFUtils; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; -import org.broadinstitute.sting.utils.genotype.vcf.StandardVCFWriter; /** * Annotates variant calls with information from user-specified tabular files. diff --git a/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java b/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java index 9b453f945..a2ae317fc 100644 --- a/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java +++ b/java/src/org/broadinstitute/sting/queue/extensions/gatk/ArgumentField.java @@ -29,7 +29,7 @@ import net.sf.samtools.SAMFileWriter; import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.broadinstitute.sting.gatk.filters.PlatformUnitFilterHelper; -import org.broadinstitute.sting.utils.genotype.vcf.VCFWriter; +import org.broad.tribble.vcf.VCFWriter; import java.io.File; import java.io.InputStream; diff --git a/java/src/org/broadinstitute/sting/utils/genotype/vcf/StandardVCFWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/vcf/StandardVCFWriter.java deleted file mode 100644 index 6012fc31d..000000000 --- a/java/src/org/broadinstitute/sting/utils/genotype/vcf/StandardVCFWriter.java +++ /dev/null @@ -1,431 +0,0 @@ -/* - * Copyright (c) 2010, The Broad Institute - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ - -package org.broadinstitute.sting.utils.genotype.vcf; - -import org.broad.tribble.vcf.*; -import org.broad.tribble.util.variantcontext.VariantContext; -import org.broad.tribble.util.variantcontext.Allele; -import org.broad.tribble.util.variantcontext.Genotype; -import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContextUtils; -import org.broadinstitute.sting.utils.GenomeLoc; -import org.broadinstitute.sting.utils.Utils; -import org.broadinstitute.sting.utils.MathUtils; -import org.broadinstitute.sting.utils.StingException; - -import java.io.*; -import java.util.*; - -/** - * this class writes VCF files - */ -public class StandardVCFWriter implements VCFWriter { - - // the VCF header we're storing - protected VCFHeader mHeader = null; - - // the print stream we're writting to - protected BufferedWriter mWriter; - - // were filters applied? - protected boolean filtersWereAppliedToContext = false; - - /** - * create a VCF writer, given a file to write to - * - * @param location the file location to write to - */ - public StandardVCFWriter(File location) { - FileOutputStream output; - try { - output = new FileOutputStream(location); - } catch (FileNotFoundException e) { - throw new RuntimeException("Unable to create VCF file at location: " + location); - } - - mWriter = new BufferedWriter(new OutputStreamWriter(output)); - } - - - /** - * create a VCF writer, given a stream to write to - * - * @param output the file location to write to - */ - public StandardVCFWriter(OutputStream output) { - mWriter = new BufferedWriter(new OutputStreamWriter(output)); - } - - public void writeHeader(VCFHeader header) { - this.mHeader = header; - - try { - // the file format field needs to be written first - mWriter.write(VCFHeader.METADATA_INDICATOR + VCFHeaderVersion.VCF4_0.getFormatString() + "=" + VCFHeaderVersion.VCF4_0.getVersionString() + "\n"); - - for ( VCFHeaderLine line : header.getMetaData() ) { - if ( line.getKey().equals(VCFHeaderVersion.VCF4_0.getFormatString()) || - line.getKey().equals(VCFHeaderVersion.VCF3_3.getFormatString()) || - line.getKey().equals(VCFHeaderVersion.VCF3_2.getFormatString()) ) - continue; - - // are the records filtered (so we know what to put in the FILTER column of passing records) ? - if ( line instanceof VCFFilterHeaderLine) - filtersWereAppliedToContext = true; - - mWriter.write(VCFHeader.METADATA_INDICATOR); - mWriter.write(line.toString()); - mWriter.write("\n"); - } - - // write out the column line - mWriter.write(VCFHeader.HEADER_INDICATOR); - for ( VCFHeader.HEADER_FIELDS field : header.getHeaderFields() ) { - mWriter.write(field.toString()); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - } - - if ( header.hasGenotypingData() ) { - mWriter.write("FORMAT"); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - for ( String sample : header.getGenotypeSamples() ) { - mWriter.write(sample); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - } } - - mWriter.write("\n"); - mWriter.flush(); // necessary so that writing to an output stream will work - } - catch (IOException e) { - throw new RuntimeException("IOException writing the VCF header", e); - } - } - - /** - * attempt to close the VCF file - */ - public void close() { - try { - mWriter.flush(); - mWriter.close(); - } catch (IOException e) { - throw new RuntimeException("Unable to close VCFFile"); - } - } - - public void add(VariantContext vc, byte refBase) { - if ( mHeader == null ) - throw new IllegalStateException("The VCF Header must be written before records can be added"); - - try { - - vc = VariantContextUtils.createVariantContextWithPaddedAlleles(vc, refBase); - - GenomeLoc loc = VariantContextUtils.getLocation(vc); - Map alleleMap = new HashMap(vc.getAlleles().size()); - alleleMap.put(Allele.NO_CALL, VCFConstants.EMPTY_ALLELE); // convenience for lookup - - // CHROM - mWriter.write(loc.getContig()); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // POS - mWriter.write(String.valueOf(loc.getStart())); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // ID - String ID = vc.hasAttribute(VariantContext.ID_KEY) ? vc.getAttributeAsString(VariantContext.ID_KEY) : VCFConstants.EMPTY_ID_FIELD; - mWriter.write(ID); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // REF - alleleMap.put(vc.getReference(), "0"); - String refString = vc.getReference().getBaseString(); - mWriter.write(refString); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // ALT - if ( vc.isVariant() ) { - Allele altAllele = vc.getAlternateAllele(0); - alleleMap.put(altAllele, "1"); - String alt = altAllele.getBaseString(); - mWriter.write(alt); - - for (int i = 1; i < vc.getAlternateAlleles().size(); i++) { - altAllele = vc.getAlternateAllele(i); - alleleMap.put(altAllele, String.valueOf(i+1)); - alt = altAllele.getBaseString(); - mWriter.write(","); - mWriter.write(alt); - } - } else { - mWriter.write(VCFConstants.EMPTY_ALTERNATE_ALLELE_FIELD); - } - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // QUAL - if ( !vc.hasNegLog10PError() ) - mWriter.write(VCFConstants.MISSING_VALUE_v4); - else - mWriter.write(getQualValue(vc.getPhredScaledQual())); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // FILTER - String filters = vc.isFiltered() ? Utils.join(";", Utils.sorted(vc.getFilters())) : (filtersWereAppliedToContext || vc.filtersWereApplied() ? VCFConstants.PASSES_FILTERS_v4 : VCFConstants.UNFILTERED); - mWriter.write(filters); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - // INFO - Map infoFields = new TreeMap(); - for ( Map.Entry field : vc.getAttributes().entrySet() ) { - String key = field.getKey(); - if ( key.equals(VariantContext.ID_KEY) || key.equals(VariantContext.REFERENCE_BASE_FOR_INDEL_KEY) ) - continue; - - String outputValue = formatVCFField(field.getValue()); - if ( outputValue != null ) - infoFields.put(key, outputValue); - } - writeInfoString(infoFields); - - // FORMAT - List genotypeAttributeKeys = new ArrayList(); - if ( vc.hasGenotypes() ) { - genotypeAttributeKeys.add(VCFConstants.GENOTYPE_KEY); - for ( String key : calcVCFGenotypeKeys(vc) ) { - genotypeAttributeKeys.add(key); - } - } else if ( mHeader.hasGenotypingData() ) { - // this needs to be done in case all samples are no-calls - genotypeAttributeKeys.add(VCFConstants.GENOTYPE_KEY); - } - - if ( genotypeAttributeKeys.size() > 0 ) { - String genotypeFormatString = Utils.join(VCFConstants.GENOTYPE_FIELD_SEPARATOR, genotypeAttributeKeys); - mWriter.write(VCFConstants.FIELD_SEPARATOR); - mWriter.write(genotypeFormatString); - - addGenotypeData(vc, alleleMap, genotypeAttributeKeys); - } - - mWriter.write("\n"); - mWriter.flush(); // necessary so that writing to an output stream will work - } catch (IOException e) { - throw new RuntimeException("Unable to write the VCF object to a file"); - } - - } - - private String getQualValue(double qual) { - String s = String.format(VCFConstants.DOUBLE_PRECISION_FORMAT_STRING, qual); - if ( s.endsWith(VCFConstants.DOUBLE_PRECISION_INT_SUFFIX) ) - s = s.substring(0, s.length() - VCFConstants.DOUBLE_PRECISION_INT_SUFFIX.length()); - return s; - } - - /** - * create the info string; assumes that no values are null - * - * @param infoFields a map of info fields - * @throws IOException for writer - */ - protected void writeInfoString(Map infoFields) throws IOException { - if ( infoFields.isEmpty() ) { - mWriter.write(VCFConstants.EMPTY_INFO_FIELD); - return; - } - - boolean isFirst = true; - for ( Map.Entry entry : infoFields.entrySet() ) { - if ( isFirst ) - isFirst = false; - else - mWriter.write(VCFConstants.INFO_FIELD_SEPARATOR); - - String key = entry.getKey(); - mWriter.write(key); - - if ( !entry.getValue().equals("") ) { - int numVals = 1; - VCFInfoHeaderLine metaData = mHeader.getInfoHeaderLine(key); - if ( metaData != null ) - numVals = metaData.getCount(); - - // take care of unbounded encoding - if ( numVals == VCFInfoHeaderLine.UNBOUNDED ) - numVals = 1; - - if ( numVals > 0 ) { - mWriter.write("="); - mWriter.write(entry.getValue()); - } - } - } - } - - /** - * add the genotype data - * - * @param vc the variant context - * @param genotypeFormatKeys Genotype formatting string - * @param alleleMap alleles for this context - * @throws IOException for writer - */ - private void addGenotypeData(VariantContext vc, Map alleleMap, List genotypeFormatKeys) - throws IOException { - - for ( String sample : mHeader.getGenotypeSamples() ) { - mWriter.write(VCFConstants.FIELD_SEPARATOR); - - Genotype g = vc.getGenotype(sample); - if ( g == null ) { - // TODO -- The VariantContext needs to know what the general ploidy is of the samples - // TODO -- We shouldn't be assuming diploid genotypes here! - mWriter.write(VCFConstants.EMPTY_GENOTYPE); - continue; - } - - writeAllele(g.getAllele(0), alleleMap); - for (int i = 1; i < g.getPloidy(); i++) { - mWriter.write(g.genotypesArePhased() ? VCFConstants.PHASED : VCFConstants.UNPHASED); - writeAllele(g.getAllele(i), alleleMap); - } - - List attrs = new ArrayList(genotypeFormatKeys.size()); - for ( String key : genotypeFormatKeys ) { - if ( key.equals(VCFConstants.GENOTYPE_KEY) ) - continue; - - Object val = g.hasAttribute(key) ? g.getAttribute(key) : VCFConstants.MISSING_VALUE_v4; - - // some exceptions - if ( key.equals(VCFConstants.GENOTYPE_QUALITY_KEY) ) { - if ( MathUtils.compareDoubles(g.getNegLog10PError(), Genotype.NO_NEG_LOG_10PERROR) == 0 ) - val = VCFConstants.MISSING_VALUE_v4; - else { - val = getQualValue(Math.min(g.getPhredScaledQual(), VCFConstants.MAX_GENOTYPE_QUAL)); - } - } else if ( key.equals(VCFConstants.GENOTYPE_FILTER_KEY) ) { - val = g.isFiltered() ? Utils.join(";", Utils.sorted(g.getFilters())) : (g.filtersWereApplied() ? VCFConstants.PASSES_FILTERS_v4 : VCFConstants.UNFILTERED); - } - - VCFFormatHeaderLine metaData = mHeader.getFormatHeaderLine(key); - if ( metaData != null ) { - int numInFormatField = metaData.getCount(); - if ( numInFormatField > 1 && val.equals(VCFConstants.MISSING_VALUE_v4) ) { - // If we have a missing field but multiple values are expected, we need to construct a new string with all fields. - // For example, if Number=2, the string has to be ".,." - StringBuilder sb = new StringBuilder(VCFConstants.MISSING_VALUE_v4); - for ( int i = 1; i < numInFormatField; i++ ) { - sb.append(","); - sb.append(VCFConstants.MISSING_VALUE_v4); - } - val = sb.toString(); - } - } - - // assume that if key is absent, then the given string encoding suffices - String outputValue = formatVCFField(val); - if ( outputValue != null ) - attrs.add(outputValue); - } - - // strip off trailing missing values - for (int i = attrs.size()-1; i >= 0; i--) { - if ( isMissingValue(attrs.get(i)) ) - attrs.remove(i); - else - break; - } - - for (String s : attrs ) { - mWriter.write(VCFConstants.GENOTYPE_FIELD_SEPARATOR); - mWriter.write(s); - } - } - } - - private boolean isMissingValue(String s) { - // we need to deal with the case that it's a list of missing values - return (MathUtils.countOccurrences(VCFConstants.MISSING_VALUE_v4.charAt(0), s) + MathUtils.countOccurrences(',', s) == s.length()); - } - - private void writeAllele(Allele allele, Map alleleMap) throws IOException { - String encoding = alleleMap.get(allele); - if ( encoding == null ) - throw new StingException("Allele " + allele + " is not an allele in the variant context"); - mWriter.write(encoding); - } - - private static String formatVCFField(Object val) { - String result; - if ( val == null ) - result = VCFConstants.MISSING_VALUE_v4; - else if ( val instanceof Double ) - result = String.format(VCFConstants.DOUBLE_PRECISION_FORMAT_STRING, (Double)val); - else if ( val instanceof Boolean ) - result = (Boolean)val ? "" : null; // empty string for true, null for false - else if ( val instanceof List ) { - result = formatVCFField(((List)val).toArray()); - } else if ( val instanceof Object[] ) { - Object[] array = (Object[])val; - if ( array.length == 0 ) - return formatVCFField(null); - StringBuffer sb = new StringBuffer(formatVCFField(array[0])); - for ( int i = 1; i < array.length; i++) { - sb.append(","); - sb.append(formatVCFField(array[i])); - } - result = sb.toString(); - } else - result = val.toString(); - - return result; - } - - private static List calcVCFGenotypeKeys(VariantContext vc) { - Set keys = new HashSet(); - - boolean sawGoodQual = false; - boolean sawGenotypeFilter = false; - for ( Genotype g : vc.getGenotypes().values() ) { - keys.addAll(g.getAttributes().keySet()); - if ( g.hasNegLog10PError() ) - sawGoodQual = true; - if (g.isFiltered() && g.isCalled()) - sawGenotypeFilter = true; - } - - if ( sawGoodQual ) - keys.add(VCFConstants.GENOTYPE_QUALITY_KEY); - - if (sawGenotypeFilter) - keys.add(VCFConstants.GENOTYPE_FILTER_KEY); - - return Utils.sorted(new ArrayList(keys)); - } - - - -} diff --git a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFWriter.java b/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFWriter.java deleted file mode 100644 index 637a14335..000000000 --- a/java/src/org/broadinstitute/sting/utils/genotype/vcf/VCFWriter.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.broadinstitute.sting.utils.genotype.vcf; - -import org.broad.tribble.util.variantcontext.VariantContext; -import org.broad.tribble.vcf.*; - -/** - * this class writes VCF files - */ -public interface VCFWriter { - - public void writeHeader(VCFHeader header); - - /** - * attempt to close the VCF file - */ - public void close(); - - public void add(VariantContext vc, byte refBase); -}