Package org.snpeff.interval.tree
Class IntervalForest
- java.lang.Object
-
- org.snpeff.interval.tree.IntervalForest
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Iterable<Itree>
public class IntervalForest extends java.lang.Object implements java.io.Serializable, java.lang.Iterable<Itree>
A set of interval trees (e.g. one per chromosome, one per transcript ID, etc)- Author:
- pcingola
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description IntervalForest()IntervalForest(Markers markers)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(java.util.Collection<? extends Marker> intervals)Add all intervalsvoidadd(Marker interval)Add an intervalvoidadd(Markers intervals)Add all intervalsvoidbuild()Build all treesjava.lang.StringgetName()ItreegetOrCreateTree(java.lang.String id)Get (or create) an interval tree for IDItreegetOrCreateTreeChromo(java.lang.String chromo)Get (or create) an interval tree based for "chromo" (chromosome name)ItreegetTree(java.lang.String key)Get an interval tree using an IDItreegetTreeChromo(java.lang.String chromo)Get an interval tree using a chromosome namebooleanhasTree(java.lang.String chromo)Is the tree 'chromo' available?Markersintersect(Markers markers)Return the intersection of 'markers' and this IntervalForest For each marker 'm' in 'markers' - query the tree to get all markers intersecting 'm' - create a new interval which is the intersection of 'm' with all the resutls from the previous query.java.util.Iterator<Itree>iterator()java.util.Collection<java.lang.String>keySet()protected ItreenewItree()Create new tree.Markersquery(Marker marker)Query all intervals that intersect with 'interval'Markersquery(Markers marker)Query all intervals that intersect with any interval in 'intervals'MarkersqueryUnique(Markers markers)Query unique intervals that intersect with any interval in 'markers' I.e.: Return a set of intervals that intersects (at least once) with any interval in 'markers'voidsetDebug(boolean debug)voidsetName(java.lang.String name)intsize()Markersstab(java.lang.String chromo, int point)Obtain all intervals that intersect with 'point'Markersstab(Marker marker)Obtain all intervals that intersect with 'marker.start'java.lang.StringtoString()
-
-
-
Constructor Detail
-
IntervalForest
public IntervalForest()
-
IntervalForest
public IntervalForest(Markers markers)
-
-
Method Detail
-
add
public void add(java.util.Collection<? extends Marker> intervals)
Add all intervals
-
add
public void add(Marker interval)
Add an interval
-
add
public void add(Markers intervals)
Add all intervals
-
build
public void build()
Build all trees
-
getName
public java.lang.String getName()
-
getOrCreateTree
public Itree getOrCreateTree(java.lang.String id)
Get (or create) an interval tree for ID
-
getOrCreateTreeChromo
public Itree getOrCreateTreeChromo(java.lang.String chromo)
Get (or create) an interval tree based for "chromo" (chromosome name)
-
getTree
public Itree getTree(java.lang.String key)
Get an interval tree using an ID
-
getTreeChromo
public Itree getTreeChromo(java.lang.String chromo)
Get an interval tree using a chromosome name
-
hasTree
public boolean hasTree(java.lang.String chromo)
Is the tree 'chromo' available?
-
intersect
public Markers intersect(Markers markers)
Return the intersection of 'markers' and this IntervalForest For each marker 'm' in 'markers' - query the tree to get all markers intersecting 'm' - create a new interval which is the intersection of 'm' with all the resutls from the previous query.
-
iterator
public java.util.Iterator<Itree> iterator()
- Specified by:
iteratorin interfacejava.lang.Iterable<Itree>
-
keySet
public java.util.Collection<java.lang.String> keySet()
-
newItree
protected Itree newItree()
Create new tree. In oder to change the implementation, only this method should be changed.
-
query
public Markers query(Markers marker)
Query all intervals that intersect with any interval in 'intervals'
-
queryUnique
public Markers queryUnique(Markers markers)
Query unique intervals that intersect with any interval in 'markers' I.e.: Return a set of intervals that intersects (at least once) with any interval in 'markers'
-
setDebug
public void setDebug(boolean debug)
-
setName
public void setName(java.lang.String name)
-
size
public int size()
-
stab
public Markers stab(java.lang.String chromo, int point)
Obtain all intervals that intersect with 'point'
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-