LICENSE
Copyright [1999-2015] Wellcome Trust Sanger Institute and the EMBL-European Bioinformatics Institute Copyright [2016-2024] EMBL-European Bioinformatics Institute
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CONTACT
Please email comments or questions to the public Ensembl
developers list at <http://lists.ensembl.org/mailman/listinfo/dev>.
Questions may also be sent to the Ensembl help desk at
<http://www.ensembl.org/Help/Contact>.
NAME
Bio::EnsEMBL::Utils::Tree::Interval::Mutable::PP
DESCRIPTION
Pure Perl fall back implementation of a mutable interval tree, uses augmented AVL binary balanced trees.
METHODS
new
Arg [] : none
Example : my $tree = Bio::EnsEMBL::Utils::Tree::Mutable();
Description : Constructor. Creates a new mutable tree instance
Returntype : Bio::EnsEMBL::Utils::Tree::Interval::Mutable::PP
Exceptions : none
Caller : general
root
Arg [] : none
Example : my $root = $tree->root;
Description : Returns the tree top node
Returntype : Bio::EnsEMBL::Utils::Tree::Interval::Mutable::Node
Exceptions : none
Caller : general
size
Arg [] : none
Example : print "Tree size is ", $tree->size, "\n";
Description : Return the size of the tree, i.e. the number of nodes
Returntype : scalar
Exceptions : none
Caller : general
insert
Arg [1] : Bio::EnsEMBL::Utils::Interval
Interval to insert
Example : $tree->insert(Bio::EnsEMBL::Utils::Interval->new(10, 20, 'data'));
Description : Insert an interval in the tree
Returntype : scalar (1), upon success
Exceptions : thrown if Interval spans origin (has start > end)
Caller : general
search
Arg [1] : scalar, $start
the starting point of the interval to search
Arg [2] : scalar, $end
the end point of the interval to search
Example : my $result = $tree->search(85, 100);
Description : Search the intervals in the tree overlapping the query
Returntype : Arrayref of Bio::EnsEMBL::Utils::Interval instances
Exceptions : none
Caller : general
remove
Arg [1] : Bio::EnsEMBL::Utils::Interval
The interval to remove from the tree
Example : $tree->remove($i);
Description : Remove an interval from the tree
Returntype : scalar, 1 if removal is successful, 0 otherwise
Exceptions : none
Caller : general