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 void
add(java.util.Collection<? extends Marker> intervals)
Add all intervalsvoid
add(Marker interval)
Add an intervalvoid
add(Markers intervals)
Add all intervalsvoid
build()
Build all treesjava.lang.String
getName()
Itree
getOrCreateTree(java.lang.String id)
Get (or create) an interval tree for IDItree
getOrCreateTreeChromo(java.lang.String chromo)
Get (or create) an interval tree based for "chromo" (chromosome name)Itree
getTree(java.lang.String key)
Get an interval tree using an IDItree
getTreeChromo(java.lang.String chromo)
Get an interval tree using a chromosome nameboolean
hasTree(java.lang.String chromo)
Is the tree 'chromo' available?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.java.util.Iterator<Itree>
iterator()
java.util.Collection<java.lang.String>
keySet()
protected Itree
newItree()
Create new tree.Markers
query(Marker marker)
Query all intervals that intersect with 'interval'Markers
query(Markers marker)
Query all intervals that intersect with any interval in 'intervals'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'void
setDebug(boolean debug)
void
setName(java.lang.String name)
int
size()
Markers
stab(java.lang.String chromo, int point)
Obtain all intervals that intersect with 'point'Markers
stab(Marker marker)
Obtain all intervals that intersect with 'marker.start'java.lang.String
toString()
-
-
-
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:
iterator
in 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:
toString
in classjava.lang.Object
-
-