Add tests for memory leaks and weaken for Issue #81
[bioperl-live.git] / Bio / ClusterI.pm
blobdbba611626f5332fcb0b88a11b707b410ba5aca5
2 # BioPerl module for Bio::ClusterI
4 # Please direct questions and support issues to <bioperl-l@bioperl.org>
6 # Cared for by Shawn Hoon <shawnh@fugu-sg.org>
8 # Copyright Shawn Hoon
10 # You may distribute this module under the same terms as perl itself
12 # POD documentation - main docs before the code
14 =head1 NAME
16 Bio::ClusterI - Cluster Interface
18 =head1 SYNOPSIS
20 # see the implementations of this interface for details
22 my $cluster= $cluster->new(-description=>"POLYUBIQUITIN",
23 -members =>[$seq1,$seq2]);
24 my @members = $cluster->get_members();
25 my @sub_members = $cluster->get_members(-species=>"homo sapiens");
28 =head1 DESCRIPTION
30 This interface is the basic structure for a cluster of bioperl objects.
31 In this case it is up to the implementer to check arguments
32 and initialize whatever new object the implementing class is designed for.
34 =head1 FEEDBACK
36 =head2 Mailing Lists
38 User feedback is an integral part of the evolution of this and other
39 Bioperl modules. Send your comments and suggestions preferably to
40 the Bioperl mailing list. Your participation is much appreciated.
42 bioperl-l@bioperl.org - General discussion
43 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
45 =head2 Support
47 Please direct usage questions or support issues to the mailing list:
49 I<bioperl-l@bioperl.org>
51 rather than to the module maintainer directly. Many experienced and
52 reponsive experts will be able look at the problem and quickly
53 address it. Please include a thorough description of the problem
54 with code and data examples if at all possible.
56 =head2 Reporting Bugs
58 Report bugs to the Bioperl bug tracking system to help us keep track
59 of the bugs and their resolution. Bug reports can be submitted via the
60 web:
62 https://github.com/bioperl/bioperl-live/issues
64 =head1 AUTHOR - Shawn Hoon
66 Email shawnh@fugu-sg.org
68 =head1 APPENDIX
70 The rest of the documentation details each of the object methods.
71 Internal methods are usually preceded with a _
73 =cut
76 # Let the code begin...
78 package Bio::ClusterI;
79 use strict;
82 use base qw(Bio::Root::RootI);
84 =head1 Implementation Specific Functions
86 These functions are the ones that a specific implementation must
87 define.
89 =head2 new
91 We don't mandate but encourage implementors to support at least the
92 following named parameters upon object initialization.
94 Argument Description
95 -------- -----------
96 -display_id the display ID or name for the cluster
97 -description the consensus description or name of the cluster
98 -members the array of objects belonging to the family
100 =cut
102 =head2 display_id
104 Title : display_id
105 Usage :
106 Function: Get the display name or identifier for the cluster
107 Returns : a string
108 Args :
110 =cut
112 sub display_id{
113 shift->throw_not_implemented();
117 =head2 description
119 Title : description
120 Usage : Bio::ClusterI->description("POLYUBIQUITIN")
121 Function: get/set for the consensus description of the cluster
122 Returns : the description string
123 Args : Optional the description string
125 =cut
127 sub description{
128 shift->throw_not_implemented();
131 =head2 size
133 Title : size
134 Usage : Bio::ClusterI->size();
135 Function: get/set for the size of the family,
136 calculated from the number of members
137 Returns : the size of the family
138 Args :
140 =cut
142 sub size {
143 shift->throw_not_implemented();
146 =head2 cluster_score
148 Title : cluster_score
149 Usage : $cluster ->cluster_score(100);
150 Function: get/set for cluster_score which
151 represent the score in which the clustering
152 algorithm assigns to this cluster.
153 Returns : a number
155 =cut
157 sub cluster_score{
158 shift->throw_not_implemented();
161 =head2 get_members
163 Title : get_members
164 Usage : Bio::ClusterI->get_members(($seq1, $seq2));
165 Function: retrieve the members of the family by some criteria, for
166 example :
167 $cluster->get_members(-species => 'homo sapiens');
169 Will return all members if no criteria are provided.
171 Returns : the array of members
172 Args :
174 =cut
176 sub get_members {
177 shift->throw_not_implemented();