diff --git a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/AlleleBalanceHistogramWalker.java b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/AlleleBalanceHistogramWalker.java index 2846be7f9..04a47ed36 100644 --- a/java/src/org/broadinstitute/sting/oneoffprojects/walkers/AlleleBalanceHistogramWalker.java +++ b/java/src/org/broadinstitute/sting/oneoffprojects/walkers/AlleleBalanceHistogramWalker.java @@ -1,11 +1,11 @@ package org.broadinstitute.sting.oneoffprojects.walkers; -import org.broad.tribble.vcf.VCFCodec; -import org.broad.tribble.vcf.VCFRecord; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext; +import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; +import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.walkers.DataSource; import org.broadinstitute.sting.gatk.walkers.LocusWalker; import org.broadinstitute.sting.gatk.walkers.RMD; @@ -22,7 +22,7 @@ import java.util.*; * Time: 3:25:11 PM * To change this template use File | Settings | File Templates. */ -@Requires(value= DataSource.REFERENCE,referenceMetaData = {@RMD(name="variants",type=VCFRecord.class)}) +@Requires(value= DataSource.REFERENCE,referenceMetaData = {@RMD(name="variants",type=ReferenceOrderedDatum.class)}) public class AlleleBalanceHistogramWalker extends LocusWalker, Map>> { @@ -47,13 +47,12 @@ public class AlleleBalanceHistogramWalker extends LocusWalker } public Map map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { - VCFRecord record = tracker.lookup("variants", VCFRecord.class); - - if ( record == null ) { + VariantContext vc = tracker.getVariantContext(ref, "variants", EnumSet.of(VariantContext.Type.SNP), context.getLocation(), false); + if ( vc == null || !vc.isBiallelic() ) { return null; } - return getAlleleBalanceBySample(record,ref,context); + return getAlleleBalanceBySample(vc,ref,context); } public void onTraversalDone(Map> finalSets) { @@ -67,13 +66,13 @@ public class AlleleBalanceHistogramWalker extends LocusWalker } } - private HashMap getAlleleBalanceBySample(VCFRecord vcf, ReferenceContext ref, AlignmentContext context) { + private HashMap getAlleleBalanceBySample(VariantContext vc, ReferenceContext ref, AlignmentContext context) { Map sampleContext = StratifiedAlignmentContext.splitContextBySample(context.getBasePileup(),null); HashMap balances = new HashMap(); System.out.println("----- "+ref.getLocus()+" -----"); int returnedBalances = 0; - for ( String sample : vcf.getSampleNames() ) { - Double balance = getAlleleBalance(ref,sampleContext.get(sample),vcf.getAlternativeBaseForSNP()); + for ( String sample : vc.getSampleNames() ) { + Double balance = getAlleleBalance(ref,sampleContext.get(sample),(char)vc.getAlternateAllele(0).getBases()[0]); balances.put(sample, balance); if ( balance != null ) { returnedBalances++; diff --git a/java/src/org/broadinstitute/sting/playground/gatk/walkers/diagnostics/SNPDensity.java b/java/src/org/broadinstitute/sting/playground/gatk/walkers/diagnostics/SNPDensity.java index 3968a55a6..3351bf2ae 100755 --- a/java/src/org/broadinstitute/sting/playground/gatk/walkers/diagnostics/SNPDensity.java +++ b/java/src/org/broadinstitute/sting/playground/gatk/walkers/diagnostics/SNPDensity.java @@ -25,23 +25,23 @@ package org.broadinstitute.sting.playground.gatk.walkers.diagnostics; -import org.broad.tribble.vcf.VCFCodec; -import org.broad.tribble.vcf.VCFRecord; import org.broadinstitute.sting.gatk.contexts.AlignmentContext; import org.broadinstitute.sting.gatk.contexts.ReferenceContext; import org.broadinstitute.sting.gatk.contexts.variantcontext.VariantContext; import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker; -import org.broadinstitute.sting.gatk.refdata.VariantContextAdaptors; +import org.broadinstitute.sting.gatk.refdata.ReferenceOrderedDatum; import org.broadinstitute.sting.gatk.walkers.*; import org.broadinstitute.sting.utils.GenomeLoc; import org.broadinstitute.sting.utils.collections.Pair; import org.broadinstitute.sting.commandline.Argument; +import java.util.EnumSet; + /** * Computes the density of SNPs passing and failing filters in intervals on the genome and emits a table for display */ @By(DataSource.REFERENCE) -@Requires(value={},referenceMetaData=@RMD(name="eval",type= VCFRecord.class)) +@Requires(value={},referenceMetaData=@RMD(name="eval",type=ReferenceOrderedDatum.class)) public class SNPDensity extends RefWalker, SNPDensity.Counter> { @Argument(fullName="granularity", shortName="granularity", doc="", required=false) private int granularity = 1000000; @@ -63,11 +63,7 @@ public class SNPDensity extends RefWalker, SNPDe } public Pair map(RefMetaDataTracker tracker, ReferenceContext ref, AlignmentContext context) { - VariantContext vc = null; - - VCFRecord vcf = tracker.lookup("eval",VCFRecord.class); - if (vcf != null) - vc = VariantContextAdaptors.toVariantContext("eval", vcf, ref); + VariantContext vc = tracker.getVariantContext(ref, "eval", EnumSet.of(VariantContext.Type.SNP), context.getLocation(), false); return new Pair(vc, context.getLocation()); }