SequenceRangeGrouping Class |
Namespace: Bio
The SequenceRangeGrouping type exposes the following members.
Name | Description | |
---|---|---|
SequenceRangeGrouping |
Creates an empty grouping.
| |
SequenceRangeGrouping(IEnumerableISequenceRange) |
Creates a grouping object from a set of currently ungrouped
ISequenceRange objects.
|
Name | Description | |
---|---|---|
GroupIDs |
An enumeration of all the SequenceRange IDs contained in
this grouping.
| |
GroupRanges |
Gets sequence range from all the groups
|
Name | Description | |
---|---|---|
Add |
Adds a SequenceRange to the grouping, creating a new bucket
if the ID of the range has not yet been added to the grouping
or adding to an existing bucket if it has.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
Flatten |
Ungroups each of the ISequenceRanges and places them into a flat list
of every ISequenceRange stored across each of the groups in this grouping.
The resulting list will still be ordered in such a way that each item of
a particular group will be enumerated before starting the enumeration of
items from another group.
| |
GetGroup |
Returns a list of SequenceRange objects each of which has the
ID specified in the rangeID parameter.
| |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Intersect |
Returns overlapping sequence ranges from this and specified SequenceRangeGroup for each group in this grouping.
For instance if you had in group 'Chr1' the following ranges:
Ranges in this instance Ranges in the query
0 to 10 20 to 40
30 to 50 70 to 100
60 to 80 400 to 800
300 to 500 850 to 900
600 to 700 900 to 1200
800 to 1000
Result for minOverlap set to 1
1. If outputType is OverlappingPiecesOfIntervals.
30 to 40
70 to 80
400 to 500
600 o 700
850 to 900
900 to 1000
2. If outputType is OverlappingIntervals
30 to 50
60 to 80
300 to 500
600 to 700
800 to 1000
Running this method creates all new ISequenceRange objects and adds them
to the newly created SequenceRangeGrouping returned here.
| |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
MergeOverlaps(Int64, Boolean) |
For each group in the grouping, this method traverses through each range
in the group and normalizes the ranges down to the minimal spanning set
required to still show the same range spans.
For instance if you had in group 'Chr1' the following ranges:
-> 10 to 100
-> 200 to 250
-> 35 to 45
-> 90 to 150
The result of MergeOverlaps would reduce the ranges in the 'Chr1' group to:
For minOverlap = 0
-> 10 to 150
-> 200 to 250
for minOverlap = -50
-> 10 to 250
Running this method creates all new ISequenceRange objects and adds them
to the newly created SequenceRangeGrouping returned here.
| |
MergeOverlaps(SequenceRangeGrouping, Int64, Boolean) |
Merges query sequence ranges with this sequence ranges.
For example,
Ranges in this instance Ranges in the query
3 to 15 4 to 10
5 to 18 11 to 20
Result for minOverlap set to 1
3 to 20
Running this method creates all new ISequenceRange objects and adds them
to the newly created SequenceRangeGrouping returned here.
| |
Subtract |
Subtracts the query SequenceRangeGrouping from this SequenceRangeGrouping.
For example,
Ranges in this instance Ranges in the query
1 to 4 2 to 6
4 to 8 3 to 6
8 to 12 9 to 14
25 to 35
Result for minOverlap set to 1
1. If outputType is IntervalsWithNoOverlap
25 to 35
2. If outputType is NonOverlappingPiecesOfIntervals
1 to 2
6 to 8
8 to 9
25 to 35
Running this method creates all new ISequenceRange objects and adds them
to the newly created SequenceRangeGrouping returned here.
| |
ToString |
Converts sequence range from all the groups to string.
(Overrides ObjectToString.) |