File Coverage

Bio/Map/CytoMap.pm
Criterion Covered Total %
statement 18 18 100.0
branch 1 2 50.0
condition n/a
subroutine 7 7 100.0
pod 3 3 100.0
total 29 30 96.6


line stmt bran cond sub pod time code
1             #
2             # BioPerl module for Bio::Map::CytoMap
3             #
4             # Please direct questions and support issues to
5             #
6             # Cared for by Sendu Bala
7             #
8             # Copyright Heikki Lehvaslaiho
9             #
10             # You may distribute this module under the same terms as perl itself
11              
12             # POD documentation - main docs before the code
13              
14             =head1 NAME
15              
16             Bio::Map::CytoMap - A Bio::MapI compliant map implementation handling cytogenic bands
17              
18             =head1 SYNOPSIS
19              
20             use Bio::Map::CytoMap;
21             my $map = Bio::Map::CytoMap->new(-name => 'human1',
22             -species => $human);
23             foreach my $marker ( @markers ) { # get a list of markers somewhere
24             $map->add_element($marker);
25             }
26              
27             =head1 DESCRIPTION
28              
29             This is the simple implementation of cytogenetic maps based on
30             L. It handles the essential storage of name, species,
31             type, and units as well as in memory representation of the elements of
32             a map.
33              
34             For CytoMaps type is hard coded to be 'cytogeneticmap' and
35             units are set to '' but can be set to something else.
36              
37             =head1 FEEDBACK
38              
39             =head2 Mailing Lists
40              
41             User feedback is an integral part of the evolution of this and other
42             Bioperl modules. Send your comments and suggestions preferably to
43             the Bioperl mailing list. Your participation is much appreciated.
44              
45             bioperl-l@bioperl.org - General discussion
46             http://bioperl.org/wiki/Mailing_lists - About the mailing lists
47              
48             =head2 Support
49              
50             Please direct usage questions or support issues to the mailing list:
51              
52             I
53              
54             rather than to the module maintainer directly. Many experienced and
55             reponsive experts will be able look at the problem and quickly
56             address it. Please include a thorough description of the problem
57             with code and data examples if at all possible.
58              
59             =head2 Reporting Bugs
60              
61             Report bugs to the Bioperl bug tracking system to help us keep track
62             of the bugs and their resolution. Bug reports can be submitted via the
63             web:
64              
65             https://github.com/bioperl/bioperl-live/issues
66              
67             =head1 AUTHOR - Heikki Lehvaslaiho
68              
69             Email heikki-at-bioperl-dot-org
70              
71             =head1 CONTRIBUTORS
72              
73             Jason Stajich jason@bioperl.org
74             Lincoln Stein lstein@cshl.org
75             Sendu Bala bix@sendu.me.uk
76              
77             =head1 APPENDIX
78              
79             The rest of the documentation details each of the object methods.
80             Internal methods are usually preceded with a _
81              
82             =cut
83              
84             package Bio::Map::CytoMap;
85 1     1   392 use vars qw($MAPCOUNT);
  1         1  
  1         35  
86 1     1   4 use strict;
  1         2  
  1         18  
87              
88              
89 1     1   4 use base qw(Bio::Map::SimpleMap);
  1         1  
  1         252  
90 1     1   87 BEGIN { $MAPCOUNT = 1; }
91              
92             =head2 new
93              
94             Title : new
95             Usage : my $obj = Bio::Map::CytoMap->new();
96             Function: Builds a new Bio::Map::CytoMap object
97             Returns : Bio::Map::CytoMap
98             Args : -name => name of map (string)
99             -species => species for this map (Bio::Species) [optional]
100             -elements=> elements to initialize with
101             (arrayref of Bio::Map::MappableI objects) [optional]
102              
103             -uid => Unique Id
104              
105             =cut
106              
107             sub new {
108 1     1 1 133 my ($class, @args) = @_;
109            
110 1         8 my $self = $class->SUPER::new(@args);
111            
112 1         2 $self->{'_uid'} = $MAPCOUNT++;
113 1         3 my ($uid) = $self->_rearrange([qw(UID)], @args);
114 1 50       3 defined $uid && $self->unique_id($uid);
115            
116 1         5 return $self;
117             }
118              
119             =head2 type
120              
121             Title : type
122             Usage : my $type = $map->type
123             Function: Get hard-coded Map type
124             Returns : String coding Map type (always 'cyto')
125             Args : none
126              
127             =cut
128              
129             sub type {
130 1     1 1 3 return 'cyto';
131             }
132              
133             =head2 length
134              
135             Title : length
136             Usage : my $length = $map->length();
137             Function: Retrieves the length of the map,
138             Returns : 0 since length is not calculatable for cytogenetic maps
139             Args : none
140              
141             =cut
142              
143             sub length {
144 1     1 1 3 return 0;
145             }
146              
147             1;