maint: restructure to use Dist::Zilla
[bioperl-live.git] / lib / Bio / Cluster / UniGeneI.pm
blob100aa43ca99667e097c6efb1d21177d555ae8400
2 # BioPerl module for Bio::Cluster::UniGeneI.pm
4 # Please direct questions and support issues to <bioperl-l@bioperl.org>
6 # Cared for by Andrew Macgregor <andrew at cbbc.murdoch.edu.au>
8 # Copyright Andrew Macgregor, Jo-Ann Stanton, David Green
9 # Molecular Embryology Group, Anatomy & Structural Biology, University of Otago
10 # http://anatomy.otago.ac.nz/meg
12 # You may distribute this module under the same terms as perl itself
14 # _history
15 # April 31, 2002 - Initial implementation by Andrew Macgregor
16 # POD documentation - main docs before the code
18 =head1 NAME
20 Bio::Cluster::UniGeneI - abstract interface of UniGene object
22 =head1 SYNOPSIS
26 =head1 DESCRIPTION
28 This is the general interface for a UniGene cluster representation in
29 Bioperl. You cannot use this module directly, use an implementation
30 instead.
32 You can create UniGene cluster objects yourself by instantiating
33 L<Bio::Cluster::UniGene>. If you read UniGene clusters from a
34 ClusterIO parser, you will get objects implementing this interface,
35 most likely instances of said UniGene class.
37 L<Bio::Cluster::UniGeneI> inherits from L<Bio::ClusterI>, so you can
38 use it wherever a cluster object is expected.
40 =head1 FEEDBACK
44 =head2 Mailing Lists
46 User feedback is an integral part of the evolution of this and other
47 Bioperl modules. Send your comments and suggestions preferably to one
48 of the Bioperl mailing lists. Your participation is much appreciated.
50 bioperl-l@bioperl.org - General discussion
51 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
53 =head2 Support
55 Please direct usage questions or support issues to the mailing list:
57 I<bioperl-l@bioperl.org>
59 rather than to the module maintainer directly. Many experienced and
60 reponsive experts will be able look at the problem and quickly
61 address it. Please include a thorough description of the problem
62 with code and data examples if at all possible.
64 =head2 Reporting Bugs
66 Report bugs to the Bioperl bug tracking system to help us keep track
67 the bugs and their resolution. Bug reports can be submitted via the
68 web:
70 https://github.com/bioperl/bioperl-live/issues
72 =head1 AUTHOR - Andrew Macgregor
74 Email andrew at cbbc.murdoch.edu.au
77 =head1 APPENDIX
80 The rest of the documentation details each of the object
81 methods. Internal methods are usually preceded with a "_".
83 =cut
85 # Let the code begin...
88 package Bio::Cluster::UniGeneI;
89 use strict;
92 use base qw(Bio::ClusterI);
95 =head2 unigene_id
97 Title : unigene_id
98 Usage : unigene_id();
99 Function: Returns the unigene_id associated with the object.
100 Example : $id = $unigene->unigene_id or $unigene->unigene_id($id)
101 Returns : A string
102 Args : None or an id
105 =cut
107 sub unigene_id {
108 my ($self) = @_;
109 $self->throw_not_implemented;
114 =head2 title
116 Title : title
117 Usage : title();
118 Function: Returns the title associated with the object.
119 Example : $title = $unigene->title or $unigene->title($title)
120 Returns : A string
121 Args : None or a title
124 =cut
126 sub title {
127 my ($self) = @_;
128 $self->throw_not_implemented;
132 =head2 gene
134 Title : gene
135 Usage : gene();
136 Function: Returns the gene associated with the object.
137 Example : $gene = $unigene->gene or $unigene->gene($gene)
138 Returns : A string
139 Args : None or a gene
142 =cut
144 sub gene {
145 my ($self) = @_;
146 $self->throw_not_implemented;
150 =head2 cytoband
152 Title : cytoband
153 Usage : cytoband();
154 Function: Returns the cytoband associated with the object.
155 Example : $cytoband = $unigene->cytoband or $unigene->cytoband($cytoband)
156 Returns : A string
157 Args : None or a cytoband
160 =cut
162 sub cytoband {
163 my ($self) = @_;
164 $self->throw_not_implemented;
168 =head2 mgi
170 Title : mgi
171 Usage : mgi();
172 Function: Returns the mgi associated with the object.
173 Example : $mgi = $unigene->mgi or $unigene->mgi($mgi)
174 Returns : A string
175 Args : None or a mgi
178 =cut
180 sub mgi {
181 my ($self) = @_;
182 $self->throw_not_implemented;
186 =head2 locuslink
188 Title : locuslink
189 Usage : locuslink();
190 Function: Returns or stores a reference to an array containing locuslink data.
191 This should really only be used by ClusterIO, not directly
192 Returns : An array reference
193 Args : None or an array reference
195 =cut
197 sub locuslink {
198 my ($self) = @_;
199 $self->throw_not_implemented;
203 =head2 homol
205 Title : homol
206 Usage : homol();
207 Function: Returns the homol entry associated with the object.
208 Example : $homol = $unigene->homol or $unigene->homol($homol)
209 Returns : A string
210 Args : None or a homol entry
212 =cut
214 sub homol {
215 my ($self) = @_;
216 $self->throw_not_implemented;
220 =head2 restr_expr
222 Title : restr_expr
223 Usage : restr_expr();
224 Function: Returns the restr_expr entry associated with the object.
225 Example : $restr_expr = $unigene->restr_expr or $unigene->restr_expr($restr_expr)
226 Returns : A string
227 Args : None or a restr_expr entry
229 =cut
231 sub restr_expr {
232 my ($self) = @_;
233 $self->throw_not_implemented;
237 =head2 gnm_terminus
239 Title : gnm_terminus
240 Usage : gnm_terminus();
241 Function: Returns the gnm_terminus associated with the object.
242 Example : $gnm_terminus = $unigene->gnm_terminus or $unigene->gnm_terminus($gnm_terminus)
243 Returns : A string
244 Args : None or a gnm_terminus
246 =cut
248 sub gnm_terminus {
249 my ($self) = @_;
250 $self->throw_not_implemented;
254 =head2 scount
256 Title : scount
257 Usage : scount();
258 Function: Returns the scount associated with the object.
259 Example : $scount = $unigene->scount or $unigene->scount($scount)
260 Returns : A string
261 Args : None or a scount
263 =cut
265 sub scount {
266 my ($self) = @_;
267 $self->throw_not_implemented;
272 =head2 express
274 Title : express
275 Usage : express();
276 Function: Returns or stores a reference to an array containing tissue expression data.
277 This should really only be used by ClusterIO, not directly
278 Returns : An array reference
279 Args : None or an array reference
281 =cut
283 sub express {
284 my ($self) = @_;
285 $self->throw_not_implemented;
289 =head2 chromosome
291 Title : chromosome
292 Usage : chromosome();
293 Function: Returns or stores a reference to an array containing chromosome lines
294 This should really only be used by ClusterIO, not directly
295 Returns : An array reference
296 Args : None or an array reference
298 =cut
300 sub chromosome {
301 my ($self) = @_;
302 $self->throw_not_implemented;
306 =head2 sts
308 Title : sts
309 Usage : sts();
310 Function: Returns or stores a reference to an array containing sts lines
311 This should really only be used by ClusterIO, not directly
312 Returns : An array reference
313 Args : None or an array reference
315 =cut
317 sub sts {
318 my ($self) = @_;
319 $self->throw_not_implemented;
323 =head2 txmap
325 Title : txmap
326 Usage : txmap();
327 Function: Returns or stores a reference to an array containing txmap lines
328 Returns : An array reference
329 Args : None or an array reference
331 =cut
333 sub txmap {
334 my ($self) = @_;
335 $self->throw_not_implemented;
339 =head2 protsim
341 Title : protsim
342 Usage : protsim();
343 Function: Returns or stores a reference to an array containing protsim lines
344 This should really only be used by ClusterIO, not directly
345 Returns : An array reference
346 Args : None or an array reference
348 =cut
350 sub protsim {
351 my ($self) = @_;
352 $self->throw_not_implemented;
356 =head2 sequence
358 Title : sequence
359 Usage : sequence();
360 Function: Returns or stores a reference to an array containing sequence data
361 This should really only be used by ClusterIO, not directly
362 Returns : An array reference
363 Args : None or an array reference
365 =cut
367 sub sequence {
368 my ($self) = @_;
369 $self->throw_not_implemented;
372 =head2 species
374 Title : species
375 Usage : $obj->species($newval)
376 Function: Get the species object for this Unigene cluster.
377 Example :
378 Returns : value of species (a L<Bio::Species> object)
379 Args :
382 =cut
384 sub species{
385 shift->throw_not_implemented();
388 =head1 Methods inherited from L<Bio::ClusterI>
390 =cut
392 =head2 display_id
394 Title : display_id
395 Usage :
396 Function: Get/set the display name or identifier for the cluster
397 Returns : a string
398 Args : optional, on set the display ID ( a string)
400 =cut
402 =head2 description
404 Title : description
405 Usage : Bio::ClusterI->description("POLYUBIQUITIN")
406 Function: get/set for the consensus description of the cluster
407 Returns : the description string
408 Args : Optional the description string
410 =cut
412 =head2 size
414 Title : size
415 Usage : Bio::ClusterI->size();
416 Function: get/set for the size of the family,
417 calculated from the number of members
418 Returns : the size of the family
419 Args :
421 =cut
423 =head2 cluster_score
425 Title : cluster_score
426 Usage : $cluster ->cluster_score(100);
427 Function: get/set for cluster_score which
428 represent the score in which the clustering
429 algorithm assigns to this cluster.
430 Returns : a number
432 =cut
434 =head2 get_members
436 Title : get_members
437 Usage : Bio::ClusterI->get_members(($seq1, $seq2));
438 Function: retrieve the members of the family by some criteria, for
439 example :
440 $cluster->get_members(-species => 'homo sapiens');
442 Will return all members if no criteria are provided.
444 Returns : the array of members
445 Args :
447 =cut