public class IntervalList extends java.lang.Object implements java.lang.Iterable<Interval>
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
INTERVAL_LIST_FILE_EXTENSION |
Constructor and Description |
---|
IntervalList(SAMFileHeader header)
Constructs a new interval list using the supplied header information.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Interval interval)
Adds an interval to the list of intervals.
|
void |
addall(java.util.Collection<Interval> intervals)
Adds a Collection of intervals to the list of intervals.
|
static java.util.List<Interval> |
breakIntervalsAtBandMultiples(java.util.List<Interval> intervals,
int bandMultiple)
Given a list of Intervals and a band multiple, this method will return a list of Intervals such that all of the intervals
do not straddle integer multiples of that band.
|
static IntervalList |
concatenate(java.util.Collection<IntervalList> lists)
A utility function for merging a list of IntervalLists, checks for equal dictionaries.
|
static IntervalList |
copyOf(IntervalList list)
creates a independent copy of the given IntervalList
|
static IntervalList |
difference(java.util.Collection<IntervalList> lists1,
java.util.Collection<IntervalList> lists2)
A utility function for finding the difference between two IntervalLists.
|
boolean |
equals(java.lang.Object o) |
static IntervalList |
fromFile(java.io.File file)
Parses an interval list from a file.
|
static IntervalList |
fromFiles(java.util.Collection<java.io.File> intervalListFiles)
Calls
fromFile(java.io.File) on the provided files, and returns their union(java.util.Collection) . |
static IntervalList |
fromName(SAMFileHeader header,
java.lang.String sequenceName)
Creates an IntervalList from the given sequence name
|
static IntervalList |
fromReader(java.io.BufferedReader in)
Parses an interval list from a reader in a stream based fashion.
|
long |
getBaseCount()
Gets the (potentially redundant) sum of the length of the intervals in the list.
|
SAMFileHeader |
getHeader()
Gets the header (if there is one) for the interval list.
|
java.util.List<Interval> |
getIntervals()
Gets the set of intervals as held internally.
|
long |
getUniqueBaseCount()
Gets the count of unique bases represented by the intervals in the list.
|
java.util.List<Interval> |
getUniqueIntervals()
Deprecated.
|
java.util.List<Interval> |
getUniqueIntervals(boolean concatenateNames)
Deprecated.
|
static java.util.List<Interval> |
getUniqueIntervals(IntervalList list,
boolean concatenateNames)
Merges list of intervals and reduces them like htsjdk.samtools.util.IntervalList#getUniqueIntervals()
|
static java.util.List<Interval> |
getUniqueIntervals(IntervalList list,
boolean concatenateNames,
boolean enforceSameStrands)
Merges list of intervals and reduces them like htsjdk.samtools.util.IntervalList#getUniqueIntervals()
|
int |
hashCode() |
static IntervalList |
intersection(java.util.Collection<IntervalList> lists)
A utility function for intersecting a list of IntervalLists, checks for equal dictionaries.
|
static IntervalList |
intersection(IntervalList list1,
IntervalList list2)
A utility function for generating the intersection of two IntervalLists, checks for equal dictionaries.
|
static IntervalList |
invert(IntervalList list)
inverts an IntervalList and returns one that has exactly all the bases in the dictionary that the original one does not.
|
java.util.Iterator<Interval> |
iterator()
Returns an iterator over the intervals.
|
IntervalList |
padded(int padding)
Returns a new IntervalList where each interval is padded by 'padding' bases on each side.
|
IntervalList |
padded(int before,
int after)
Returns a new IntervalList where each interval is padded by the specified amount of bases.
|
int |
size()
Returns the count of intervals in the list.
|
void |
sort()
Deprecated.
|
IntervalList |
sorted()
returns an independent sorted IntervalList
|
static IntervalList |
subtract(java.util.Collection<IntervalList> lhs,
java.util.Collection<IntervalList> rhs)
A utility function for subtracting a collection of IntervalLists from another.
|
static IntervalList |
subtract(IntervalList lhs,
IntervalList rhs)
A utility function for subtracting a single IntervalList from another.
|
static IntervalList |
union(java.util.Collection<IntervalList> lists)
A utility function for finding the union of a list of IntervalLists, checks for equal dictionaries.
|
static IntervalList |
union(IntervalList list1,
IntervalList list2) |
void |
unique()
Deprecated.
|
void |
unique(boolean concatenateNames)
Deprecated.
|
IntervalList |
uniqued()
Returned an independent IntervalList that is sorted and uniquified.
|
IntervalList |
uniqued(boolean concatenateNames)
Returned an independent IntervalList that is sorted and uniquified.
|
void |
write(java.io.File file)
Writes out the list of intervals to the supplied file.
|
public static final java.lang.String INTERVAL_LIST_FILE_EXTENSION
public IntervalList(SAMFileHeader header)
public SAMFileHeader getHeader()
public java.util.Iterator<Interval> iterator()
iterator
in interface java.lang.Iterable<Interval>
public void add(Interval interval)
public void addall(java.util.Collection<Interval> intervals)
@Deprecated public void sort()
public IntervalList padded(int before, int after)
public IntervalList padded(int padding)
public IntervalList sorted()
public IntervalList uniqued()
public IntervalList uniqued(boolean concatenateNames)
concatenateNames
- If false, interval names are not concatenated when merging intervals to save space.@Deprecated public void unique()
@Deprecated public void unique(boolean concatenateNames)
concatenateNames
- If false, interval names are not concatenated when merging intervals to save space.public java.util.List<Interval> getIntervals()
@Deprecated public java.util.List<Interval> getUniqueIntervals()
public static java.util.List<Interval> getUniqueIntervals(IntervalList list, boolean concatenateNames)
concatenateNames
- If false, the merged interval has the name of the earlier interval. This keeps name shorter.public static java.util.List<Interval> getUniqueIntervals(IntervalList list, boolean concatenateNames, boolean enforceSameStrands)
concatenateNames
- If false, the merged interval has the name of the earlier interval. This keeps name shorter.enforceSameStrands
- enforce that merged intervals have the same strand, otherwise ignore.@Deprecated public java.util.List<Interval> getUniqueIntervals(boolean concatenateNames)
concatenateNames
- If false, the merged interval has the name of the earlier interval. This keeps name shorter.public static java.util.List<Interval> breakIntervalsAtBandMultiples(java.util.List<Interval> intervals, int bandMultiple)
intervals
- A list of IntervalbandMultiple
- integer value (> 0) to break up intervals in the list at integer multiples ofpublic long getBaseCount()
public long getUniqueBaseCount()
public int size()
public static IntervalList copyOf(IntervalList list)
list
- public static IntervalList fromFile(java.io.File file)
file
- the file containing the intervalspublic static IntervalList fromName(SAMFileHeader header, java.lang.String sequenceName)
header
- header to use to create IntervalListsequenceName
- name of sequence in headerpublic static IntervalList fromFiles(java.util.Collection<java.io.File> intervalListFiles)
fromFile(java.io.File)
on the provided files, and returns their union(java.util.Collection)
.public static IntervalList fromReader(java.io.BufferedReader in)
in
- a BufferedReader that can be read frompublic void write(java.io.File file)
file
- a file to write to. If exists it will be overwritten.public static IntervalList intersection(IntervalList list1, IntervalList list2)
list1
- the first IntervalListlist2
- the second IntervalListpublic static IntervalList intersection(java.util.Collection<IntervalList> lists)
lists
- the list of IntervalListpublic static IntervalList concatenate(java.util.Collection<IntervalList> lists)
lists
- a list of IntervalListpublic static IntervalList union(java.util.Collection<IntervalList> lists)
lists
- the list of IntervalListpublic static IntervalList union(IntervalList list1, IntervalList list2)
public static IntervalList invert(IntervalList list)
list
- an IntervalListpublic static IntervalList subtract(java.util.Collection<IntervalList> lhs, java.util.Collection<IntervalList> rhs)
lhs
- the collection of IntervalList from which to subtract intervalsrhs
- the collection of intervals to subtractpublic static IntervalList subtract(IntervalList lhs, IntervalList rhs)
lhs
- the IntervalList from which to subtract intervalsrhs
- the IntervalList to subtractpublic static IntervalList difference(java.util.Collection<IntervalList> lists1, java.util.Collection<IntervalList> lists2)
lists1
- the first collection of IntervalListslists2
- the second collection of IntervalListspublic boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object