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
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