Package org.snpeff.snpEffect
Class SnpEffectPredictor
- java.lang.Object
-
- org.snpeff.snpEffect.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 Summary
Fields Modifier and Type Field Description static int
DEFAULT_UP_DOWN_LENGTH
static int
SMALL_VARIANT_SIZE_THRESHOLD
-
Constructor Summary
Constructors Constructor Description SnpEffectPredictor(Genome genome)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(Gene gene)
Add a gene intervalvoid
add(Marker marker)
Add a marker Note: Markers have to be added BEFORE building the interval trees.void
addAll(Markers markersToAdd)
Add a set of markersvoid
buildForest()
Create interval trees (forest)int
countTranscripts()
Count number of transcriptsMarkers
createGenomicRegions()
Create (and add) up-down stream, splice sites, intergenic, etcvoid
filterTranscriptSupportLevel(TranscriptSupportLevel maxTsl)
Filter transcripts by TSLGene
getGene(java.lang.String geneId)
Obtain a gene by geneIdGenome
getGenome()
IntervalForest
getIntervalForest()
Markers
getMarkers()
int
getSpliceRegionExonSize()
int
getSpliceRegionIntronMax()
int
getSpliceRegionIntronMin()
Transcript
getTranscript(java.lang.String trId)
int
getUpDownStreamLength()
int
keepTranscriptsProteinCoding()
Remove all transcripts that are NOT in the liststatic SnpEffectPredictor
load(Config config)
Load predictor from a binary filevoid
print()
Dump to sdtoutMarkers
query(Marker marker)
Return a collection of intervals that intersect 'marker'Gene
queryClosestGene(Marker inputInterval)
Find closest gene to this marker In case more than one 'closest' gene is found (e.g.Markers
queryDeep(Marker marker)
Return a collection of intervals that intersect 'marker' Query resulting genes, transcripts and exons to get ALL types of intervals possiblejava.util.Set<java.lang.String>
regions(Marker marker, boolean showGeneDetails, boolean compareTemplate)
Name of the regions hit by a markerjava.util.Set<java.lang.String>
regions(Marker marker, boolean showGeneDetails, boolean compareTemplate, java.lang.String id)
Name of the regions hit by a markervoid
removeNonCanonical(java.lang.String canonFile)
Remove all non-canonical transcripts If a file is provided, read "Gene => canonical_transcript" mapping from fileboolean
removeUnverified()
Remove all unverified transcriptsint
retainAllTranscripts(java.util.Set<java.lang.String> trIds)
Remove all transcripts that are NOT in the listvoid
save(java.lang.String fileName)
Save predictor to a binary filevoid
save(Config config)
Save predictor to a binary file (specified by the configuration)void
setDebug(boolean debug)
void
setSpliceRegionExonSize(int spliceRegionExonSize)
void
setSpliceRegionIntronMax(int spliceRegionIntronMax)
void
setSpliceRegionIntronMin(int spliceRegionIntronMin)
void
setSpliceSiteSize(int spliceSiteSize)
void
setUpDownStreamLength(int upDownStreamLength)
void
setUseChromosomes(boolean useChromosomes)
int
size()
java.lang.String
toString()
VariantEffects
variantEffect(Variant variant)
Predict the effect of a variantprotected void
variantEffect(Variant variant, VariantEffects variantEffects, Markers intersects)
Calculate variant effect for each marker in 'intersect'
-
-
-
Field Detail
-
DEFAULT_UP_DOWN_LENGTH
public static final int DEFAULT_UP_DOWN_LENGTH
- See Also:
- Constant Field Values
-
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
-
load
public static SnpEffectPredictor load(Config config)
Load predictor from a binary file
-
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()
-
getIntervalForest
public IntervalForest getIntervalForest()
-
getMarkers
public Markers getMarkers()
-
getSpliceRegionExonSize
public int getSpliceRegionExonSize()
-
getSpliceRegionIntronMax
public int getSpliceRegionIntronMax()
-
getSpliceRegionIntronMin
public int getSpliceRegionIntronMin()
-
getTranscript
public Transcript getTranscript(java.lang.String trId)
-
getUpDownStreamLength
public int getUpDownStreamLength()
-
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
-
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.- Parameters:
inputInterval
-
-
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)
-
setSpliceRegionExonSize
public void setSpliceRegionExonSize(int spliceRegionExonSize)
-
setSpliceRegionIntronMax
public void setSpliceRegionIntronMax(int spliceRegionIntronMax)
-
setSpliceRegionIntronMin
public void setSpliceRegionIntronMin(int spliceRegionIntronMin)
-
setSpliceSiteSize
public void setSpliceSiteSize(int spliceSiteSize)
-
setUpDownStreamLength
public void setUpDownStreamLength(int upDownStreamLength)
-
setUseChromosomes
public void setUseChromosomes(boolean useChromosomes)
-
size
public int size()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.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'
-
-