annotate variant_effect_predictor/Bio/Cluster/UniGene.pm @ 0:1f6dce3d34e0

Uploaded
author mahtabm
date Thu, 11 Apr 2013 02:01:53 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 # $Id: UniGene.pm,v 1.23.2.2 2003/09/15 01:52:03 andrew Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # BioPerl module for Bio::Cluster::UniGene.pm
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # Cared for by Andrew Macgregor <andrew@anatomy.otago.ac.nz>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # Copyright Andrew Macgregor, Jo-Ann Stanton, David Green
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 # Molecular Embryology Group, Anatomy & Structural Biology, University of Otago
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # http://meg.otago.ac.nz/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 # You may distribute this module under the same terms as perl itself
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 # _history
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14 # April 17, 2002 - Initial implementation by Andrew Macgregor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 # POD documentation - main docs before the code
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 Bio::Cluster::UniGene - UniGene object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 use Bio::Cluster::UniGene;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24 use Bio::ClusterIO;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 $stream = Bio::ClusterIO->new('-file' => "Hs.data",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27 '-format' => "unigene");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 # note: we quote -format to keep older perl's from complaining.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 while ( my $in = $stream->next_cluster() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31 print $in->unigene_id() . "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 while ( my $sequence = $in->next_seq() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33 print $sequence->accession_number() . "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 This UniGene object implements the L<Bio::Cluster::UniGeneI> interface
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40 for the representation if UniGene clusters in Bioperl. It is returned
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 by the L<Bio::ClusterIO> parser for unigene format and contains all
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42 the data associated with one UniGene record.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44 This class implements several interfaces and hence can be used
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 wherever instances of such interfaces are expected. In particular, the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 interfaces are L<Bio::ClusterI> as the base interface for all cluster
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47 representations, and in addition L<Bio::IdentifiableI> and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 L<Bio::DescribableI>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 The following lists the UniGene specific methods that are available
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 (see below for details). Be aware next_XXX iterators take a snapshot
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52 of the array property when they are first called, and this snapshot is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 not reset until the iterator is exhausted. Hence, once called you need
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54 to exhaust the iterator to see any changes that have been made to the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 property in the meantime. You will usually want to use the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 non-iterator equivalents and loop over the elements yourself.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 new() - standard new call
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 unigene_id() - set/get unigene_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62 title() - set/get title (description)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 gene() - set/get gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 cytoband() - set/get cytoband
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 mgi() - set/get mgi
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70 locuslink() - set/get locuslink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72 gnm_terminus() - set/get gnm_terminus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 scount() - set/get scount
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 express() - set/get express, currently takes/returns a reference to an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 array of expressed tissues
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 next_express() - returns the next tissue expression from the expressed
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80 tissue array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82 chromosome() - set/get chromosome, currently takes/returns a reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 to an array of chromosome lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 next_chromosome() - returns the next chromosome line from the array of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86 chromosome lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88 sts() - set/get sts, currently takes/returns a reference to an array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 of sts lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 next_sts() - returns the next sts line from the array of sts lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 txmap() - set/get txmap, currently takes/returns a reference to an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94 array of txmap lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96 next_txmap() - returns the next txmap line from the array of txmap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99 protsim() - set/get protsim, currently takes/returns a reference to an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100 array of protsim lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 next_protsim() - returns the next protsim line from the array of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103 protsim lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105 sequences() - set/get sequence, currently takes/returns a reference to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 an array of references to seq info
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 next_seq() - returns a Seq object that currently only contains an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 accession number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 =head1 Implemented Interfaces
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 This class implementes the following interfaces.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 =over 4
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 =item Bio::Cluster::UniGeneI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120 This includes implementing Bio::ClusterI.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 =item Bio::IdentifiableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 =item Bio::DescribableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 =item Bio::AnnotatableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 =item Bio::Factory::SequenceStreamI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 =back
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137 User feedback is an integral part of the evolution of this and other
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 Bioperl modules. Send your comments and suggestions preferably to one
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139 of the Bioperl mailing lists. Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146 Report bugs to the Bioperl bug tracking system to help us keep track
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 the bugs and their resolution. Bug reports can be submitted via email
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148 or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 bioperl-bugs@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153 =head1 AUTHOR - Andrew Macgregor
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 Email andrew@anatomy.otago.ac.nz
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 =head1 CONTRIBUTORS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 Hilmar Lapp, hlapp at gmx.net
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164 The rest of the documentation details each of the object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 methods. Internal methods are usually preceded with a "_".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 # Let the code begin...
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 package Bio::Cluster::UniGene;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173 use vars qw(@ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 use Bio::Root::Root;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178 use Bio::IdentifiableI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 use Bio::DescribableI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 use Bio::AnnotatableI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181 use Bio::Annotation::Collection;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 use Bio::Annotation::DBLink;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183 use Bio::Annotation::SimpleValue;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 use Bio::Species;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185 use Bio::Factory::SequenceStreamI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 use Bio::Seq::SeqFactory;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187 use Bio::Cluster::UniGeneI;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189 @ISA = qw(Bio::Root::Root Bio::Cluster::UniGeneI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Bio::IdentifiableI Bio::DescribableI Bio::AnnotatableI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191 Bio::Factory::SequenceStreamI);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193 my %species_map = (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 'Aga' => "Anopheles gambiae",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 'At' => "Arabidopsis thaliana",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 'Bt' => "Bos taurus",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197 'Cel' => "Caenorhabditis elegans",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198 'Cin' => "Ciona intestinalis",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 'Cre' => "Chlamydomonas reinhardtii",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200 'Ddi' => "Dictyostelium discoideum",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 'Dr' => "Danio rerio",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 'Dm' => "Drosophila melanogaster",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 'Gga' => "Gallus gallus",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204 'Gma' => "Glycine max",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205 'Hs' => "Homo sapiens",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 'Hv' => "Hordeum vulgare",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207 'Les' => "Lycopersicon esculentum",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208 'Mtr' => "Medicago truncatula",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209 'Mm' => "Mus musculus",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 'Os' => "Oryza sativa",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 'Ola' => "Oryzias latipes",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 'Rn' => "Rattus norvegicus",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 'Str' => "Silurana tropicalis",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 'Sbi' => "Sorghum bicolor",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 'Ssc' => "Sus scrofa",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 'Ta' => "Triticum aestivum",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217 'Xl' => "Xenopus laevis",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 'Zm' => "Zea mays",
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 =head2 new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224 Title : new
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 Usage : used by ClusterIO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226 Returns : a new Bio::Cluster::Unigene object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230 sub new {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231 # standard new call..
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 my($caller,@args) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233 my $self = $caller->SUPER::new(@args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 my ($ugid,$desc,$mems,$size,$species,$dispid,$id,$ns,$auth,$v,$seqfact) =
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 $self->_rearrange([qw(UNIGENE_ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 MEMBERS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 SIZE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 SPECIES
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 DISPLAY_ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 OBJECT_ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 NAMESPACE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 AUTHORITY
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 VERSION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 SEQFACTORY
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 )], @args);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 $self->{'_alphabet'} = 'dna';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 $self->unigene_id($ugid) if $ugid;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 $self->description($desc) if $desc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 $self->sequences($mems) if $mems;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 $self->size($size) if defined($size);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 $self->display_id($dispid) if $dispid; # overwrites ugid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 $self->object_id($id) if $id; # overwrites dispid
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257 $self->namespace($ns || 'UniGene');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 $self->authority($auth || 'NCBI');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259 $self->version($v) if defined($v);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 if( ! defined $seqfact ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261 $seqfact = new Bio::Seq::SeqFactory
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 (-verbose => $self->verbose(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 -type => 'Bio::Seq::RichSeq');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 $self->sequence_factory($seqfact);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266 if( (! $species) && (defined $self->unigene_id() &&
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 $self->unigene_id() =~ /^([A-Za-z]+)\.[0-9]/)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268 # try set a default one depending on the ID
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 $species = $species_map{$1};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 $self->species($species);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 return $self;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 =head1 L<Bio::Cluster::UniGeneI> methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 =head2 unigene_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 Title : unigene_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 Usage : unigene_id();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284 Function: Returns the unigene_id associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 Example : $id = $unigene->unigene_id or $unigene->unigene_id($id)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287 Args : None or an id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 sub unigene_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 my ($obj,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 $obj->{'unigene_id'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297 return $obj->{'unigene_id'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 =head2 title
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304 Title : title
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 Usage : title();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 Function: Returns the title associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307 Example : $title = $unigene->title or $unigene->title($title)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 Args : None or a title
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 sub title {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 my ($obj,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 $obj->{'title'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 return $obj->{'title'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 =head2 gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 Title : gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 Usage : gene();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 Function: Returns the gene associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 Example : $gene = $unigene->gene or $unigene->gene($gene)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 Args : None or a gene
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 sub gene {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 return $self->_annotation_value('gene_name', @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341 =head2 cytoband
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 Title : cytoband
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344 Usage : cytoband();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 Function: Returns the cytoband associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 Example : $cytoband = $unigene->cytoband or $unigene->cytoband($cytoband)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 Args : None or a cytoband
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 sub cytoband {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 return $self->_annotation_value('cyto_band', @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 =head2 mgi
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360 Title : mgi
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361 Usage : mgi();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 Function: Returns the mgi associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363 Example : $mgi = $unigene->mgi or $unigene->mgi($mgi)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Args : None or a mgi
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370 sub mgi {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372 my $acc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 # purge first
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 $self->_remove_dblink('dblink','MGI');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377 # then add if a valid value is present
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 if($acc = shift) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 $self->_annotation_dblink('dblink','MGI',$acc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382 ($acc) = $self->_annotation_dblink('dblink','MGI');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384 return $acc;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 =head2 locuslink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 Title : locuslink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391 Usage : locuslink();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392 Function: Returns or stores a reference to an array containing locuslink data.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 sub locuslink {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 my ($self,$ll) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 if($ll) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402 # purge first
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403 $self->_remove_dblink('dblink','LocusLink');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404 # then add as many accessions as are present
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 foreach my $acc (@$ll) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406 $self->_annotation_dblink('dblink','LocusLink',$acc);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 my @accs = $self->_annotation_dblink('dblink','LocusLink');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 $ll = [@accs];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 return $ll;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 =head2 gnm_terminus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 Title : gnm_terminus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 Usage : gnm_terminus();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 Function: Returns the gnm_terminus associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421 Example : $gnm_terminus = $unigene->gnm_terminus or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422 $unigene->gnm_terminus($gnm_terminus)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424 Args : None or a gnm_terminus
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 sub gnm_terminus {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 return $self->_annotation_value('gnm_terminus', @_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 =head2 scount
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 Title : scount
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 Usage : scount();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 Function: Returns the scount associated with the object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 Example : $scount = $unigene->scount or $unigene->scount($scount)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439 Returns : A string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440 Args : None or a scount
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 sub scount {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445 my ($obj,$value) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446 if( defined $value) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447 $obj->{'scount'} = $value;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448 } elsif((! defined($obj->{'scount'})) && defined($obj->sequences())) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449 $obj->{'scount'} = $obj->size();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451 return $obj->{'scount'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 =head2 express
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457 Title : express
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458 Usage : express();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459 Function: Returns or stores a reference to an array containing
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460 tissue expression data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466 sub express {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
467 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
468
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
469 return $self->_annotation_value_ary('expressed',@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
470 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
471
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
472
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
473 =head2 chromosome
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
474
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
475 Title : chromosome
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
476 Usage : chromosome();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
477 Function: Returns or stores a reference to an array containing
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
478 chromosome lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
479 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
480 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
481
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
482 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
483
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
484 sub chromosome {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
485 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
486
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
487 return $self->_annotation_value_ary('chromosome',@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
488 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
489
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
490
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
491 =head2 sts
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
492
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
493 Title : sts
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
494 Usage : sts();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
495 Function: Returns or stores a reference to an array containing sts lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
496
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
497 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
498 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
499
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
500 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
501
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
502 sub sts {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
503 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
504
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
505 return $self->_annotation_value_ary('sts',@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
506 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
507
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
508
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
509 =head2 txmap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
510
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
511 Title : txmap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
512 Usage : txmap();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
513 Function: Returns or stores a reference to an array containing txmap lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
514
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
515 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
516 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
517
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
518 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
519
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
520 sub txmap {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
521 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
522
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
523 return $self->_annotation_value_ary('txmap',@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
524 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
525
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
526
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
527 =head2 protsim
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
528
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
529 Title : protsim
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
530 Usage : protsim();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
531 Function: Returns or stores a reference to an array containing protsim lines
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
532 This should really only be used by ClusterIO, not directly
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
533 Returns : An array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
534 Args : None or an array reference
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
535
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
536 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
537
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
538 sub protsim {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
539 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
540
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
541 return $self->_annotation_value_ary('protsim',@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
542 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
543
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
544
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
545 =head2 sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
546
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
547 Title : sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
548 Usage : sequences();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
549 Function: Returns or stores a reference to an array containing
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
550 sequence data.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
551
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
552 This is mostly reserved for ClusterIO parsers. You should
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
553 use get_members() for get and add_member()/remove_members()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
554 for set.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
555
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
556 Returns : An array reference, or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
557 Args : None or an array reference or undef
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
558
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
559 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
560
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
561 sub sequences {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
562 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
563
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
564 return $self->{'members'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
565 return $self->{'members'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
566 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
567
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
568 =head2 species
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
569
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
570 Title : species
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
571 Usage : $obj->species($newval)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
572 Function: Get/set the species object for this Unigene cluster.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
573 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
574 Returns : value of species (a L<Bio::Species> object)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
575 Args : on set, new value (a L<Bio::Species> object or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
576 the binomial name, or undef, optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
577
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
578
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
579 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
580
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
581 sub species{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
582 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
583
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
584 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
585 my $species = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
586 if($species && (! ref($species))) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
587 my @class = reverse(split(' ',$species));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
588 $species = Bio::Species->new(-classification => \@class);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
589 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
590 return $self->{'species'} = $species;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
591 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
592 return $self->{'species'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
593 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
594
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
595
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
596 =head1 L<Bio::ClusterI> methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
597
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
598 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
599
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
600 =head2 display_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
601
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
602 Title : display_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
603 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
604 Function: Get/set the display name or identifier for the cluster
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
605
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
606 This is aliased to unigene_id().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
607
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
608 Returns : a string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
609 Args : optional, on set the display ID ( a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
610
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
611 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
612
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
613 sub display_id{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
614 return shift->unigene_id(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
615 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
616
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
617 =head2 description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
618
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
619 Title : description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
620 Usage : Bio::ClusterI->description("POLYUBIQUITIN")
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
621 Function: get/set for the consensus description of the cluster
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
622
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
623 This is aliased to title().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
624
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
625 Returns : the description string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
626 Args : Optional the description string
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
627
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
628 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
629
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
630 sub description{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
631 return shift->title(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
632 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
633
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
634 =head2 size
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
635
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
636 Title : size
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
637 Usage : Bio::ClusterI->size();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
638 Function: get for the size of the family,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
639 calculated from the number of members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
640
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
641 This is aliased to scount().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
642
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
643 Returns : the size of the cluster
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
644 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
645
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
646 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
647
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
648 sub size {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
649 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
650
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
651 # hard-wiring the size is allowed if there are no sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
652 return $self->scount(@_) unless defined($self->sequences());
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
653 # but we can't change the number of members through this method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
654 my $n = scalar(@{$self->sequences()});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
655 if(@_ && ($n != $_[0])) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
656 $self->throw("Cannot change cluster size using size() from $n to ".
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
657 $_[0]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
658 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
659 return $n;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
660 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
661
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
662 =head2 cluster_score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
663
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
664 Title : cluster_score
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
665 Usage : $cluster ->cluster_score(100);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
666 Function: get/set for cluster_score which
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
667 represent the score in which the clustering
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
668 algorithm assigns to this cluster.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
669
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
670 For UniGene clusters, there really is no cluster score that
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
671 would come with the data. However, we provide an
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
672 implementation here so that you can score UniGene clusters
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
673 if you want to.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
674
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
675 Returns : a number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
676 Args : optionally, on set a number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
677
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
678 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
679
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
680 sub cluster_score{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
681 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
682
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
683 return $self->{'cluster_score'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
684 return $self->{'cluster_score'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
685 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
686
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
687 =head2 get_members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
688
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
689 Title : get_members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
690 Usage : Bio::ClusterI->get_members(($seq1, $seq2));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
691 Function: retrieve the members of the family by some criteria
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
692
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
693 Will return all members if no criteria are provided.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
694
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
695 At this time this implementation does not support
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
696 specifying criteria and will always return all members.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
697
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
698 Returns : the array of members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
699 Args :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
700
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
701 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
702
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
703 sub get_members {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
704 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
705
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
706 my $mems = $self->sequences() || [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
707 # already objects?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
708 if(@$mems && (ref($mems->[0]) eq "HASH")) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
709 # nope, we need to build the object list from scratch
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
710 my @memlist = ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
711 while(my $seq = $self->next_seq()) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
712 push(@memlist, $seq);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
713 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
714 # we cache this array of objects as the new member list
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
715 $mems = \@memlist;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
716 $self->sequences($mems);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
717 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
718 # done
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
719 return @$mems;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
720 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
721
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
722
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
723 =head1 Annotatable view at the object properties
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
724
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
725 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
726
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
727 =head2 annotation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
728
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
729 Title : annotation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
730 Usage : $obj->annotation($newval)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
731 Function: Get/set the L<Bio::AnnotationCollectionI> object for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
732 this UniGene cluster.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
733
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
734 Many attributes of this class are actually stored within
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
735 the annotation collection object as L<Bio::AnnotationI>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
736 compliant objects, so you can conveniently access them
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
737 through the same interface as you would e.g. access
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
738 L<Bio::SeqI> annotation properties.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
739
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
740 If you call this method in set mode and replace the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
741 annotation collection with another one you should know
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
742 exactly what you are doing.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
743
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
744 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
745 Returns : a L<Bio::AnnotationCollectionI> compliant object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
746 Args : on set, new value (a L<Bio::AnnotationCollectionI>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
747 compliant object or undef, optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
748
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
749
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
750 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
751
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
752 sub annotation{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
753 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
754
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
755 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
756 return $self->{'annotation'} = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
757 } elsif(! exists($self->{'annotation'})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
758 $self->{'annotation'} = Bio::Annotation::Collection->new();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
759 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
760 return $self->{'annotation'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
761 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
762
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
763
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
764 =head1 Implementation specific methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
765
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
766 These are mostly for adding/removing to array properties, and for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
767 methods with special functionality.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
768
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
769 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
770
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
771 =head2 add_member
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
772
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
773 Title : add_member
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
774 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
775 Function: Adds a member object to the list of members.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
776 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
777 Returns : TRUE if the new member was successfuly added, and FALSE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
778 otherwise.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
779 Args : The member to add.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
780
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
781
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
782 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
783
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
784 sub add_member{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
785 my ($self,@mems) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
786
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
787 my $memlist = $self->{'members'} || [];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
788 # this is an object interface; is the member list already objects?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
789 if(@$memlist && (ref($memlist->[0]) eq "HASH")) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
790 # nope, convert to objects
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
791 $memlist = [$self->get_members()];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
792 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
793 # add new member(s)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
794 push(@$memlist, @mems);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
795 # store if we created this array ref ourselves
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
796 $self->sequences($memlist);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
797 # done
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
798 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
799 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
800
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
801 =head2 remove_members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
802
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
803 Title : remove_members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
804 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
805 Function: Remove the list of members for this cluster such that the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
806 member list is undefined afterwards (as opposed to zero members).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
807 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
808 Returns : the previous list of members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
809 Args : none
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
810
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
811
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
812 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
813
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
814 sub remove_members{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
815 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
816
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
817 my @mems = $self->get_members();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
818 $self->sequences(undef);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
819 return @mems;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
820 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
821
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
822
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
823 =head2 next_locuslink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
824
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
825 Title : next_locuslink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
826 Usage : next_locuslink();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
827 Function: Returns the next locuslink from an array referred
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
828 to using $obj->{'locuslink'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
829
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
830 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
831 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
832 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
833 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
834
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
835 Example : while ( my $locuslink = $in->next_locuslink() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
836 print "$locuslink\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
837 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
838 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
839 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
840
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
841 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
842
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
843 sub next_locuslink {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
844 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
845
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
846 return $obj->_next_element("ll","locuslink");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
847 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
848
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
849 =head2 next_express
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
850
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
851 Title : next_express
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
852 Usage : next_express();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
853 Function: Returns the next tissue from an array referred
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
854 to using $obj->{'express'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
855
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
856 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
857 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
858 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
859 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
860
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
861 Example : while ( my $express = $in->next_express() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
862 print "$express\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
863 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
864 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
865 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
866
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
867 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
868
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
869 sub next_express {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
870 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
871
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
872 return $obj->_next_element("express","express");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
873 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
874
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
875
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
876 =head2 next_chromosome
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
877
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
878 Title : next_chromosome
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
879 Usage : next_chromosome();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
880 Function: Returns the next chromosome line from an array referred
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
881 to using $obj->{'chromosome'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
882
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
883 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
884 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
885 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
886 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
887
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
888 Example : while ( my $chromosome = $in->next_chromosome() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
889 print "$chromosome\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
890 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
891 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
892 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
893
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
894 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
895
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
896 sub next_chromosome {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
897 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
898
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
899 return $obj->_next_element("chr","chromosome");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
900 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
901
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
902
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
903 =head2 next_protsim
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
904
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
905 Title : next_protsim
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
906 Usage : next_protsim();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
907 Function: Returns the next protsim line from an array referred
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
908 to using $obj->{'protsim'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
909
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
910 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
911 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
912 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
913 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
914
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
915 Example : while ( my $protsim = $in->next_protsim() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
916 print "$protsim\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
917 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
918 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
919 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
920
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
921 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
922
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
923 sub next_protsim {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
924 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
925
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
926 return $obj->_next_element("protsim","protsim");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
927 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
928
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
929
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
930 =head2 next_sts
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
931
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
932 Title : next_sts
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
933 Usage : next_sts();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
934 Function: Returns the next sts line from an array referred
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
935 to using $obj->{'sts'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
936
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
937 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
938 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
939 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
940 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
941
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
942 Example : while ( my $sts = $in->next_sts() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
943 print "$sts\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
944 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
945 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
946 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
947
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
948 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
949
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
950 sub next_sts {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
951 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
952
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
953 return $obj->_next_element("sts","sts");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
954 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
955
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
956
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
957 =head2 next_txmap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
958
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
959 Title : next_txmap
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
960 Usage : next_txmap();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
961 Function: Returns the next txmap line from an array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
962 referred to using $obj->{'txmap'}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
963
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
964 If you call this iterator again after it returned undef, it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
965 will re-cycle through the list of elements. Changes in the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
966 underlying array property while you loop over this iterator
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
967 will not be reflected until you exhaust the iterator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
968
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
969 Example : while ( my $tsmap = $in->next_txmap() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
970 print "$txmap\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
971 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
972 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
973 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
974
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
975 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
976
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
977 sub next_txmap {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
978 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
979
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
980 return $obj->_next_element("txmap","txmap");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
981 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
982
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
983 ###############################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
984 # private method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
985 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
986 # args: prefix name for the queue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
987 # name of the method from which to re-fill
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
988 # returns: the next element from that queue, or undef if the queue is empty
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
989 ###############################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
990 sub _next_element{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
991 my ($self,$queuename,$meth) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
992
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
993 $queuename = "_".$queuename."_queue";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
994 if(! exists($self->{$queuename})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
995 # re-initialize from array of sequence data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
996 $self->{$queuename} = [@{$self->$meth() }];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
997 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
998 my $queue = $self->{$queuename};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
999 # is queue exhausted (equivalent to end of stream)?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1000 if(! @$queue) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1001 # yes, remove queue and signal to the caller
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1002 delete $self->{$queuename};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1003 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1004 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1005 return shift(@$queue);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1006 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1007
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1008 =head1 L<Bio::IdentifiableI> methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1009
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1010 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1011
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1012 =head2 object_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1013
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1014 Title : object_id
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1015 Usage : $string = $obj->object_id()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1016 Function: a string which represents the stable primary identifier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1017 in this namespace of this object. For DNA sequences this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1018 is its accession_number, similarly for protein sequences
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1019
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1020 This is aliased to unigene_id().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1021
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1022 Returns : A scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1023
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1024
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1025 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1026
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1027 sub object_id {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1028 return shift->unigene_id(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1029 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1030
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1031 =head2 version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1032
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1033 Title : version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1034 Usage : $version = $obj->version()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1035 Function: a number which differentiates between versions of
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1036 the same object. Higher numbers are considered to be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1037 later and more relevant, but a single object described
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1038 the same identifier should represent the same concept
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1039
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1040 Unigene clusters usually won''t have a version, so this
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1041 will be mostly undefined.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1042
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1043 Returns : A number
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1044 Args : on set, new value (a scalar or undef, optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1045
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1046
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1047 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1048
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1049 sub version {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1050 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1051
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1052 return $self->{'version'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1053 return $self->{'version'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1054 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1055
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1056
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1057 =head2 authority
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1058
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1059 Title : authority
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1060 Usage : $authority = $obj->authority()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1061 Function: a string which represents the organisation which
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1062 granted the namespace, written as the DNS name for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1063 organisation (eg, wormbase.org)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1064
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1065 Returns : A scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1066 Args : on set, new value (a scalar or undef, optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1067
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1068
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1069 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1070
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1071 sub authority {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1072 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1073
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1074 return $self->{'authority'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1075 return $self->{'authority'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1076 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1077
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1078
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1079 =head2 namespace
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1080
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1081 Title : namespace
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1082 Usage : $string = $obj->namespace()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1083 Function: A string representing the name space this identifier
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1084 is valid in, often the database name or the name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1085 describing the collection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1086
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1087 Returns : A scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1088 Args : on set, new value (a scalar or undef, optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1089
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1090
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1091 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1092
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1093 sub namespace {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1094 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1095
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1096 return $self->{'namespace'} = shift if @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1097 return $self->{'namespace'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1098 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1099
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1100 =head1 L<Bio::DescribableI> methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1102 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1104 =head2 display_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1106 Title : display_name
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1107 Usage : $string = $obj->display_name()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1108 Function: A string which is what should be displayed to the user
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1109 the string should have no spaces (ideally, though a cautious
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1110 user of this interface would not assumme this) and should be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1111 less than thirty characters (though again, double checking
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1112 this is a good idea)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1114 This is aliased to unigene_id().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1115
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1116 Returns : A scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1117 Status : Virtual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1118
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1119 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1121 sub display_name {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1122 return shift->unigene_id(@_);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1123 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1124
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1125
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1126 =head2 description()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1128 Title : description
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1129 Usage : $string = $obj->description()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1130 Function: A text string suitable for displaying to the user a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1131 description. This string is likely to have spaces, but
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1132 should not have any newlines or formatting - just plain
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1133 text. The string should not be greater than 255 characters
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1134 and clients can feel justified at truncating strings at 255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1135 characters for the purposes of display
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1136
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1137 This is already demanded by Bio::ClusterI and hence is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1138 present anyway.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1140 Returns : A scalar
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1141
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1142
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1143 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1144
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1146 =head1 L<Bio::Factory::SequenceStreamI> methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1147
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1148 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1149
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1150 =head2 next_seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1151
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1152 Title : next_seq
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1153 Usage : next_seq();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1154 Function: Returns the next seq as a Seq object as defined by
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1155 $seq->sequence_factory(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1156 at present an empty Bio::Seq::RichSeq object with
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1157 just the accession_number() and pid() set
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1158
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1159 This iterator will not exhaust the array of member
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1160 sequences. If you call next_seq() again after it returned
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1161 undef, it will re-cycle through the list of member
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1162 sequences.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1163
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1164 Example : while ( my $sequence = $in->next_seq() ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1165 print $sequence->accession_number() . "\n";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1166 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1167 Returns : Bio::PrimarySeqI object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1168 Args : None
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1169
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1170 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1171
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1172 sub next_seq {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1173 my ($obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1174
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1175 if(! exists($obj->{'_seq_queue'})) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1176 # re-initialize from array of sequence data
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1177 $obj->{'_seq_queue'} = [@{$obj->sequences()}];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1178 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1179 my $queue = $obj->{'_seq_queue'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1180 # is queue exhausted (equivalent to end of stream)?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1181 if(! @$queue) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1182 # yes, remove queue and signal to the caller
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1183 delete $obj->{'_seq_queue'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1184 return undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1185 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1186 # no, still data in the queue: get the next one from the queue
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1187 my $seq_h = shift(@$queue);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1188 # if this is not a simple hash ref, it's an object already, and we'll
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1189 # return just that
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1190 return $seq_h if(ref($seq_h) ne 'HASH');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1191 # nope, we need to assemble this object from scratch
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1192 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1193 # assemble the annotation collection
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1194 my $ac = Bio::Annotation::Collection->new();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1195 foreach my $k (keys %$seq_h) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1196 next if $k =~ /acc|pid|nid|version/;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1197 my $ann = Bio::Annotation::SimpleValue->new(-tagname => $k,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1198 -value => $seq_h->{$k});
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1199 $ac->add_Annotation($ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1200 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1201 # assemble the initialization parameters and create object
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1202 my $seqobj = $obj->sequence_factory->create(
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1203 -accession_number => $seq_h->{acc},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1204 -pid => $seq_h->{pid},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1205 # why does NCBI prepend a 'g' to its own identifiers??
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1206 -primary_id => $seq_h->{nid} && $seq_h->{nid} =~ /^g\d+$/ ?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1207 substr($seq_h->{nid},1) : $seq_h->{nid},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1208 -display_id => $seq_h->{acc},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1209 -seq_version => $seq_h->{version},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1210 -alphabet => $obj->{'_alphabet'},
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1211 -namespace => $seq_h->{acc} =~ /^NM_/ ? 'RefSeq' : 'GenBank',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1212 -authority => $obj->authority(), # default is NCBI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1213 -species => $obj->species(),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1214 -annotation => $ac
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1215 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1216 return $seqobj;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1217 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1218
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1219 =head2 sequence_factory
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1220
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1221 Title : sequence_factory
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1222 Usage : $seqio->sequence_factory($seqfactory)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1223 Function: Get/Set the Bio::Factory::SequenceFactoryI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1224 Returns : Bio::Factory::SequenceFactoryI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1225 Args : [optional] Bio::Factory::SequenceFactoryI
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1227
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1228 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1229
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1230 sub sequence_factory {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1231 my ($self,$obj) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1232 if( defined $obj ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1233 if( ! ref($obj) || ! $obj->isa('Bio::Factory::SequenceFactoryI') ) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1234 $self->throw("Must provide a valid Bio::Factory::SequenceFactoryI object to ".ref($self)." sequence_factory()");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1235 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1236 $self->{'_seqfactory'} = $obj;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1237 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1238 $self->{'_seqfactory'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1239 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1240
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1241 =head1 Private methods
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1242
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1243 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1244
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1245 =head2 _annotation_value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1246
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1247 Title : _annotation_value
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1248 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1249 Function: Private method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1250 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1251 Returns : the value (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1252 Args : annotation key (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1253 on set, annotation value (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1254
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1255
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1256 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1258 sub _annotation_value{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1259 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1260 my $key = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1262 my ($ann, $val);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1263 if(@_) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1264 $val = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1265 if(! defined($val)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1266 ($ann) = $self->annotation->remove_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1267 return $ann ? $ann->value() : undef;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1268 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1269 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1270 ($ann) = $self->annotation->get_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1271 if($ann && (! $val)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1272 # get mode and exists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1273 $val = $ann->value();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1274 } elsif($val) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1275 # set mode
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1276 if(! $ann) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1277 $ann = Bio::Annotation::SimpleValue->new(-tagname => $key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1278 $self->annotation->add_Annotation($ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1279 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1280 $ann->value($val);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1281 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1282 return $val;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1283 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1284
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1285
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1286 =head2 _annotation_value_ary
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1287
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1288 Title : _annotation_value_ary
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1289 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1290 Function: Private method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1291 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1292 Returns : reference to the array of values
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1293 Args : annotation key (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1294 on set, reference to an array holding the values
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1295
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1296
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1297 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1298
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1299 sub _annotation_value_ary{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1300 my ($self,$key,$arr) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1302 my $ac = $self->annotation;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1303 if($arr) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1304 # purge first
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1305 $ac->remove_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1306 # then add as many values as are present
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1307 foreach my $val (@$arr) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1308 my $ann = Bio::Annotation::SimpleValue->new(-value => $val,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1309 -tagname => $key
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1310 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1311 $ac->add_Annotation($ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1312 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1313 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1314 my @vals = map { $_->value(); } $ac->get_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1315 $arr = [@vals];
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1316 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1317 return $arr;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1318 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1319
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1320
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1321 =head2 _annotation_dblink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1322
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1323 Title : _annotation_dblink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1324 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1325 Function: Private method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1326 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1327 Returns : array of accessions for the given database (namespace)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1328 Args : annotation key (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1329 dbname (a string) (optional on get, mandatory on set)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1330 on set, accession or ID (a string), and version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1331
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1332
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1333 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1334
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1335 sub _annotation_dblink{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1336 my ($self,$key,$dbname,$acc,$version) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1337
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1338 if($acc) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1339 # set mode -- this is adding here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1340 my $ann = Bio::Annotation::DBLink->new(-tagname => $key,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1341 -primary_id => $acc,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1342 -database => $dbname,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1343 -version => $version);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1344 $self->annotation->add_Annotation($ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1345 return 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1346 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1347 # get mode
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1348 my @anns = $self->annotation->get_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1349 # filter out those that don't match the requested database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1350 if($dbname) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1351 @anns = grep { $_->database() eq $dbname; } @anns;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1352 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1353 return map { $_->primary_id(); } @anns;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1354 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1355 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1356
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1357 =head2 _remove_dblink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1358
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1359 Title : _remove_dblink
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1360 Usage :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1361 Function: Private method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1362 Example :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1363 Returns : array of accessions for the given database (namespace)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1364 Args : annotation key (a string)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1365 dbname (a string) (optional)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1366
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1367
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1368 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1369
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1370 sub _remove_dblink{
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1371 my ($self,$key,$dbname) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1372
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1373 my $ac = $self->annotation();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1374 my @anns = ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1375 if($dbname) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1376 foreach my $ann ($ac->remove_Annotations($key)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1377 if($ann->database() eq $dbname) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1378 push(@anns, $ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1379 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1380 $ac->add_Annotation($ann);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1381 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1382 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1383 } else {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1384 @anns = $ac->remove_Annotations($key);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1385 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1386 return map { $_->primary_id(); } @anns;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1387 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1388
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1389
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1390 #####################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1391 # aliases for naming consistency or other reasons #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1392 #####################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1393
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1394 *sequence = \&sequences;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1395
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1396 1;