Class SnpEffectPredictor

  • All Implemented Interfaces:
    java.io.Serializable

    public class SnpEffectPredictor
    extends java.lang.Object
    implements java.io.Serializable
    Predicts effects of SNPs

    Note: Actually tries to predict any kind of SeqChange, not only SNPs . It is called SnpEffectPredictor for 'historical reasons'.

    Author:
    pcingola
    See Also:
    Serialized Form
    • Field Detail

      • SMALL_VARIANT_SIZE_THRESHOLD

        public static final int SMALL_VARIANT_SIZE_THRESHOLD
        See Also:
        Constant Field Values
    • Constructor Detail

      • SnpEffectPredictor

        public SnpEffectPredictor​(Genome genome)
    • Method Detail

      • add

        public void add​(Gene gene)
        Add a gene interval
      • add

        public void add​(Marker marker)
        Add a marker

        Note: Markers have to be added BEFORE building the interval trees. Interval trees are built the first time you call snpEffect(snp) method.

      • addAll

        public void addAll​(Markers markersToAdd)
        Add a set of markers
      • buildForest

        public void buildForest()
        Create interval trees (forest)
      • countTranscripts

        public int countTranscripts()
        Count number of transcripts
      • createGenomicRegions

        public Markers createGenomicRegions()
        Create (and add) up-down stream, splice sites, intergenic, etc
      • filterTranscriptSupportLevel

        public void filterTranscriptSupportLevel​(TranscriptSupportLevel maxTsl)
        Filter transcripts by TSL
      • getGene

        public Gene getGene​(java.lang.String geneId)
        Obtain a gene by geneId
      • getGenome

        public Genome getGenome()
      • getMarkers

        public Markers getMarkers()
      • getSpliceRegionExonSize

        public int getSpliceRegionExonSize()
      • setSpliceRegionExonSize

        public void setSpliceRegionExonSize​(int spliceRegionExonSize)
      • getSpliceRegionIntronMax

        public int getSpliceRegionIntronMax()
      • setSpliceRegionIntronMax

        public void setSpliceRegionIntronMax​(int spliceRegionIntronMax)
      • getSpliceRegionIntronMin

        public int getSpliceRegionIntronMin()
      • setSpliceRegionIntronMin

        public void setSpliceRegionIntronMin​(int spliceRegionIntronMin)
      • getTranscript

        public Transcript getTranscript​(java.lang.String trId)
      • getUpDownStreamLength

        public int getUpDownStreamLength()
      • setUpDownStreamLength

        public void setUpDownStreamLength​(int upDownStreamLength)
      • keepTranscriptsProteinCoding

        public int keepTranscriptsProteinCoding()
        Remove all transcripts that are NOT in the list
        Returns:
        : Number of transcripts removed
      • print

        public void print()
        Dump to sdtout
      • query

        public Markers query​(Marker marker)
        Return a collection of intervals that intersect 'marker'
      • queryClosestGene

        public Gene queryClosestGene​(Marker inputInterval)
        Find closest gene to this marker

        In case more than one 'closest' gene is found (e.g. two or more genes at the same distance). The following rules apply:

        i) If many genes have the same 'closest distance', coding genes are preferred.

        ii) If more than one coding gene has the same 'closet distance', a random gene is returned.

      • queryDeep

        public Markers queryDeep​(Marker marker)
        Return a collection of intervals that intersect 'marker' Query resulting genes, transcripts and exons to get ALL types of intervals possible
      • regions

        public java.util.Set<java.lang.String> regions​(Marker marker,
                                                       boolean showGeneDetails,
                                                       boolean compareTemplate)
        Name of the regions hit by a marker
        Returns:
        A set of region names
      • regions

        public java.util.Set<java.lang.String> regions​(Marker marker,
                                                       boolean showGeneDetails,
                                                       boolean compareTemplate,
                                                       java.lang.String id)
        Name of the regions hit by a marker
        Parameters:
        id - : Only use genes or transcripts matching this ID (null for any)
      • removeNonCanonical

        public void removeNonCanonical​(java.lang.String canonFile)
        Remove all non-canonical transcripts If a file is provided, read "Gene => canonical_transcript" mapping from file
      • removeUnverified

        public boolean removeUnverified()
        Remove all unverified transcripts
        Returns:
        true if ALL genes had ALL transcripts removed (i.e. something went wrong, like in cases where no transcript was checked during the building process)
      • retainAllTranscripts

        public int retainAllTranscripts​(java.util.Set<java.lang.String> trIds)
        Remove all transcripts that are NOT in the list
        Returns:
        : Number of transcripts removed
      • save

        public void save​(Config config)
        Save predictor to a binary file (specified by the configuration)
      • save

        public void save​(java.lang.String fileName)
        Save predictor to a binary file
      • setDebug

        public void setDebug​(boolean debug)
      • setSpliceSiteSize

        public void setSpliceSiteSize​(int spliceSiteSize)
      • setUseChromosomes

        public void setUseChromosomes​(boolean useChromosomes)
      • size

        public int size()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • variantEffect

        public VariantEffects variantEffect​(Variant variant)
        Predict the effect of a variant
      • variantEffect

        protected void variantEffect​(Variant variant,
                                     VariantEffects variantEffects,
                                     Markers intersects)
        Calculate variant effect for each marker in 'intersect'