tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / Bio / Cluster / UniGeneI.pm
blobf243503f19b92692a54f3881275b6781e777ccda
1 # $Id$
3 # BioPerl module for Bio::Cluster::UniGeneI.pm
5 # Please direct questions and support issues to <bioperl-l@bioperl.org>
7 # Cared for by Andrew Macgregor <andrew at cbbc.murdoch.edu.au>
9 # Copyright Andrew Macgregor, Jo-Ann Stanton, David Green
10 # Molecular Embryology Group, Anatomy & Structural Biology, University of Otago
11 # http://anatomy.otago.ac.nz/meg
13 # You may distribute this module under the same terms as perl itself
15 # _history
16 # April 31, 2002 - Initial implementation by Andrew Macgregor
17 # POD documentation - main docs before the code
19 =head1 NAME
21 Bio::Cluster::UniGeneI - abstract interface of UniGene object
23 =head1 SYNOPSIS
27 =head1 DESCRIPTION
29 This is the general interface for a UniGene cluster representation in
30 Bioperl. You cannot use this module directly, use an implementation
31 instead.
33 You can create UniGene cluster objects yourself by instantiating
34 L<Bio::Cluster::UniGene>. If you read UniGene clusters from a
35 ClusterIO parser, you will get objects implementing this interface,
36 most likely instances of said UniGene class.
38 L<Bio::Cluster::UniGeneI> inherits from L<Bio::ClusterI>, so you can
39 use it wherever a cluster object is expected.
41 =head1 FEEDBACK
45 =head2 Mailing Lists
47 User feedback is an integral part of the evolution of this and other
48 Bioperl modules. Send your comments and suggestions preferably to one
49 of the Bioperl mailing lists. Your participation is much appreciated.
51 bioperl-l@bioperl.org - General discussion
52 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
54 =head2 Support
56 Please direct usage questions or support issues to the mailing list:
58 I<bioperl-l@bioperl.org>
60 rather than to the module maintainer directly. Many experienced and
61 reponsive experts will be able look at the problem and quickly
62 address it. Please include a thorough description of the problem
63 with code and data examples if at all possible.
65 =head2 Reporting Bugs
67 Report bugs to the Bioperl bug tracking system to help us keep track
68 the bugs and their resolution. Bug reports can be submitted via the
69 web:
71 http://bugzilla.open-bio.org/
73 =head1 AUTHOR - Andrew Macgregor
75 Email andrew at cbbc.murdoch.edu.au
78 =head1 APPENDIX
81 The rest of the documentation details each of the object
82 methods. Internal methods are usually preceded with a "_".
84 =cut
86 # Let the code begin...
89 package Bio::Cluster::UniGeneI;
90 use strict;
93 use base qw(Bio::ClusterI);
96 =head2 unigene_id
98 Title : unigene_id
99 Usage : unigene_id();
100 Function: Returns the unigene_id associated with the object.
101 Example : $id = $unigene->unigene_id or $unigene->unigene_id($id)
102 Returns : A string
103 Args : None or an id
106 =cut
108 sub unigene_id {
109 my ($self) = @_;
110 $self->throw_not_implemented;
115 =head2 title
117 Title : title
118 Usage : title();
119 Function: Returns the title associated with the object.
120 Example : $title = $unigene->title or $unigene->title($title)
121 Returns : A string
122 Args : None or a title
125 =cut
127 sub title {
128 my ($self) = @_;
129 $self->throw_not_implemented;
133 =head2 gene
135 Title : gene
136 Usage : gene();
137 Function: Returns the gene associated with the object.
138 Example : $gene = $unigene->gene or $unigene->gene($gene)
139 Returns : A string
140 Args : None or a gene
143 =cut
145 sub gene {
146 my ($self) = @_;
147 $self->throw_not_implemented;
151 =head2 cytoband
153 Title : cytoband
154 Usage : cytoband();
155 Function: Returns the cytoband associated with the object.
156 Example : $cytoband = $unigene->cytoband or $unigene->cytoband($cytoband)
157 Returns : A string
158 Args : None or a cytoband
161 =cut
163 sub cytoband {
164 my ($self) = @_;
165 $self->throw_not_implemented;
169 =head2 mgi
171 Title : mgi
172 Usage : mgi();
173 Function: Returns the mgi associated with the object.
174 Example : $mgi = $unigene->mgi or $unigene->mgi($mgi)
175 Returns : A string
176 Args : None or a mgi
179 =cut
181 sub mgi {
182 my ($self) = @_;
183 $self->throw_not_implemented;
187 =head2 locuslink
189 Title : locuslink
190 Usage : locuslink();
191 Function: Returns or stores a reference to an array containing locuslink data.
192 This should really only be used by ClusterIO, not directly
193 Returns : An array reference
194 Args : None or an array reference
196 =cut
198 sub locuslink {
199 my ($self) = @_;
200 $self->throw_not_implemented;
204 =head2 homol
206 Title : homol
207 Usage : homol();
208 Function: Returns the homol entry associated with the object.
209 Example : $homol = $unigene->homol or $unigene->homol($homol)
210 Returns : A string
211 Args : None or a homol entry
213 =cut
215 sub homol {
216 my ($self) = @_;
217 $self->throw_not_implemented;
221 =head2 restr_expr
223 Title : restr_expr
224 Usage : restr_expr();
225 Function: Returns the restr_expr entry associated with the object.
226 Example : $restr_expr = $unigene->restr_expr or $unigene->restr_expr($restr_expr)
227 Returns : A string
228 Args : None or a restr_expr entry
230 =cut
232 sub restr_expr {
233 my ($self) = @_;
234 $self->throw_not_implemented;
238 =head2 gnm_terminus
240 Title : gnm_terminus
241 Usage : gnm_terminus();
242 Function: Returns the gnm_terminus associated with the object.
243 Example : $gnm_terminus = $unigene->gnm_terminus or $unigene->gnm_terminus($gnm_terminus)
244 Returns : A string
245 Args : None or a gnm_terminus
247 =cut
249 sub gnm_terminus {
250 my ($self) = @_;
251 $self->throw_not_implemented;
255 =head2 scount
257 Title : scount
258 Usage : scount();
259 Function: Returns the scount associated with the object.
260 Example : $scount = $unigene->scount or $unigene->scount($scount)
261 Returns : A string
262 Args : None or a scount
264 =cut
266 sub scount {
267 my ($self) = @_;
268 $self->throw_not_implemented;
273 =head2 express
275 Title : express
276 Usage : express();
277 Function: Returns or stores a reference to an array containing tissue expression data.
278 This should really only be used by ClusterIO, not directly
279 Returns : An array reference
280 Args : None or an array reference
282 =cut
284 sub express {
285 my ($self) = @_;
286 $self->throw_not_implemented;
290 =head2 chromosome
292 Title : chromosome
293 Usage : chromosome();
294 Function: Returns or stores a reference to an array containing chromosome lines
295 This should really only be used by ClusterIO, not directly
296 Returns : An array reference
297 Args : None or an array reference
299 =cut
301 sub chromosome {
302 my ($self) = @_;
303 $self->throw_not_implemented;
307 =head2 sts
309 Title : sts
310 Usage : sts();
311 Function: Returns or stores a reference to an array containing sts lines
312 This should really only be used by ClusterIO, not directly
313 Returns : An array reference
314 Args : None or an array reference
316 =cut
318 sub sts {
319 my ($self) = @_;
320 $self->throw_not_implemented;
324 =head2 txmap
326 Title : txmap
327 Usage : txmap();
328 Function: Returns or stores a reference to an array containing txmap lines
329 Returns : An array reference
330 Args : None or an array reference
332 =cut
334 sub txmap {
335 my ($self) = @_;
336 $self->throw_not_implemented;
340 =head2 protsim
342 Title : protsim
343 Usage : protsim();
344 Function: Returns or stores a reference to an array containing protsim lines
345 This should really only be used by ClusterIO, not directly
346 Returns : An array reference
347 Args : None or an array reference
349 =cut
351 sub protsim {
352 my ($self) = @_;
353 $self->throw_not_implemented;
357 =head2 sequence
359 Title : sequence
360 Usage : sequence();
361 Function: Returns or stores a reference to an array containing sequence data
362 This should really only be used by ClusterIO, not directly
363 Returns : An array reference
364 Args : None or an array reference
366 =cut
368 sub sequence {
369 my ($self) = @_;
370 $self->throw_not_implemented;
373 =head2 species
375 Title : species
376 Usage : $obj->species($newval)
377 Function: Get the species object for this Unigene cluster.
378 Example :
379 Returns : value of species (a L<Bio::Species> object)
380 Args :
383 =cut
385 sub species{
386 shift->throw_not_implemented();
389 =head1 Methods inherited from L<Bio::ClusterI>
391 =cut
393 =head2 display_id
395 Title : display_id
396 Usage :
397 Function: Get/set the display name or identifier for the cluster
398 Returns : a string
399 Args : optional, on set the display ID ( a string)
401 =cut
403 =head2 description
405 Title : description
406 Usage : Bio::ClusterI->description("POLYUBIQUITIN")
407 Function: get/set for the consensus description of the cluster
408 Returns : the description string
409 Args : Optional the description string
411 =cut
413 =head2 size
415 Title : size
416 Usage : Bio::ClusterI->size();
417 Function: get/set for the size of the family,
418 calculated from the number of members
419 Returns : the size of the family
420 Args :
422 =cut
424 =head2 cluster_score
426 Title : cluster_score
427 Usage : $cluster ->cluster_score(100);
428 Function: get/set for cluster_score which
429 represent the score in which the clustering
430 algorithm assigns to this cluster.
431 Returns : a number
433 =cut
435 =head2 get_members
437 Title : get_members
438 Usage : Bio::ClusterI->get_members(($seq1, $seq2));
439 Function: retrieve the members of the family by some criteria, for
440 example :
441 $cluster->get_members(-species => 'homo sapiens');
443 Will return all members if no criteria are provided.
445 Returns : the array of members
446 Args :
448 =cut