Class VariantContextAnnotator
- java.lang.Object
-
- de.charite.compbio.jannovar.htsjdk.VariantContextAnnotator
-
public final class VariantContextAnnotator extends Object
Helper class for generatingVariantAnnotations
objects fromVariantContext
s.- Author:
- Manuel Holtgrewe
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VariantContextAnnotator.Options
Options class forVariantContextAnnotator
.
-
Constructor Summary
Constructors Constructor Description VariantContextAnnotator(de.charite.compbio.jannovar.data.ReferenceDictionary refDict, com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome> chromosomeMap)
Construct annotator with default options.VariantContextAnnotator(de.charite.compbio.jannovar.data.ReferenceDictionary refDict, com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome> chromosomeMap, VariantContextAnnotator.Options options)
Construct Annotator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description htsjdk.variant.variantcontext.VariantContext
annotateVariantContext(htsjdk.variant.variantcontext.VariantContext vc)
Annotate variantvc
and return annoated varianthtsjdk.variant.variantcontext.VariantContext
applyAnnotations(htsjdk.variant.variantcontext.VariantContext vc, List<de.charite.compbio.jannovar.annotation.VariantAnnotations> annos)
Write annotations fromannos
tovc
lhtsjdk.variant.variantcontext.VariantContext
applySVAnnotations(htsjdk.variant.variantcontext.VariantContext vc, List<de.charite.compbio.jannovar.annotation.SVAnnotations> annos)
com.google.common.collect.ImmutableList<de.charite.compbio.jannovar.annotation.VariantAnnotations>
buildAnnotations(htsjdk.variant.variantcontext.VariantContext vc)
Given aVariantContext
, generate oneVariantAnnotations
for each alternative allele.de.charite.compbio.jannovar.annotation.VariantAnnotations
buildErrorAnnotations(de.charite.compbio.jannovar.reference.GenomeVariant change)
de.charite.compbio.jannovar.reference.GenomeVariant
buildGenomeVariant(htsjdk.variant.variantcontext.VariantContext vc, int alleleID)
Build aGenomeVariant
from aVariantContext
object.com.google.common.collect.ImmutableList<de.charite.compbio.jannovar.annotation.SVAnnotations>
buildSVAnnotations(htsjdk.variant.variantcontext.VariantContext vc)
de.charite.compbio.jannovar.annotation.SVAnnotations
buildSVErrorAnnotations(de.charite.compbio.jannovar.reference.SVGenomeVariant change)
de.charite.compbio.jannovar.reference.SVGenomeVariant
buildSVGenomeVariant(htsjdk.variant.variantcontext.VariantContext vc)
htsjdk.variant.variantcontext.VariantContext
dispatchAnnotateVariantContext(htsjdk.variant.variantcontext.VariantContext vc)
Dispatch annotation ofVariantContext
depending on whether it describes a sequence or a structural variant.de.charite.compbio.jannovar.annotation.VariantAnnotator
getAnnotator()
com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome>
getChromosomeMap()
VariantContextAnnotator.Options
getOptions()
de.charite.compbio.jannovar.data.ReferenceDictionary
getRefDict()
void
putErrorAnnotation(htsjdk.variant.variantcontext.VariantContext vc, Set<de.charite.compbio.jannovar.annotation.AnnotationMessage> messages)
Put error annotation messages to aVariantContext
into the ANN field in the INFO column.
-
-
-
Constructor Detail
-
VariantContextAnnotator
public VariantContextAnnotator(de.charite.compbio.jannovar.data.ReferenceDictionary refDict, com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome> chromosomeMap)
Construct annotator with default options.- Parameters:
refDict
- ReferencedictionarychromosomeMap
- the chomosomal map
-
VariantContextAnnotator
public VariantContextAnnotator(de.charite.compbio.jannovar.data.ReferenceDictionary refDict, com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome> chromosomeMap, VariantContextAnnotator.Options options)
Construct Annotator.- Parameters:
refDict
-ReferenceDictionary
to use, probably fromJannovarData
chromosomeMap
-Chromosome
map to use, probably fromJannovarData
options
- configuration of the Annotator, forapplyAnnotations(htsjdk.variant.variantcontext.VariantContext, java.util.List<de.charite.compbio.jannovar.annotation.VariantAnnotations>)
-
-
Method Detail
-
getRefDict
public de.charite.compbio.jannovar.data.ReferenceDictionary getRefDict()
- Returns:
- The refDict
-
getChromosomeMap
public com.google.common.collect.ImmutableMap<Integer,de.charite.compbio.jannovar.data.Chromosome> getChromosomeMap()
- Returns:
- the chromosomal map
-
getOptions
public VariantContextAnnotator.Options getOptions()
- Returns:
- get the options of the VCAnnotator
-
getAnnotator
public de.charite.compbio.jannovar.annotation.VariantAnnotator getAnnotator()
- Returns:
- get the annotator
-
buildGenomeVariant
public de.charite.compbio.jannovar.reference.GenomeVariant buildGenomeVariant(htsjdk.variant.variantcontext.VariantContext vc, int alleleID) throws InvalidCoordinatesException
Build aGenomeVariant
from aVariantContext
object.In the case of exceptions, you can use
buildErrorAnnotations(de.charite.compbio.jannovar.reference.GenomeVariant)
to build anVariantAnnotations
with an error message.- Parameters:
vc
-VariantContext
describing the variantalleleID
- numeric identifier of the allele- Returns:
GenomeVariant
corresponding tovc
, guaranteed to be onStrand.FWD
.- Throws:
InvalidCoordinatesException
- in the case that the reference invc
is not known inrefDict
.
-
putErrorAnnotation
public void putErrorAnnotation(htsjdk.variant.variantcontext.VariantContext vc, Set<de.charite.compbio.jannovar.annotation.AnnotationMessage> messages)
Put error annotation messages to aVariantContext
into the ANN field in the INFO column.Previous values are overwritten.
- Parameters:
vc
-VariantContext
to add the error message tomessages
- set of messages to write into theVariantContext
-
annotateVariantContext
public htsjdk.variant.variantcontext.VariantContext annotateVariantContext(htsjdk.variant.variantcontext.VariantContext vc)
Annotate variantvc
and return annoated variant- Parameters:
vc
-VariantContext
to annotate
-
dispatchAnnotateVariantContext
public htsjdk.variant.variantcontext.VariantContext dispatchAnnotateVariantContext(htsjdk.variant.variantcontext.VariantContext vc) throws MixingSmallAndSVAlleles, InvalidCoordinatesException, MissingSVTypeInfoField, MissingEndInfoField, MultipleSVAlleles, InvalidBreakendDescriptionException
Dispatch annotation ofVariantContext
depending on whether it describes a sequence or a structural variant.This function looks at whether any of the alternate alleles is symbolic or the
SVTYPE
key of theINFO
field is set.
-
buildAnnotations
public com.google.common.collect.ImmutableList<de.charite.compbio.jannovar.annotation.VariantAnnotations> buildAnnotations(htsjdk.variant.variantcontext.VariantContext vc) throws InvalidCoordinatesException
Given aVariantContext
, generate oneVariantAnnotations
for each alternative allele.Note that in the case of an exception being thrown, you have to add an error annotation yourself to the
VariantContext
yourself, e.g. by usingputErrorAnnotation(htsjdk.variant.variantcontext.VariantContext, java.util.Set<de.charite.compbio.jannovar.annotation.AnnotationMessage>)
.- Parameters:
vc
- the VCF record to annotate, remains unchanged- Returns:
ImmutableList
ofVariantAnnotations
s, one for each alternative allele, in the order of the alternative alleles invc
- Throws:
InvalidCoordinatesException
- in the case of problems with resolving coordinates internally, namely building theGenomeVariant
object one one of the returnedVariantAnnotations
s.
-
applyAnnotations
public htsjdk.variant.variantcontext.VariantContext applyAnnotations(htsjdk.variant.variantcontext.VariantContext vc, List<de.charite.compbio.jannovar.annotation.VariantAnnotations> annos)
Write annotations fromannos
tovc
l- Parameters:
vc
-VariantContext
to write the annotations to (to INFO column)annos
- annotations to apply (one for each alternative allele invc
)- Returns:
- modified
vc
-
buildErrorAnnotations
public de.charite.compbio.jannovar.annotation.VariantAnnotations buildErrorAnnotations(de.charite.compbio.jannovar.reference.GenomeVariant change)
- Parameters:
change
-GenomeVariant
to build error annotation for- Returns:
- VariantAnnotations having the message set to
AnnotationMessage.ERROR_PROBLEM_DURING_ANNOTATION
.
-
buildSVErrorAnnotations
public de.charite.compbio.jannovar.annotation.SVAnnotations buildSVErrorAnnotations(de.charite.compbio.jannovar.reference.SVGenomeVariant change)
- Parameters:
change
-SVGenomeVariant
to build error annotation for- Returns:
- VariantAnnotations having the message set to
AnnotationMessage.ERROR_PROBLEM_DURING_ANNOTATION
.
-
buildSVAnnotations
public com.google.common.collect.ImmutableList<de.charite.compbio.jannovar.annotation.SVAnnotations> buildSVAnnotations(htsjdk.variant.variantcontext.VariantContext vc) throws MultipleSVAlleles, MissingSVTypeInfoField, MissingEndInfoField, InvalidCoordinatesException, InvalidBreakendDescriptionException
-
buildSVGenomeVariant
public de.charite.compbio.jannovar.reference.SVGenomeVariant buildSVGenomeVariant(htsjdk.variant.variantcontext.VariantContext vc) throws MissingSVTypeInfoField, InvalidCoordinatesException, MissingEndInfoField, InvalidBreakendDescriptionException
-
applySVAnnotations
public htsjdk.variant.variantcontext.VariantContext applySVAnnotations(htsjdk.variant.variantcontext.VariantContext vc, List<de.charite.compbio.jannovar.annotation.SVAnnotations> annos)
-
-