File Coverage

Bio/Phenotype/PhenotypeI.pm
Criterion Covered Total %
statement 3 65 4.6
branch n/a
condition n/a
subroutine 1 32 3.1
pod 31 31 100.0
total 35 128 27.3


line stmt bran cond sub pod time code
1             #
2             # BioPerl module for Bio::Phenotype::PhenotypeI
3             #
4             # Please direct questions and support issues to
5             #
6             # Cared for by Christian M. Zmasek or
7             #
8             # (c) Christian M. Zmasek, czmasek-at-burnham.org, 2002.
9             # (c) GNF, Genomics Institute of the Novartis Research Foundation, 2002.
10             #
11             # You may distribute this module under the same terms as perl itself.
12             # Refer to the Perl Artistic License (see the license accompanying this
13             # software package, or see http://www.perl.com/language/misc/Artistic.html)
14             # for the terms under which you may use, modify, and redistribute this module.
15             #
16             # THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
17             # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18             # MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19             #
20             # You may distribute this module under the same terms as perl itself
21              
22             # POD documentation - main docs before the code
23              
24             =head1 NAME
25              
26             Bio::Phenotype::PhenotypeI - An interface for classes modeling phenotypes
27              
28             =head1 SYNOPSIS
29              
30             #get Bio::Phenotype::PhenotypeI somehow
31              
32             print $phenotype->name(), "\n";
33             print $phenotype->description(), "\n";
34              
35             my @keywords = ( "achondroplasia", "dwarfism" );
36             $phenotype->add_keywords( @keywords );
37             foreach my $keyword ( $phenotype->each_keyword() ) {
38             print $keyword, "\n";
39             }
40             $phenotype->remove_keywords();
41              
42              
43             foreach my $gene_symbol ( $phenotype->each_gene_symbol() ) {
44             print $gene_symbol, "\n";
45             }
46              
47             foreach my $corr ( $phenotype->each_Correlate() ) {
48             # Do something with $corr
49             }
50              
51             foreach my $var ( $phenotype->each_Variant() ) {
52             # Do something with $var (mutation)
53             }
54              
55             foreach my $measure ( $phenotype->each_Measure() ) {
56             # Do something with $measure
57             }
58              
59              
60             =head1 DESCRIPTION
61              
62             This superclass defines common methods for classes modelling phenotypes.
63             Bio::Phenotype::OMIM::OMIMentry is an example of an instantiable phenotype
64             class (the design of this interface was partially guided by the need
65             to model OMIM entries).
66             Please note. This interface provides methods to associate mutations
67             (methods "each_Variant", ...) and genotypes (methods "each_Genotype", ...)
68             with phenotypes. Yet, these aspects might need some future enhancements,
69             especially since there is no "genotype" class yet.
70              
71             =head1 FEEDBACK
72              
73             =head2 Mailing Lists
74              
75             User feedback is an integral part of the evolution of this and other
76             Bioperl modules. Send your comments and suggestions preferably to the
77             Bioperl mailing lists Your participation is much appreciated.
78              
79             bioperl-l@bioperl.org - General discussion
80             http://bioperl.org/wiki/Mailing_lists - About the mailing lists
81              
82             =head2 Support
83              
84             Please direct usage questions or support issues to the mailing list:
85              
86             I
87              
88             rather than to the module maintainer directly. Many experienced and
89             reponsive experts will be able look at the problem and quickly
90             address it. Please include a thorough description of the problem
91             with code and data examples if at all possible.
92              
93             =head2 Reporting Bugs
94              
95             report bugs to the Bioperl bug tracking system to help us keep track
96             the bugs and their resolution. Bug reports can be submitted via the
97             web:
98              
99             https://github.com/bioperl/bioperl-live/issues
100              
101             =head1 AUTHOR
102              
103             Christian M. Zmasek
104              
105             Email: czmasek-at-burnham.org or cmzmasek@yahoo.com
106              
107             WWW: http://monochrome-effect.net/
108              
109             Address:
110              
111             Genomics Institute of the Novartis Research Foundation
112             10675 John Jay Hopkins Drive
113             San Diego, CA 92121
114              
115             =head1 APPENDIX
116              
117             The rest of the documentation details each of the object
118             methods. Internal methods are usually preceded with a _
119              
120             =cut
121              
122              
123             # Let the code begin...
124              
125              
126             package Bio::Phenotype::PhenotypeI;
127 3     3   17 use base qw(Bio::Root::RootI);
  3         4  
  3         2579  
128              
129              
130              
131             =head2 name
132              
133             Title : name
134             Usage : $obj->name( "r1" );
135             or
136             print $obj->name();
137             Function: Set/get for the name or id of this phenotype.
138             Returns : A name or id [scalar].
139             Args : A name or id [scalar] (optional).
140              
141             =cut
142              
143             sub name {
144 0     0 1   my ( $self ) = @_;
145              
146 0           $self->throw_not_implemented();
147              
148             } # name
149              
150              
151              
152              
153             =head2 description
154              
155             Title : description
156             Usage : $obj->description( "This is ..." );
157             or
158             print $obj->description();
159             Function: Set/get for the description of this phenotype.
160             Returns : A description [scalar].
161             Args : A description [scalar] (optional).
162              
163             =cut
164              
165             sub description {
166 0     0 1   my ( $self ) = @_;
167              
168 0           $self->throw_not_implemented();
169              
170             } # description
171              
172              
173              
174              
175             =head2 species
176              
177             Title : species
178             Usage : $obj->species( $species );
179             or
180             $species = $obj->species();
181             Function: Set/get for the species of this phenotype.
182             Returns : A species [Bio::Species].
183             Args : A species [Bio::Species] (optional).
184              
185             =cut
186              
187             sub species {
188 0     0 1   my ( $self ) = @_;
189              
190 0           $self->throw_not_implemented();
191              
192             } # species
193              
194              
195              
196              
197             =head2 comment
198              
199             Title : comment
200             Usage : $obj->comment( "putative" );
201             or
202             print $obj->comment();
203             Function: Set/get for a comment about this phenotype.
204             Returns : A comment [scalar].
205             Args : A comment [scalar] (optional).
206              
207             =cut
208              
209             sub comment {
210 0     0 1   my ( $self ) = @_;
211              
212 0           $self->throw_not_implemented();
213              
214             } # comment
215              
216              
217              
218              
219             =head2 each_gene_symbol
220              
221             Title : each_gene_symbol()
222             Usage : @gs = $obj->each_gene_symbol();
223             Function: Returns a list of gene symbols [scalars, most likely Strings]
224             associated with this phenotype.
225             Returns : A list of scalars.
226             Args :
227              
228             =cut
229              
230             sub each_gene_symbol {
231 0     0 1   my ( $self ) = @_;
232              
233 0           $self->throw_not_implemented();
234              
235             } # each_gene_symbol
236              
237              
238             =head2 add_gene_symbols
239              
240             Title : add_gene_symbols
241             Usage : $obj->add_gene_symbols( @gs );
242             or
243             $obj->add_gene_symbols( $gs );
244             Function: Pushes one or more gene symbols [scalars, most likely Strings]
245             into the list of gene symbols.
246             Returns :
247             Args : scalar(s).
248              
249             =cut
250              
251             sub add_gene_symbols {
252 0     0 1   my ( $self ) = @_;
253              
254 0           $self->throw_not_implemented();
255            
256             } # add_gene_symbols
257              
258              
259             =head2 remove_gene_symbols
260              
261             Usage : $obj->remove_gene_symbols();
262             Function: Deletes (and returns) the list of gene symbols [scalars,
263             most likely Strings] associated with this phenotype.
264             Returns : A list of scalars.
265             Args :
266              
267             =cut
268              
269             sub remove_gene_symbols {
270 0     0 1   my ( $self ) = @_;
271              
272 0           $self->throw_not_implemented();
273              
274             } # remove_gene_symbols
275              
276              
277              
278              
279             =head2 each_Variant
280              
281             Title : each_Variant()
282             Usage : @vs = $obj->each_Variant();
283             Function: Returns a list of Bio::Variation::VariantI implementing objects
284             associated with this phenotype.
285             This is for representing the actual mutation(s) causing this
286             phenotype.
287             {* The "variants" data member and its methods will/might need to be
288             changed/improved in one way or another, CZ 09/06/02 *}
289             Returns : A list of Bio::Variation::VariantI implementing objects.
290             Args :
291              
292             =cut
293              
294             sub each_Variant {
295 0     0 1   my ( $self ) = @_;
296              
297 0           $self->throw_not_implemented();
298              
299             } # each_Variant
300              
301              
302             =head2 add_Variants
303              
304             Usage : $obj->add_Variants( @vs );
305             or
306             $obj->add_Variants( $v );
307             Function: Pushes one or more Bio::Variation::VariantI implementing objects
308             into the list of Variants.
309             Returns :
310             Args : Bio::Variation::VariantI implementing object(s).
311              
312             =cut
313              
314             sub add_Variants {
315 0     0 1   my ( $self ) = @_;
316              
317 0           $self->throw_not_implemented();
318            
319             } # add_Variants
320              
321              
322             =head2 remove_Variants
323              
324             Title : remove_Variants
325             Usage : $obj->remove_Variants();
326             Function: Deletes (and returns) the list of Bio::Variation::VariantI implementing
327             objects associated with this phenotype.
328             Returns : A list of Bio::Variation::VariantI implementing objects.
329             Args :
330              
331             =cut
332              
333             sub remove_Variants {
334 0     0 1   my ( $self ) = @_;
335              
336 0           $self->throw_not_implemented();
337            
338             } # remove_Variants
339              
340              
341              
342              
343             =head2 each_Reference
344              
345             Title : each_Reference()
346             Usage : @refs = $obj->each_Reference();
347             Function: Returns a list of Bio::Annotation::Reference objects
348             associated with this phenotype.
349             Returns : A list of Bio::Annotation::Reference objects.
350             Args :
351              
352             =cut
353              
354             sub each_Reference {
355 0     0 1   my ( $self ) = @_;
356              
357 0           $self->throw_not_implemented();
358            
359             } # each_Reference
360              
361              
362             =head2 add_References
363              
364             Title : add_References
365             Usage : $obj->add_References( @refs );
366             or
367             $obj->add_References( $ref );
368             Function: Pushes one or more Bio::Annotation::Reference objects
369             into the list of References.
370             Returns :
371             Args : Bio::Annotation::Reference object(s).
372              
373             =cut
374              
375             sub add_References {
376 0     0 1   my ( $self ) = @_;
377              
378 0           $self->throw_not_implemented();
379            
380             } # add_References
381              
382              
383             =head2 remove_References
384              
385             Title : remove_References()
386             Usage : $obj->remove_References();
387             Function: Deletes (and returns) the list of Bio::Annotation::Reference objects
388             associated with this phenotype.
389             Returns : A list of Bio::Annotation::Reference objects.
390             Args :
391              
392             =cut
393              
394             sub remove_References {
395 0     0 1   my ( $self ) = @_;
396              
397 0           $self->throw_not_implemented();
398            
399             } # remove_References
400              
401              
402              
403              
404             =head2 each_CytoPosition
405              
406             Title : each_CytoPosition()
407             Usage : @cps = $obj->each_CytoPosition();
408             Function: Returns a list of Bio::Map::CytoPosition objects
409             associated with this phenotype.
410             Returns : A list of Bio::Map::CytoPosition objects.
411             Args :
412              
413             =cut
414              
415             sub each_CytoPosition {
416 0     0 1   my ( $self ) = @_;
417              
418 0           $self->throw_not_implemented();
419            
420             } # each_CytoPosition
421              
422              
423             =head2 add_CytoPositions
424              
425             Title : add_CytoPositions
426             Usage : $obj->add_CytoPositions( @cps );
427             or
428             $obj->add_CytoPositions( $cp );
429             Function: Pushes one or more Bio::Map::CytoPosition objects
430             into the list of CytoPositions.
431             Returns :
432             Args : Bio::Map::CytoPosition object(s).
433              
434             =cut
435              
436             sub add_CytoPositions {
437 0     0 1   my ( $self ) = @_;
438              
439 0           $self->throw_not_implemented();
440            
441             } # add_CytoPositions
442              
443              
444             =head2 remove_CytoPositions
445              
446             Title : remove_CytoPositions
447             Usage : $obj->remove_CytoPositions();
448             Function: Deletes (and returns) the list o fBio::Map::CytoPosition objects
449             associated with this phenotype.
450             Returns : A list of Bio::Map::CytoPosition objects.
451             Args :
452              
453             =cut
454              
455             sub remove_CytoPositions {
456 0     0 1   my ( $self ) = @_;
457              
458 0           $self->throw_not_implemented();
459            
460             } # remove_CytoPositions
461              
462              
463              
464              
465             =head2 each_Correlate
466              
467             Title : each_Correlate()
468             Usage : @corrs = $obj->each_Correlate();
469             Function: Returns a list of Bio::Phenotype::Correlate objects
470             associated with this phenotype.
471             (Correlates are correlating phenotypes in different species;
472             inspired by mouse correlates of human phenotypes in the OMIM
473             database.)
474             Returns : A list of Bio::Phenotype::Correlate objects.
475             Args :
476              
477             =cut
478              
479             sub each_Correlate {
480 0     0 1   my ( $self ) = @_;
481              
482 0           $self->throw_not_implemented();
483            
484             } # each_Correlate
485              
486              
487              
488              
489             =head2 add_Correlates
490              
491             Title : add_Correlates
492             Usage : $obj->add_Correlates( @corrs );
493             or
494             $obj->add_Correlates( $corr );
495             Function: Pushes one or more Bio::Phenotype::Correlate objects
496             into the list of Correlates.
497             Returns :
498             Args : Bio::Phenotype::Correlate object(s).
499              
500             =cut
501              
502             sub add_Correlates {
503 0     0 1   my ( $self ) = @_;
504              
505 0           $self->throw_not_implemented();
506            
507             } # add_Correlates
508              
509              
510             =head2 remove_Correlates
511              
512             Title : remove_Correlates
513             Usage : $obj->remove_Correlates();
514             Function: Deletes (and returns) the list of Bio::Phenotype::Correlate objects
515             associated with this phenotype.
516             Returns : A list of Bio::Phenotype::Correlate objects.
517             Args :
518              
519             =cut
520              
521             sub remove_Correlates {
522 0     0 1   my ( $self ) = @_;
523              
524 0           $self->throw_not_implemented();
525            
526             } # remove_Correlates
527              
528              
529              
530              
531             =head2 each_Measure
532              
533             Title : each_Measure()
534             Usage : @ms = $obj->each_Measure();
535             Function: Returns a list of Bio::Phenotype::Measure objects
536             associated with this phenotype.
537             (Measure is for biochemically defined phenotypes
538             or any other types of measures.)
539             Returns : A list of Bio::Phenotype::Measure objects.
540             Args :
541              
542             =cut
543              
544             sub each_Measure {
545 0     0 1   my ( $self ) = @_;
546              
547 0           $self->throw_not_implemented();
548            
549             } # each_Measure
550              
551              
552             =head2 add_Measures
553              
554             Title : add_Measures
555             Usage : $obj->add_Measures( @ms );
556             or
557             $obj->add_Measures( $m );
558             Function: Pushes one or more Bio::Phenotype::Measure objects
559             into the list of Measures.
560             Returns :
561             Args : Bio::Phenotype::Measure object(s).
562              
563             =cut
564              
565             sub add_Measures {
566 0     0 1   my ( $self ) = @_;
567              
568 0           $self->throw_not_implemented();
569            
570             } # add_Measures
571              
572              
573             =head2 remove_Measures
574              
575             Title : remove_Measures
576             Usage : $obj->remove_Measures();
577             Function: Deletes (and returns) the list of Bio::Phenotype::Measure objects
578             associated with this phenotype.
579             Returns : A list of Bio::Phenotype::Measure objects.
580             Args :
581              
582             =cut
583              
584             sub remove_Measures {
585 0     0 1   my ( $self ) = @_;
586              
587 0           $self->throw_not_implemented();
588            
589             } # remove_Measures
590              
591              
592              
593              
594             =head2 each_keyword
595              
596             Title : each_keyword()
597             Usage : @kws = $obj->each_keyword();
598             Function: Returns a list of key words [scalars, most likely Strings]
599             associated with this phenotype.
600             Returns : A list of scalars.
601             Args :
602              
603             =cut
604              
605             sub each_keyword {
606 0     0 1   my ( $self ) = @_;
607              
608 0           $self->throw_not_implemented();
609            
610             } # each_keyword
611              
612              
613             =head2 add_keywords
614              
615             Title : add_keywords
616             Usage : $obj->add_keywords( @kws );
617             or
618             $obj->add_keywords( $kw );
619             Function: Pushes one or more keywords [scalars, most likely Strings]
620             into the list of key words.
621             Returns :
622             Args : scalar(s).
623              
624             =cut
625              
626             sub add_keywords {
627 0     0 1   my ( $self ) = @_;
628              
629 0           $self->throw_not_implemented();
630            
631             } # add_keywords
632              
633              
634             =head2 remove_keywords
635              
636             Title : remove_keywords
637             Usage : $obj->remove_keywords();
638             Function: Deletes (and returns) the list of key words [scalars,
639             most likely Strings] associated with this phenotype.
640             Returns : A list of scalars.
641             Args :
642              
643             =cut
644              
645             sub remove_keywords {
646 0     0 1   my ( $self ) = @_;
647              
648 0           $self->throw_not_implemented();
649            
650             } # remove_keywords
651              
652              
653              
654              
655             =head2 each_DBLink
656              
657             Title : each_DBLink()
658             Usage : @dbls = $obj->each_DBLink();
659             Function: Returns a list of Bio::Annotation::DBLink objects
660             associated with this phenotype.
661             Returns : A list of Bio::Annotation::DBLink objects.
662             Args :
663              
664             =cut
665              
666             sub each_DBLink {
667 0     0 1   my ( $self ) = @_;
668              
669 0           $self->throw_not_implemented();
670            
671             }
672              
673              
674             =head2 add_DBLinks
675              
676             Title : add_DBLinks
677             Usage : $obj->add_DBLinks( @dbls );
678             or
679             $obj->add_DBLinks( $dbl );
680             Function: Pushes one or more Bio::Annotation::DBLink objects
681             into the list of DBLinks.
682             Returns :
683             Args : Bio::Annotation::DBLink object(s).
684              
685             =cut
686              
687             sub add_DBLinks {
688 0     0 1   my ( $self ) = @_;
689              
690 0           $self->throw_not_implemented();
691            
692             } # add_DBLinks
693              
694              
695             =head2 remove_DBLinks
696              
697             Title : remove_DBLinks
698             Usage : $obj->remove_DBLinks();
699             Function: Deletes (and returns) the list of Bio::Annotation::DBLink objects
700             associated with this phenotype.
701             Returns : A list of Bio::Annotation::DBLink objects.
702             Args :
703              
704             =cut
705              
706             sub remove_DBLinks {
707 0     0 1   my ( $self ) = @_;
708              
709 0           $self->throw_not_implemented();
710              
711             } # remove_DBLinks
712              
713              
714              
715              
716             =head2 each_Genotype
717              
718             Title : each_Reference()
719             Usage : @gts = $obj->each_Reference();
720             Function: Returns a list of "Genotype" objects
721             associated with this phenotype.
722             {* the "genotypes" data member and its methods certainly will/needs to be
723             changed/improved in one way or another since there is
724             no "Genotype" class yet, CZ 09/06/02 *}
725             Returns : A list of "Genotype" objects.
726             Args :
727              
728             =cut
729              
730             sub each_Genotype {
731 0     0 1   my ( $self ) = @_;
732              
733 0           $self->throw_not_implemented();
734            
735             } # each_Genotype
736              
737              
738             =head2 add_Genotypes
739              
740             Title : add_Genotypes
741             Usage : $obj->add_Genotypes( @gts );
742             or
743             $obj->add_Genotypes( $gt );
744             Function: Pushes one or more "Genotypes"
745             into the list of "Genotypes".
746             Returns :
747             Args : "Genotypes(s)".
748              
749             =cut
750              
751             sub add_Genotypes {
752 0     0 1   my ( $self ) = @_;
753              
754 0           $self->throw_not_implemented();
755            
756             } # add_Genotypes
757              
758              
759             =head2 remove_Genotypes
760              
761             Title : remove_Genotypes
762             Usage : $obj->remove_Genotypes();
763             Function: Deletes (and returns) the list of "Genotype" objects
764             associated with this phenotype.
765             Returns : A list of "Genotype" objects.
766             Args :
767              
768             =cut
769              
770             sub remove_Genotypes {
771 0     0 1   my ( $self ) = @_;
772              
773 0           $self->throw_not_implemented();
774            
775             } # remove_Genotypes
776              
777              
778              
779              
780              
781             1;