annotate variant_effect_predictor/Bio/Tools/SeqAnal.pm @ 3:d30fa12e4cc5 default tip

Merge heads 2:a5976b2dce6f and 1:09613ce8151e which were created as a result of a recently fixed bug.
author devteam <devteam@galaxyproject.org>
date Mon, 13 Jan 2014 10:38:30 -0500
parents 1f6dce3d34e0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
1 #-------------------------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
2 # PACKAGE : Bio::Tools::SeqAnal
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
3 # PURPOSE : To provide a base class for different sequence analysis tools.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
4 # AUTHOR : Steve Chervitz (sac@bioperl.org)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
5 # CREATED : 27 Mar 1998
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
6 # REVISION: $Id: SeqAnal.pm,v 1.12 2002/10/22 07:38:46 lapp Exp $
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
7 # STATUS : Alpha
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
8 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
9 # For documentation, run this module through pod2html
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
10 # (preferably from Perl v5.004 or better).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
11 #-------------------------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
12
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
13 package Bio::Tools::SeqAnal;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
14
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
15 use Bio::Root::Object ();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
16 use Bio::Root::Global qw(:std);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
17
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
18 use strict;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
19 use vars qw($ID $VERSION @ISA);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
20
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
21 @ISA = qw( Bio::Root::Object );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
22 $ID = 'Bio::Tools::SeqAnal';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
23 $VERSION = 0.011;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
24
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
25
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
26 ## POD Documentation:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
27
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
28 =head1 NAME
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
29
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
30 Bio::Tools::SeqAnal - Bioperl sequence analysis base class.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
31
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
32 =head1 SYNOPSIS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
33
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
34 =head2 Object Creation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
35
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
36 This module is an abstract base class. Perl will let you instantiate it,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
37 but it provides little functionality on its own. This module
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
38 should be used via a specialized subclass. See L<_initialize()|_initialize>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
39 for a description of constructor parameters.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
40
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
41 require Bio::Tools::SeqAnal;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
42
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
43 To run and parse a new report:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
44
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
45 $hit = new Bio::Tools::SeqAnal ( -run => \%runParams,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
46 -parse => 1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
47
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
48 To parse an existing report:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
49
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
50 $hit = new Bio::Tools::SeqAnal ( -file => 'filename.data',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
51 -parse => 1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
52
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
53 To run a report without parsing:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
54
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
55 $hit = new Bio::Tools::SeqAnal ( -run => \%runParams
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
56 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
57
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
58 To read an existing report without parsing:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
59
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
60 $hit = new Bio::Tools::SeqAnal ( -file => 'filename.data',
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
61 -read => 1);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
62
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
63
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
64 =head1 INSTALLATION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
65
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
66 This module is included with the central Bioperl distribution:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
67
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
68 http://bio.perl.org/Core/Latest
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
69 ftp://bio.perl.org/pub/DIST
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
70
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
71 Follow the installation instructions included in the README file.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
72
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
73
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
74 =head1 DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
75
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
76 Bio::Tools::SeqAnal.pm is a base class for specialized
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
77 sequence analysis modules such as B<Bio::Tools::Blast> and B<Bio::Tools::Fasta>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
78 It provides some basic data and functionalities that are not unique to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
79 a specialized module such as:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
80
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
81 =over 4
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
82
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
83 =item * reading raw data into memory.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
84
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
85 =item * storing name and version of the program.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
86
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
87 =item * storing name of the query sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
88
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
89 =item * storing name and version of the database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
90
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
91 =item * storing & determining the date on which the analysis was performed.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
92
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
93 =item * basic file manipulations (compress, uncompress, delete).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
94
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
95 =back
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
96
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
97 Some of these functionalities (reading, file maipulation) are inherited from
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
98 B<Bio::Root::Object>, from which Bio::Tools::SeqAnal.pm derives.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
99
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
100
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
101
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
102 =head1 RUN, PARSE, and READ
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
103
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
104 A SeqAnal.pm object can be created using one of three modes: run, parse, or read.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
105
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
106 MODE DESCRIPTION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
107 ----- -----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
108 run Run a new sequence analysis report. New results can then
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
109 be parsed or saved for analysis later.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
110
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
111 parse Parse the data from a sequence analysis report loading it
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
112 into the SeqAnal.pm object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
113
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
114 read Read in data from an existing raw analysis report without
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
115 parsing it. In the future, this may also permit persistent
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
116 SeqAnal.pm objects. This mode is considered experimental.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
117
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
118 The mode is set by supplying switches to the constructor, see L<_initialize()|_initialize>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
119
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
120
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
121
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
122 A key feature of SeqAnal.pm is the ability to access raw data in a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
123 generic fashion. Regardless of what sequence analysis method is used,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
124 the raw data always need to be read into memory. The SeqAnal.pm class
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
125 utilizes the L<Bio::Root::Object::read()|Bio::Root::Object> method inherited from
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
126 B<Bio::Root::Object> to permit the following:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
127
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
128 =over 4
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
129
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
130 =item * read from a file or STDIN.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
131
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
132 =item * read a single record or a stream containing multiple records.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
133
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
134 =item * specify a record separator.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
135
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
136 =item * store all input data in memory or process the data stream as it is being read.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
137
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
138 =back
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
139
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
140 By permitting the parsing of data as it is being read, each record can be
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
141 analyzed as it is being read and saved or discarded as necessary.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
142 This can be useful when cruching through thousands of reports.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
143 For examples of this, see the L<parse()|parse> methods defined in B<Bio::Tools::Blast> and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
144 B<Bio::Tools::Fasta>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
145
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
146
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
147 =head2 Parsing & Running
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
148
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
149 Parsing and running of sequence analysis reports must be implemented for each
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
150 specific subclass of SeqAnal.pm. No-op stubs ("virtual methods") are provided here for
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
151 the L<parse()|parse> and L<run()|run> methods. See B<Bio::Tools::Blast> and B<Bio::Tools::Fasta>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
152 for examples.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
153
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
154
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
155 =head1 DEPENDENCIES
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
156
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
157 Bio::Tools::SeqAnal.pm is a concrete class that inherits from B<Bio::Root::Object>.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
158 This module also makes use of a number of functionalities inherited from
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
159 B<Bio::Root::Object> (file manipulations such as reading, compressing, decompressing,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
160 deleting, and obtaining date.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
161
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
162
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
163 =head1 FEEDBACK
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
164
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
165 =head2 Mailing Lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
166
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
167 User feedback is an integral part of the evolution of this and other Bioperl modules.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
168 Send your comments and suggestions preferably to one of the Bioperl mailing lists.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
169 Your participation is much appreciated.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
170
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
171 bioperl-l@bioperl.org - General discussion
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
172 http://bio.perl.org/MailList.html - About the mailing lists
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
173
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
174 =head2 Reporting Bugs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
175
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
176 Report bugs to the Bioperl bug tracking system to help us keep track the bugs and
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
177 their resolution. Bug reports can be submitted via email or the web:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
178
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
179 bioperl-bugs@bio.perl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
180 http://bugzilla.bioperl.org/
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
181
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
182 =head1 AUTHOR
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
183
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
184 Steve Chervitz, sac@bioperl.org
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
185
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
186 See the L<FEEDBACK | FEEDBACK> section for where to send bug reports and comments.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
187
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
188 =head1 VERSION
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
189
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
190 Bio::Tools::SeqAnal.pm, 0.011
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
191
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
192 =head1 COPYRIGHT
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
193
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
194 Copyright (c) 1998 Steve Chervitz. All Rights Reserved.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
195 This module is free software; you can redistribute it and/or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
196 modify it under the same terms as Perl itself.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
197
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
198
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
199 =head1 SEE ALSO
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
200
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
201 http://bio.perl.org/Projects/modules.html - Online module documentation
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
202 http://bio.perl.org/Projects/Blast/ - Bioperl Blast Project
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
203 http://bio.perl.org/ - Bioperl Project Homepage
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
204
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
205
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
206 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
207
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
208
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
209
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
210 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
211 ##
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
212 ###
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
213 #### END of main POD documentation.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
214 ###
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
215 ##
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
216 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
217
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
218 =head1 APPENDIX
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
219
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
220 Methods beginning with a leading underscore are considered private
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
221 and are intended for internal use by this module. They are
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
222 B<not> considered part of the public interface and are described here
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
223 for documentation purposes only.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
224
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
225 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
226
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
227 ##############################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
228 ## CONSTRUCTOR ##
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
229 ##############################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
230
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
231
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
232 =head2 _initialize
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
233
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
234 Usage : n/a; automatically called by Bio::Root::Object::new()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
235 Purpose : Calls private methods to extract the raw report data,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
236 : Calls superclass constructor first (Bio::Root::Object.pm).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
237 Returns : string containing the make parameter value.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
238 Argument : Named parameters (TAGS CAN BE ALL UPPER OR ALL LOWER CASE).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
239 : The SeqAnal.pm constructor only processes the following
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
240 : parameters passed from new()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
241 : -RUN => hash reference for named parameters to be used
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
242 : for running a sequence analysis program.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
243 : These are dereferenced and passed to the run() method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
244 : -PARSE => boolean,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
245 : -READ => boolean,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
246 :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
247 : If -RUN is HASH ref, the run() method will be called with the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
248 : dereferenced hash.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
249 : If -PARSE is true, all parameters passed from new() are passed
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
250 : to the parse() method. This occurs after the run method call
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
251 : to enable combined running + parsing.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
252 : If -READ is true, all parameters passed from new() are passed
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
253 : to the read() method.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
254 : Either -PARSE or -READ should be true, not both.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
255 Comments : Does not calls _rearrange() to handle parameters since only
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
256 : a few are required and there may be potentially many.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
257
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
258 See Also : B<Bio::Root::Object::new()>, B<Bio::Root::Object::_rearrange()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
259
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
260 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
261
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
262 #-----------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
263 sub _initialize {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
264 #-----------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
265 my( $self, %param ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
266
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
267 my $make = $self->SUPER::_initialize(%param);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
268
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
269 my($read, $parse, $runparam) = (
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
270 ($param{-READ}||$param{'-read'}), ($param{-PARSE}||$param{'-parse'}),
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
271 ($param{-RUN}||$param{'-run'})
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
272 );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
273
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
274 # $self->_rearrange([qw(READ PARSE RUN)], @param);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
275
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
276 # Issue: How to keep all the arguments for running the analysis
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
277 # separate from other arguments needed for parsing the results, etc?
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
278 # Solution: place all the run arguments in a separate hash.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
279
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
280 $self->run(%$runparam) if ref $runparam eq 'HASH';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
281
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
282 if($parse) { $self->parse(%param); }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
283 elsif($read) { $self->read(%param) }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
284
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
285 $make;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
286 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
287
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
288 #--------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
289 sub destroy {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
290 #--------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
291 my $self=shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
292 $DEBUG==2 && print STDERR "DESTROYING $self ${\$self->name}";
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
293 undef $self->{'_rawData'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
294 $self->SUPER::destroy;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
295 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
296
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
297
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
298 ###############################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
299 # ACCESSORS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
300 ###############################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
301
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
302 # The mode of the SeqAnal object is no longer explicitly set.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
303 # This simplifies the interface somewhat.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
304
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
305 ##----------------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
306 #=head2 mode()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
307
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
308 # Usage : $object->mode();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
309 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
310 # Purpose : Set/Get the mode for the sequence analysis object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
311 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
312 # Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
313 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
314 # Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
315 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
316 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
317 # Comments : The mode specifies how much detail to extract from the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
318 # : sequence analysis report. There are three modes:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
319 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
320 # : 'parse' -- Parse the sequence analysis output data.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
321 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
322 # : 'read' -- Reads in the raw report but does not
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
323 # : attempt to parse it. Useful when you just
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
324 # : want to work with the output as-is
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
325 # : (e.g., create HTML-formatted output).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
326 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
327 # : 'run' -- Generates a new report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
328 # :
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
329 # : Allowable modes are defined by the exported package global array
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
330 # : @SeqAnal_modes.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
331 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
332 #See Also : _set_mode()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
333 #=cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
334 ##----------------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
335 #sub mode {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
336 # my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
337 # if(@_) { $self->{'_mode'} = lc(shift); }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
338 # $self->{'_mode'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
339 #}
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
340 #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
341
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
342
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
343 =head2 best
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
344
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
345 Usage : $object->best();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
346 Purpose : Set/Get the indicator for processing only the best match.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
347 Returns : Boolean (1 | 0)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
348 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
349
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
350 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
351
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
352 #----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
353 sub best {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
354 #----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
355 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
356 if(@_) { $self->{'_best'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
357 $self->{'_best'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
358 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
359
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
360
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
361
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
362 =head2 _set_db_stats
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
363
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
364 Usage : $object->_set_db_stats(<named parameters>);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
365 Purpose : Set stats about the database searched.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
366 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
367 Argument : named parameters:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
368 : -LETTERS => <int> (number of letters in db)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
369 : -SEQS => <int> (number of sequences in db)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
370
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
371 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
372
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
373 #-------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
374 sub _set_db_stats {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
375 #-------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
376 my ($self, %param) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
377
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
378 $self->{'_db'} ||= $param{-NAME} || '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
379 $self->{'_dbRelease'} = $param{-RELEASE} || '';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
380 ($self->{'_dbLetters'} = $param{-LETTERS} || 0) =~ s/,//g;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
381 ($self->{'_dbSeqs'} = $param{-SEQS} || 0) =~ s/,//g;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
382
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
383 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
384
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
385
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
386 =head2 database
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
387
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
388 Usage : $object->database();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
389 Purpose : Set/Get the name of the database searched.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
390 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
391 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
392
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
393 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
394
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
395 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
396 sub database {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
397 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
398 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
399 if(@_) { $self->{'_db'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
400 $self->{'_db'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
401 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
402
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
403
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
404
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
405 =head2 database_release
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
406
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
407 Usage : $object->database_release();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
408 Purpose : Set/Get the release date of the queried database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
409 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
410 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
411
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
412 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
413
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
414 #-----------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
415 sub database_release {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
416 #-----------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
417 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
418 if(@_) { $self->{'_dbRelease'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
419 $self->{'_dbRelease'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
420 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
421
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
422
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
423 =head2 database_letters
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
424
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
425 Usage : $object->database_letters();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
426 Purpose : Set/Get the number of letters in the queried database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
427 Returns : Integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
428 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
429
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
430 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
431
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
432 #----------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
433 sub database_letters {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
434 #----------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
435 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
436 if(@_) { $self->{'_dbLetters'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
437 $self->{'_dbLetters'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
438 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
439
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
440
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
441
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
442 =head2 database_seqs
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
443
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
444 Usage : $object->database_seqs();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
445 Purpose : Set/Get the number of sequences in the queried database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
446 Returns : Integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
447 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
448
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
449 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
450
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
451 #------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
452 sub database_seqs {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
453 #------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
454 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
455 if(@_) { $self->{'_dbSeqs'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
456 $self->{'_dbSeqs'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
457 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
458
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
459
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
460
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
461 =head2 set_date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
462
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
463 Usage : $object->set_date([<string>]);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
464 Purpose : Set the name of the date on which the analysis was performed.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
465 Argument : The optional string argument ca be the date or the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
466 : string 'file' in which case the date will be obtained from
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
467 : the report file
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
468 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
469 Throws : Exception if no date is supplied and no file exists.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
470 Comments : This method attempts to set the date in either of two ways:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
471 : 1) using data passed in as an argument,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
472 : 2) using the Bio::Root::Utilities.pm file_date() method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
473 : on the output file.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
474 : Another way is to extract the date from the contents of the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
475 : raw output data. Such parsing will have to be specialized
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
476 : for different seq analysis reports. Override this method
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
477 : to create such custom parsing code if desired.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
478
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
479 See Also : L<date()|date>, B<Bio::Root::Object::file_date()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
480
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
481 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
482
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
483 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
484 sub set_date {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
485 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
486 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
487 my $date = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
488 my ($file);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
489
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
490 if( !$date and ($file = $self->file)) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
491 # If no date is passed and a file exists, determine date from the file.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
492 # (provided by superclass Bio::Root::Object.pm)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
493 eval {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
494 $date = $self->SUPER::file_date(-FMT => 'd m y');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
495 };
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
496 if($@) {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
497 $date = 'UNKNOWN';
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
498 $self->warn("Can't set date of report.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
499 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
500 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
501 $self->{'_date'} = $date;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
502 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
503
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
504
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
505
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
506 =head2 date
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
507
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
508 Usage : $object->date();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
509 Purpose : Get the name of the date on which the analysis was performed.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
510 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
511 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
512 Comments : This method is not a combination set/get, it only gets.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
513
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
514 See Also : L<set_date()|set_date>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
515
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
516 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
517
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
518 #----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
519 sub date { my $self = shift; $self->{'_date'}; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
520 #----------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
521
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
522
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
523
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
524
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
525 =head2 length
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
526
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
527 Usage : $object->length();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
528 Purpose : Set/Get the length of the query sequence (number of monomers).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
529 Returns : Integer
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
530 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
531 Comments : Developer note: when using the built-in length function within
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
532 : this module, call it as CORE::length().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
533
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
534 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
535
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
536 #------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
537 sub length {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
538 #------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
539 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
540 if(@_) { $self->{'_length'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
541 $self->{'_length'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
542 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
543
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
544 =head2 program
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
545
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
546 Usage : $object->program();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
547 Purpose : Set/Get the name of the sequence analysis (BLASTP, FASTA, etc.)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
548 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
549 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
550
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
551 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
552
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
553 #-------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
554 sub program {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
555 #-------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
556 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
557 if(@_) { $self->{'_prog'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
558 $self->{'_prog'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
559 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
560
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
561
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
562
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
563 =head2 program_version
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
564
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
565 Usage : $object->program_version();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
566 Purpose : Set/Get the version number of the sequence analysis program.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
567 : (e.g., 1.4.9MP, 2.0a19MP-WashU).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
568 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
569 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
570
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
571 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
572
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
573 #---------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
574 sub program_version {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
575 #---------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
576 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
577 if(@_) { $self->{'_progVersion'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
578 $self->{'_progVersion'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
579 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
580
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
581
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
582 =head2 query
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
583
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
584 Usage : $name = $object->query();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
585 Purpose : Get the name of the query sequence used to generate the report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
586 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
587 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
588 Comments : Equivalent to $object->name().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
589
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
590 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
591
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
592 #--------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
593 sub query { my $self = shift; $self->name; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
594 #--------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
595
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
596
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
597 =head2 query_desc
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
598
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
599 Usage : $object->desc();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
600 Purpose : Set/Get the description of the query sequence for the analysis.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
601 Returns : String
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
602 Argument : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
603
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
604 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
605
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
606 #--------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
607 sub query_desc {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
608 #--------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
609 my $self = shift;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
610 if(@_) { $self->{'_qDesc'} = shift; }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
611 $self->{'_qDesc'};
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
612 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
613
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
614
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
615
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
616
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
617 =head2 display
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
618
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
619 Usage : $object->display(<named parameters>);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
620 Purpose : Display information about Bio::Tools::SeqAnal.pm data members.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
621 : Overrides Bio::Root::Object::display().
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
622 Example : $object->display(-SHOW=>'stats');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
623 Argument : Named parameters: -SHOW => 'file' | 'stats'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
624 : -WHERE => filehandle (default = STDOUT)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
625 Returns : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
626 Status : Experimental
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
627
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
628 See Also : L<_display_stats()|_display_stats>, L<_display_file()|_display_file>, B<Bio::Root::Object::display()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
629
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
630 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
631
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
632 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
633 sub display {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
634 #---------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
635 my( $self, %param ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
636
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
637 $self->SUPER::display(%param);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
638
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
639 my $OUT = $self->fh();
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
640 $self->show =~ /file/i and $self->_display_file($OUT);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
641 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
642 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
643
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
644
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
645
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
646 =head2 _display_file
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
647
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
648 Usage : n/a; called automatically by display()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
649 Purpose : Print the contents of the raw report file.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
650 Example : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
651 Argument : one argument = filehandle object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
652 Returns : true (1)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
653 Status : Experimental
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
654
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
655 See Also : L<display()|display>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
656
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
657 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
658
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
659 #------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
660 sub _display_file {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
661 #------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
662 my( $self, $OUT) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
663
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
664 print $OUT scalar($self->read);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
665 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
666 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
667
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
668
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
669
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
670 =head2 _display_stats
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
671
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
672 Usage : n/a; called automatically by display()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
673 Purpose : Display information about Bio::Tools::SeqAnal.pm data members.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
674 : Prints the file name, program, program version, database name,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
675 : database version, query name, query length,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
676 Example : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
677 Argument : one argument = filehandle object.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
678 Returns : printf call.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
679 Status : Experimental
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
680
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
681 See Also : B<Bio::Root::Object::display()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
682
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
683 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
684
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
685 #--------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
686 sub _display_stats {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
687 #--------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
688 my( $self, $OUT ) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
689
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
690 printf( $OUT "\n%-15s: %s\n", "QUERY NAME", $self->query ||'UNKNOWN' );
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
691 printf( $OUT "%-15s: %s\n", "QUERY DESC", $self->query_desc || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
692 printf( $OUT "%-15s: %s\n", "LENGTH", $self->length || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
693 printf( $OUT "%-15s: %s\n", "FILE", $self->file || 'STDIN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
694 printf( $OUT "%-15s: %s\n", "DATE", $self->date || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
695 printf( $OUT "%-15s: %s\n", "PROGRAM", $self->program || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
696 printf( $OUT "%-15s: %s\n", "VERSION", $self->program_version || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
697 printf( $OUT "%-15s: %s\n", "DB-NAME", $self->database || 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
698 printf( $OUT "%-15s: %s\n", "DB-RELEASE", ($self->database_release || 'UNKNOWN'));
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
699 printf( $OUT "%-15s: %s\n", "DB-LETTERS", ($self->database_letters) ? $self->database_letters : 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
700 printf( $OUT "%-15s: %s\n", "DB-SEQUENCES", ($self->database_seqs) ? $self->database_seqs : 'UNKNOWN');
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
701 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
702
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
703
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
704 #####################################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
705 ## VIRTUAL METHODS ##
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
706 #####################################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
707
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
708 =head1 VIRTUAL METHODS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
709
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
710 =head2 parse
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
711
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
712 Usage : $object->parse( %named_parameters )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
713 Purpose : Parse a raw sequence analysis report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
714 Returns : Integer (number of sequence analysis reports parsed).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
715 Argument : Named parameters.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
716 Throws : Exception: virtual method not defined.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
717 : Propagates any exception thrown by read()
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
718 Status : Virtual
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
719 Comments : This is virtual method that should be overridden to
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
720 : parse a specific type of data.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
721
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
722 See Also : B<Bio::Root::Object::read()>
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
723
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
724 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
725
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
726 #---------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
727 sub parse {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
728 #---------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
729 my ($self, @param) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
730
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
731 $self->throw("Virtual method parse() not defined ${ref($self)} objects.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
732
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
733 # The first step in parsing is reading in the data:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
734 $self->read(@param);
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
735 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
736
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
737
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
738
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
739 =head2 run
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
740
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
741 Usage : $object->run( %named_parameters )
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
742 Purpose : Run a sequence analysis program on one or more sequences.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
743 Returns : n/a
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
744 : Run mode should be configurable to return a parsed object or
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
745 : the raw results data.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
746 Argument : Named parameters:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
747 Throws : Exception: virtual method not defined.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
748 Status : Virtual
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 #--------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
753 sub run {
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
754 #--------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
755 my ($self, %param) = @_;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
756 $self->throw("Virtual method run() not defined ${ref($self)} objects.");
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
757 }
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
758
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
759
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
760 1;
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
761 __END__
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
762
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
763 #####################################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
764 # END OF CLASS #
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
765 #####################################################################################
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
766
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
767
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
768 =head1 FOR DEVELOPERS ONLY
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
769
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
770 =head2 Data Members
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
771
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
772 Information about the various data members of this module is provided for those
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
773 wishing to modify or understand the code. Two things to bear in mind:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
774
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
775 =over 4
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
776
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
777 =item 1 Do NOT rely on these in any code outside of this module.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
778
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
779 All data members are prefixed with an underscore to signify that they are private.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
780 Always use accessor methods. If the accessor doesn't exist or is inadequate,
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
781 create or modify an accessor (and let me know, too!).
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
782
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
783 =item 2 This documentation may be incomplete and out of date.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
784
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
785 It is easy for these data member descriptions to become obsolete as
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
786 this module is still evolving. Always double check this info and search
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
787 for members not described here.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
788
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
789 =back
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
790
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
791 An instance of Bio::Tools::SeqAnal.pm is a blessed reference to a hash containing
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
792 all or some of the following fields:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
793
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
794 FIELD VALUE
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
795 --------------------------------------------------------------
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
796 _file Full path to file containing raw sequence analysis report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
797
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
798 _mode Affects how much detail to extract from the raw report.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
799 Future mode will also distinguish 'running' from 'parsing'
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
800
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
801
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
802 THE FOLLOWING MAY BE EXTRACTABLE FROM THE RAW REPORT FILE:
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
803
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
804 _prog Name of the sequence analysis program.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
805
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
806 _progVersion Version number of the program.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
807
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
808 _db Database searched.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
809
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
810 _dbRelease Version or date of the database searched.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
811
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
812 _dbLetters Total number of letters in the database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
813
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
814 _dbSequences Total number of sequences in the database.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
815
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
816 _query Name of query sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
817
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
818 _length Length of the query sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
819
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
820 _date Date on which the analysis was performed.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
821
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
822
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
823 INHERITED DATA MEMBERS
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
824
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
825 _name From Bio::Root::Object.pm. String representing the name of the query sequence.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
826 Typically obtained from the report file.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
827
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
828 _parent From Bio::Root::Object.pm. This member contains a reference to the
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
829 object to which this seq anal report belongs. Optional & experimenta.
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
830 (E.g., a protein object could create and own a Blast object.)
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
831
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
832 =cut
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
833
1f6dce3d34e0 Uploaded
mahtabm
parents:
diff changeset
834 1;