Give Annotations access to rod data.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@2504 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
331d6db783
commit
d8351cb9fc
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.*;
|
import org.broadinstitute.sting.utils.*;
|
||||||
import org.broadinstitute.sting.utils.genotype.*;
|
import org.broadinstitute.sting.utils.genotype.*;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
|
|
@ -12,7 +13,7 @@ import java.util.Map;
|
||||||
|
|
||||||
public class AlleleBalance extends StandardVariantAnnotation {
|
public class AlleleBalance extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
|
|
||||||
if ( !(variation instanceof VariantBackedByGenotype) )
|
if ( !(variation instanceof VariantBackedByGenotype) )
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFRecord;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFRecord;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
|
|
@ -11,7 +12,7 @@ import java.util.Map;
|
||||||
|
|
||||||
public class DepthOfCoverage extends StandardVariantAnnotation {
|
public class DepthOfCoverage extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
int depth = 0;
|
int depth = 0;
|
||||||
for ( String sample : stratifiedContexts.keySet() )
|
for ( String sample : stratifiedContexts.keySet() )
|
||||||
depth += stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).size();
|
depth += stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).size();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.genotype.*;
|
import org.broadinstitute.sting.utils.genotype.*;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
import org.broadinstitute.sting.utils.QualityUtils;
|
import org.broadinstitute.sting.utils.QualityUtils;
|
||||||
|
|
@ -16,7 +17,7 @@ public class HardyWeinberg implements VariantAnnotation {
|
||||||
private static final int MIN_GENOTYPE_QUALITY = 10;
|
private static final int MIN_GENOTYPE_QUALITY = 10;
|
||||||
private static final int MIN_NEG_LOG10_PERROR = MIN_GENOTYPE_QUALITY / 10;
|
private static final int MIN_NEG_LOG10_PERROR = MIN_GENOTYPE_QUALITY / 10;
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
|
|
||||||
if ( !(variation instanceof VariantBackedByGenotype) )
|
if ( !(variation instanceof VariantBackedByGenotype) )
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.GenomeLoc;
|
import org.broadinstitute.sting.utils.GenomeLoc;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
|
|
@ -11,7 +12,7 @@ import java.util.Map;
|
||||||
|
|
||||||
public class HomopolymerRun extends StandardVariantAnnotation {
|
public class HomopolymerRun extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
|
|
||||||
if ( !variation.isBiallelic() || !variation.isSNP() )
|
if ( !variation.isBiallelic() || !variation.isSNP() )
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||||
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
|
|
@ -12,7 +13,7 @@ import java.util.Map;
|
||||||
|
|
||||||
public class MappingQualityZero implements VariantAnnotation {
|
public class MappingQualityZero implements VariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
int mq0 = 0;
|
int mq0 = 0;
|
||||||
for ( String sample : stratifiedContexts.keySet() ) {
|
for ( String sample : stratifiedContexts.keySet() ) {
|
||||||
ReadBackedPileup pileup = stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
ReadBackedPileup pileup = stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.VariantBackedByGenotype;
|
import org.broadinstitute.sting.utils.genotype.VariantBackedByGenotype;
|
||||||
import org.broadinstitute.sting.utils.genotype.Genotype;
|
import org.broadinstitute.sting.utils.genotype.Genotype;
|
||||||
|
|
@ -15,7 +16,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
public class QualByDepth extends StandardVariantAnnotation {
|
public class QualByDepth extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
if ( !(variation instanceof VariantBackedByGenotype) )
|
if ( !(variation instanceof VariantBackedByGenotype) )
|
||||||
return null;
|
return null;
|
||||||
final List<Genotype> genotypes = ((VariantBackedByGenotype)variation).getGenotypes();
|
final List<Genotype> genotypes = ((VariantBackedByGenotype)variation).getGenotypes();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.MathUtils;
|
import org.broadinstitute.sting.utils.MathUtils;
|
||||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||||
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
||||||
|
|
@ -15,7 +16,7 @@ import java.util.ArrayList;
|
||||||
|
|
||||||
public class RMSMappingQuality extends StandardVariantAnnotation {
|
public class RMSMappingQuality extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
ArrayList<Integer> qualities = new ArrayList<Integer>();
|
ArrayList<Integer> qualities = new ArrayList<Integer>();
|
||||||
for ( String sample : stratifiedContexts.keySet() ) {
|
for ( String sample : stratifiedContexts.keySet() ) {
|
||||||
ReadBackedPileup pileup = stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
ReadBackedPileup pileup = stratifiedContexts.get(sample).getContext(StratifiedAlignmentContext.StratifiedContextType.COMPLETE).getBasePileup();
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.*;
|
import org.broadinstitute.sting.utils.*;
|
||||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||||
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
import org.broadinstitute.sting.utils.pileup.PileupElement;
|
||||||
|
|
@ -17,7 +18,7 @@ public class RankSumTest implements VariantAnnotation {
|
||||||
private final static boolean DEBUG = false;
|
private final static boolean DEBUG = false;
|
||||||
private static final double minPValue = 1e-10;
|
private static final double minPValue = 1e-10;
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
|
|
||||||
if ( !(variation instanceof VariantBackedByGenotype) )
|
if ( !(variation instanceof VariantBackedByGenotype) )
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -29,7 +30,7 @@ public class SecondBaseSkew implements VariantAnnotation {
|
||||||
|
|
||||||
public VCFInfoHeaderLine getDescription() { return new VCFInfoHeaderLine(KEY_NAME, 1, VCFInfoHeaderLine.INFO_TYPE.Float, "Chi-square Secondary Base Skew"); }
|
public VCFInfoHeaderLine getDescription() { return new VCFInfoHeaderLine(KEY_NAME, 1, VCFInfoHeaderLine.INFO_TYPE.Float, "Chi-square Secondary Base Skew"); }
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
if ( !variation.isBiallelic() || !variation.isSNP() )
|
if ( !variation.isBiallelic() || !variation.isSNP() )
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
import org.broadinstitute.sting.utils.pileup.ReadBackedPileup;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
|
|
@ -11,7 +12,7 @@ import java.util.Map;
|
||||||
|
|
||||||
public class SpanningDeletions extends StandardVariantAnnotation {
|
public class SpanningDeletions extends StandardVariantAnnotation {
|
||||||
|
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
int deletions = 0;
|
int deletions = 0;
|
||||||
int depth = 0;
|
int depth = 0;
|
||||||
for ( String sample : stratifiedContexts.keySet() ) {
|
for ( String sample : stratifiedContexts.keySet() ) {
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.broadinstitute.sting.gatk.walkers.annotator;
|
||||||
|
|
||||||
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
import org.broadinstitute.sting.gatk.contexts.ReferenceContext;
|
||||||
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
import org.broadinstitute.sting.gatk.contexts.StratifiedAlignmentContext;
|
||||||
|
import org.broadinstitute.sting.gatk.refdata.RefMetaDataTracker;
|
||||||
import org.broadinstitute.sting.utils.genotype.Variation;
|
import org.broadinstitute.sting.utils.genotype.Variation;
|
||||||
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
import org.broadinstitute.sting.utils.genotype.vcf.VCFInfoHeaderLine;
|
||||||
|
|
||||||
|
|
@ -11,7 +12,7 @@ import java.util.Map;
|
||||||
public interface VariantAnnotation {
|
public interface VariantAnnotation {
|
||||||
|
|
||||||
// return the annotation for the given variation and context split by sample (return null for no annotation)
|
// return the annotation for the given variation and context split by sample (return null for no annotation)
|
||||||
public String annotate(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation);
|
public String annotate(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation);
|
||||||
|
|
||||||
// return the INFO key
|
// return the INFO key
|
||||||
public String getKeyName();
|
public String getKeyName();
|
||||||
|
|
|
||||||
|
|
@ -168,7 +168,7 @@ public class VariantAnnotator extends RodWalker<Integer, Integer> {
|
||||||
variant.isSNP() ) {
|
variant.isSNP() ) {
|
||||||
Map<String, StratifiedAlignmentContext> stratifiedContexts = StratifiedAlignmentContext.splitContextBySample(context.getBasePileup(), null, null);
|
Map<String, StratifiedAlignmentContext> stratifiedContexts = StratifiedAlignmentContext.splitContextBySample(context.getBasePileup(), null, null);
|
||||||
if ( stratifiedContexts != null )
|
if ( stratifiedContexts != null )
|
||||||
annotations = getAnnotations(ref, stratifiedContexts, variant, requestedAnnotations);
|
annotations = getAnnotations(tracker, ref, stratifiedContexts, variant, requestedAnnotations);
|
||||||
}
|
}
|
||||||
writeVCF(tracker, ref, context, variant, annotations);
|
writeVCF(tracker, ref, context, variant, annotations);
|
||||||
|
|
||||||
|
|
@ -210,26 +210,26 @@ public class VariantAnnotator extends RodWalker<Integer, Integer> {
|
||||||
}
|
}
|
||||||
|
|
||||||
// option #1: don't specify annotations to be used: standard annotations are used by default
|
// option #1: don't specify annotations to be used: standard annotations are used by default
|
||||||
public static Map<String, String> getAnnotations(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public static Map<String, String> getAnnotations(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
if ( standardAnnotations == null )
|
if ( standardAnnotations == null )
|
||||||
determineAllAnnotations();
|
determineAllAnnotations();
|
||||||
return getAnnotations(ref, stratifiedContexts, variation, standardAnnotations.values());
|
return getAnnotations(tracker, ref, stratifiedContexts, variation, standardAnnotations.values());
|
||||||
}
|
}
|
||||||
|
|
||||||
// option #2: specify that all possible annotations be used
|
// option #2: specify that all possible annotations be used
|
||||||
public static Map<String, String> getAllAnnotations(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
public static Map<String, String> getAllAnnotations(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation) {
|
||||||
if ( allAnnotations == null )
|
if ( allAnnotations == null )
|
||||||
determineAllAnnotations();
|
determineAllAnnotations();
|
||||||
return getAnnotations(ref, stratifiedContexts, variation, allAnnotations.values());
|
return getAnnotations(tracker, ref, stratifiedContexts, variation, allAnnotations.values());
|
||||||
}
|
}
|
||||||
|
|
||||||
// option #3: specify the exact annotations to be used
|
// option #3: specify the exact annotations to be used
|
||||||
public static Map<String, String> getAnnotations(ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation, Collection<VariantAnnotation> annotations) {
|
public static Map<String, String> getAnnotations(RefMetaDataTracker tracker, ReferenceContext ref, Map<String, StratifiedAlignmentContext> stratifiedContexts, Variation variation, Collection<VariantAnnotation> annotations) {
|
||||||
|
|
||||||
HashMap<String, String> results = new HashMap<String, String>();
|
HashMap<String, String> results = new HashMap<String, String>();
|
||||||
|
|
||||||
for ( VariantAnnotation annotator : annotations) {
|
for ( VariantAnnotation annotator : annotations) {
|
||||||
String annot = annotator.annotate(ref, stratifiedContexts, variation);
|
String annot = annotator.annotate(tracker, ref, stratifiedContexts, variation);
|
||||||
if ( annot != null ) {
|
if ( annot != null ) {
|
||||||
results.put(annotator.getKeyName(), annot);
|
results.put(annotator.getKeyName(), annot);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -257,9 +257,9 @@ public class UnifiedGenotyper extends LocusWalker<Pair<VariationCall, List<Genot
|
||||||
if ( call != null && call.first != null && call.first instanceof ArbitraryFieldsBacked ) {
|
if ( call != null && call.first != null && call.first instanceof ArbitraryFieldsBacked ) {
|
||||||
Map<String, String> annotations;
|
Map<String, String> annotations;
|
||||||
if ( UAC.ALL_ANNOTATIONS )
|
if ( UAC.ALL_ANNOTATIONS )
|
||||||
annotations = VariantAnnotator.getAllAnnotations(refContext, stratifiedContexts, call.first);
|
annotations = VariantAnnotator.getAllAnnotations(tracker, refContext, stratifiedContexts, call.first);
|
||||||
else
|
else
|
||||||
annotations = VariantAnnotator.getAnnotations(refContext, stratifiedContexts, call.first);
|
annotations = VariantAnnotator.getAnnotations(tracker, refContext, stratifiedContexts, call.first);
|
||||||
((ArbitraryFieldsBacked)call.first).setFields(annotations);
|
((ArbitraryFieldsBacked)call.first).setFields(annotations);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue