Bio::Phylo::Set - Subset of the parts inside a container


Bio-Phylo documentation Contained in the Bio-Phylo distribution.

Index


Code Index:

NAME

Top

Bio::Phylo::Set - Subset of the parts inside a container

SYNOPSIS

Top

 use Bio::Phylo::Factory;
 my $fac = Bio::Phylo::Factory->new;

 my $forest = $fac->create_forest;
 my $tree = $fac->create_tree;
 $forest->insert($tree);

 my $set = $fac->create_set( -name => 'TreeSet1' );
 $forest->add_set($set);
 $forest->add_to_set($tree,$set); # $tree is now part of TreeSet1

DESCRIPTION

Top

Many Bio::Phylo objects are segmented: they contain one or more subparts of the same type. For example, a matrix contains multiple rows; each row contains multiple cells; a tree contains nodes, and so on. Segmented objects all inherit from Bio::Phylo::Listable. In many cases it is useful to be able to define subsets of the contents of segmented objects, for example sets of taxon objects inside a taxa block. The Bio::Phylo::Listable object allows this through a number of methods (add_set, remove_set, add_to_set, remove_from_set and so on). Those methods delegate the actual management of the set contents to the Bio::Phylo::Set object, the class whose documentation you're reading now. Consult the documentation for SETS MANAGEMENT in Bio::Phylo::Listable for more information on how to use this feature.

METHODS

Top

CONSTRUCTOR

new()
 Type    : Constructor
 Title   : new
 Usage   : my $anno = Bio::Phylo::Set->new;
 Function: Initializes a Bio::Phylo::Set object.
 Returns : A Bio::Phylo::Set object.
 Args    : optional constructor arguments are key/value
 		   pairs where the key corresponds with any of
 		   the methods that starts with set_ (i.e. mutators) 
 		   and the value is the permitted argument for such 
 		   a method. The method name is changed such that,
 		   in order to access the set_value($val) method
 		   in the constructor, you would pass -value => $val

TESTS

can_contain()

Tests if argument can be inserted in invocant.

 Type    : Test
 Title   : can_contain
 Usage   : &do_something if $listable->can_contain( $obj );
 Function: Tests if $obj can be inserted in $listable
 Returns : BOOL
 Args    : An $obj to test

SEE ALSO

Top

Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com.

Consult the documentation for SETS MANAGEMENT in Bio::Phylo::Listable for more info on how to define subsets of the contents of segmented objects.

Superclasses

Bio::Phylo::Listable

This object inherits from Bio::Phylo::Listable, so methods defined there are also applicable here.

CITATION

Top

If you use Bio::Phylo in published research, please cite it:

Rutger A Vos, Jason Caravas, Klaas Hartmann, Mark A Jensen and Chase Miller, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics 12:63. http://dx.doi.org/10.1186/1471-2105-12-63

REVISION

Top

 $Id: Set.pm 1660 2011-04-02 18:29:40Z rvos $


Bio-Phylo documentation Contained in the Bio-Phylo distribution.
package Bio::Phylo::Set;
use strict;
use base 'Bio::Phylo::Listable';
use Bio::Phylo::Util::CONSTANT qw'_NONE_ _SET_';

{
    my $NONE = _NONE_;
    my $TYPE = _SET_;

    #     sub new {
    #         return shift->SUPER::new( '-tag' => 'class', @_ );
    #     }

    sub can_contain {
        my ( $self, @obj ) = @_;
        for my $obj (@obj) {
            return 0 if ref $obj;
        }
        return 1;
    }
    sub _container { $NONE }
    sub _type      { $TYPE }
    sub _tag       { 'set' }
}

# podinherit_insert_token

1;