Package org.snpeff.snpEffect
Class LossOfFunction
- java.lang.Object
-
- org.snpeff.snpEffect.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
-
-
Field Summary
Fields Modifier and Type Field Description static 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 transcriptstatic 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.static 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."double
deleteProteinCodingBases
double
ignoreProteinCodingAfter
double
ignoreProteinCodingBefore
static int
MND_BASES_BEFORE_LAST_JUNCTION
Number of bases before last exon-exon junction that nonsense mediated decay is supposed to occurstatic java.lang.String
VCF_INFO_LOF_NAME
static java.lang.String
VCF_INFO_NMD_NAME
-
Constructor Summary
Constructors Constructor Description LossOfFunction(Config config, java.util.Collection<VariantEffect> variantEffects)
-
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 shiftsprotected boolean
isLofDeletion(VariantEffect variantEffect)
Is this deletion a LOF? Criteria: 1) First (coding) exon deleted 2) More than 50% of coding sequence deletedboolean
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 shiftsint
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 fieldjava.lang.String
toStringVcfNmd()
Get NMD value for VCF info field
-
-
-
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 classjava.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
-
-