Class LossOfFunction


  • public class LossOfFunction
    extends java.lang.Object
    Analyze if a set of effects are can create a "Loss Of Function" and "Nonsense mediated decays" effects. Of course, this is a prediction based on analysis of groups of "putative effects". Proper wet-lab validation is required to infer "real" LOF. References: I used the LOF definition used in the following paper "A Systematic Survey of Loss-of-Function Variants in Human Protein-Coding Genes", Science, 2012 From the paper: We adopted a definition for LoF variants expected to correlate with complete loss of function of the affected transcripts: stop codon-introducing (nonsense) or splice site-disrupting single-nucleotide variants (SNVs), insertion/deletion (indel) variants predicted to disrupt a transcript's reading frame, or larger deletions removing either the first exon or more than 50% of the protein-coding sequence of the affected transcript. Both nonsense SNVs and frameshift indels are enriched toward the 3' end of the affected gene, consistent with a greater tolerance to truncation close to the end of the coding sequence (Fig. 1C); putative LoF variants identified in the last 5% of the coding region were thus systematically removed from our high-confidence set.
    Author:
    pcingola
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean isLof()
      Can this collection of effects produce a "Loss of function"
      protected boolean isLof​(VariantEffect variantEffect)
      Is this single change a LOF? Criteria: 1) Core splice sites acceptors or donors (only CORE ones) 2) Stop gained (if this happens at the last part of the protein, we assume it has no effect) 3) Frame shifts
      protected boolean isLofDeletion​(VariantEffect variantEffect)
      Is this deletion a LOF? Criteria: 1) First (coding) exon deleted 2) More than 50% of coding sequence deleted
      boolean isNmd()
      Can this collection of effects produce a "Nonsense mediated decay"?
      protected boolean isNmd​(VariantEffect variantEffect)
      Is this single change a LOF? Criteria: 1) Core splice sites acceptors or donors (only CORE ones) 2) Stop gained (if this happens at the last part of the protein, we assume it has no effect) 3) Frame shifts
      int lastNmdPos​(Transcript tr)
      Find the last position where a nonsense mediated decay is supposed to occurr This is 50 bases (MND_BASES_BEFORE_LAST_JUNCTION bases) before the last exon-exon junction.
      java.lang.String toString()  
      java.lang.String toStringVcfLof()
      Get LOF value for VCF info field
      java.lang.String toStringVcfNmd()
      Get NMD value for VCF info field
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • VCF_INFO_NMD_NAME

        public static final java.lang.String VCF_INFO_NMD_NAME
        See Also:
        Constant Field Values
      • VCF_INFO_LOF_NAME

        public static final java.lang.String VCF_INFO_LOF_NAME
        See Also:
        Constant Field Values
      • MND_BASES_BEFORE_LAST_JUNCTION

        public static final int MND_BASES_BEFORE_LAST_JUNCTION
        Number of bases before last exon-exon junction that nonsense mediated decay is supposed to occur
        See Also:
        Constant Field Values
      • DEFAULT_IGNORE_PROTEIN_CODING_AFTER

        public static final double DEFAULT_IGNORE_PROTEIN_CODING_AFTER
        It is assumed that even with a protein coding change at the last 5% of the protein, the protein could still be functional.
        See Also:
        Constant Field Values
      • DEFAULT_IGNORE_PROTEIN_CODING_BEFORE

        public static final double DEFAULT_IGNORE_PROTEIN_CODING_BEFORE
        It is assumed that even with a protein coding change at the first 5% of the protein: "..suggesting some disrupted transcripts are rescued by transcriptional reinitiation at an alternative start codon."
        See Also:
        Constant Field Values
      • DEFAULT_DELETE_PROTEIN_CODING_BASES

        public static final double DEFAULT_DELETE_PROTEIN_CODING_BASES
        Larger deletions removing either the first exon or more than 50% of the protein-coding sequence of the affected transcript
        See Also:
        Constant Field Values
      • ignoreProteinCodingAfter

        public double ignoreProteinCodingAfter
      • ignoreProteinCodingBefore

        public double ignoreProteinCodingBefore
      • deleteProteinCodingBases

        public double deleteProteinCodingBases
    • Constructor Detail

      • LossOfFunction

        public LossOfFunction​(Config config,
                              java.util.Collection<VariantEffect> variantEffects)
    • Method Detail

      • isLof

        public boolean isLof()
        Can this collection of effects produce a "Loss of function"
      • isLof

        protected boolean isLof​(VariantEffect variantEffect)
        Is this single change a LOF? Criteria: 1) Core splice sites acceptors or donors (only CORE ones) 2) Stop gained (if this happens at the last part of the protein, we assume it has no effect) 3) Frame shifts
      • isLofDeletion

        protected boolean isLofDeletion​(VariantEffect variantEffect)
        Is this deletion a LOF? Criteria: 1) First (coding) exon deleted 2) More than 50% of coding sequence deleted
      • isNmd

        public boolean isNmd()
        Can this collection of effects produce a "Nonsense mediated decay"?
      • isNmd

        protected boolean isNmd​(VariantEffect variantEffect)
        Is this single change a LOF? Criteria: 1) Core splice sites acceptors or donors (only CORE ones) 2) Stop gained (if this happens at the last part of the protein, we assume it has no effect) 3) Frame shifts
      • lastNmdPos

        public int lastNmdPos​(Transcript tr)
        Find the last position where a nonsense mediated decay is supposed to occurr This is 50 bases (MND_BASES_BEFORE_LAST_JUNCTION bases) before the last exon-exon junction.
      • toString

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

        public java.lang.String toStringVcfLof()
        Get LOF value for VCF info field
      • toStringVcfNmd

        public java.lang.String toStringVcfNmd()
        Get NMD value for VCF info field