Class VariantContextAnnotator


  • public final class VariantContextAnnotator
    extends Object
    Helper class for generating VariantAnnotations objects from VariantContexts.
    Author:
    Manuel Holtgrewe
    • 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 variant vc and return annoated variant
      htsjdk.variant.variantcontext.VariantContext applyAnnotations​(htsjdk.variant.variantcontext.VariantContext vc, List<de.charite.compbio.jannovar.annotation.VariantAnnotations> annos)
      Write annotations from annos to vc l
      htsjdk.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 a VariantContext, generate one VariantAnnotations 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 a GenomeVariant from a VariantContext 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 of VariantContext 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 a VariantContext 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 - Referencedictionary
        chromosomeMap - the chomosomal map
    • 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
      • 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 a GenomeVariant from a VariantContext object.

        In the case of exceptions, you can use buildErrorAnnotations(de.charite.compbio.jannovar.reference.GenomeVariant) to build an VariantAnnotations with an error message.

        Parameters:
        vc - VariantContext describing the variant
        alleleID - numeric identifier of the allele
        Returns:
        GenomeVariant corresponding to vc, guaranteed to be on Strand.FWD.
        Throws:
        InvalidCoordinatesException - in the case that the reference in vc is not known in refDict.
      • putErrorAnnotation

        public void putErrorAnnotation​(htsjdk.variant.variantcontext.VariantContext vc,
                                       Set<de.charite.compbio.jannovar.annotation.AnnotationMessage> messages)
        Put error annotation messages to a VariantContext into the ANN field in the INFO column.

        Previous values are overwritten.

        Parameters:
        vc - VariantContext to add the error message to
        messages - set of messages to write into the VariantContext
      • annotateVariantContext

        public htsjdk.variant.variantcontext.VariantContext annotateVariantContext​(htsjdk.variant.variantcontext.VariantContext vc)
        Annotate variant vc and return annoated variant
        Parameters:
        vc - VariantContext to annotate
      • buildAnnotations

        public com.google.common.collect.ImmutableList<de.charite.compbio.jannovar.annotation.VariantAnnotations> buildAnnotations​(htsjdk.variant.variantcontext.VariantContext vc)
                                                                                                                            throws InvalidCoordinatesException
        Given a VariantContext, generate one VariantAnnotations 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 using putErrorAnnotation(htsjdk.variant.variantcontext.VariantContext, java.util.Set<de.charite.compbio.jannovar.annotation.AnnotationMessage>).

        Parameters:
        vc - the VCF record to annotate, remains unchanged
        Returns:
        ImmutableList of VariantAnnotationss, one for each alternative allele, in the order of the alternative alleles in vc
        Throws:
        InvalidCoordinatesException - in the case of problems with resolving coordinates internally, namely building the GenomeVariant object one one of the returned VariantAnnotationss.
      • applyAnnotations

        public htsjdk.variant.variantcontext.VariantContext applyAnnotations​(htsjdk.variant.variantcontext.VariantContext vc,
                                                                             List<de.charite.compbio.jannovar.annotation.VariantAnnotations> annos)
        Write annotations from annos to vc l
        Parameters:
        vc - VariantContext to write the annotations to (to INFO column)
        annos - annotations to apply (one for each alternative allele in vc)
        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.
      • applySVAnnotations

        public htsjdk.variant.variantcontext.VariantContext applySVAnnotations​(htsjdk.variant.variantcontext.VariantContext vc,
                                                                               List<de.charite.compbio.jannovar.annotation.SVAnnotations> annos)