1Bio::Tools::BPpsilite(3U)ser Contributed Perl DocumentatiBoino::Tools::BPpsilite(3)
2
3
4
6 Bio::Tools::BPpsilite - Lightweight BLAST parser for (iterated) psi‐
7 blast reports
8
10 use Bio::Tools::BPpsilite;
11 open my $FH, "t/psiblastreport.out";
12 $report = Bio::Tools::BPpsilite->new(-fh=>$FH);
13
14 # determine number of iterations executed by psiblast
15 $total_iterations = $report->number_of_iterations;
16 $last_iteration = $report->round($total_iterations);
17
18 # Process only hits found in last iteration ...
19 $oldhitarray_ref = $last_iteration->oldhits;
20 HIT: while($sbjct = $last_iteration->nextSbjct) {
21 $id = $sbjct->name;
22 $is_old = grep /\Q$id\E/, @$oldhitarray_ref;
23 if ($is_old ){next HIT;}
24 # do something with new hit...
25 }
26
28 NOTE: This module's functionality has been implemented in Bio::Sear‐
29 chIO::blast and therefore is not actively maintained.
30
31 BPpsilite is a package for parsing multiple iteration PSIBLAST reports.
32 It is based closely on Ian Korf's Bio::Tools::BPlite module for parsing
33 single iteration BLAST reports (as modified by Lorenz Pollak).
34
35 Two of the four basic objects of Bio::Tools::BPpsilite are identical to
36 the corresponding objects in BPlite - the "HSP.pm" and "Sbjct.pm"
37 objects. This DESCRIPTION documents only the one new object, the
38 "iteration", as well as the additional methods that are implemented in
39 BPpsilite that are not in BPlite. See the BPlite documentation for
40 information on the BPlite, SBJCT and HSP objects.
41
42 The essential difference between PSIBLAST and the other BLAST programs
43 (in terms of report parsing) is that PSIBLAST performs multiple itera‐
44 tions of the BLASTing of the database and the results of all of these
45 iterations are stored in a single PSIBLAST report. (For general infor‐
46 mation on PSIBLAST see the README.bla file in the standalone BLAST dis‐
47 tribution and references therein). PSIBLAST's use of multiple itera‐
48 tions imposes additional demands on the report parser: * There are sev‐
49 eral iterations of hits. Many of those hits will be repeated in more
50 than one iteration. Often only the last iteration will be of interest.
51 * Each iteration will list two different kinds of hits - repeated hits
52 that were used in the model and newly identified hits - which may need
53 to be processed in different manners * The total number of iterations
54 performed is not displayed in the report until (almost) the very end of
55 the report. (The user can specify a maximum number of iterations for
56 the PSIBLAST search, but the program may perform fewer iterations if
57 convergence is reached)
58
59 BPpsilite addresses these issues by offering the following methods:
60
61 * The total number of iteration used is given by the method
62 number_of_iterations as in:
63
64 $total_iterations = $report->number_of_iterations;
65
66 * Results from an arbitrary iteration round can be accessed by using
67 the 'round' method:
68
69 $iteration3_report = $report->round(3);
70
71 * The ids of the sequences which passed the significance threshold for
72 the first time in the "nth" iteration can be identified by using the
73 newhits method. Previously identified hits are identified by using
74 the oldhits method, as in:
75
76 $oldhitarray_ref = $iteration3_report->oldhits;
77 $newhitarray_ref = $iteration3_report->newhits;
78
79 BPpsilite.pm should work equally well on reports generated by the Stan‐
80 dAloneBlast.pm local BLAST module as with reports generated by remote
81 psiblast searches. For examples of usage of BPpsilite.pm, the user is
82 referred to the BPpsilite.t script in the "t" directory.
83
85 Mailing Lists
86
87 User feedback is an integral part of the evolution of this and other
88 Bioperl modules. Send your comments and suggestions preferably to one
89 of the Bioperl mailing lists. Your participation is much appreciated.
90
91 bioperl-l@bioperl.org - General discussion
92 http://bioperl.org/wiki/Mailing_lists - About the mailing lists
93
94 Reporting Bugs
95
96 Report bugs to the Bioperl bug tracking system to help us keep track
97 the bugs and their resolution. Bug reports can be submitted via the
98 web:
99
100 http://bugzilla.open-bio.org/
101
103 Email: schattner@alum.mit.edu
104
106 Jason Stajich, jason-at-bioperl.org
107
109 Based on work of: Ian Korf (ikorf@sapiens.wustl.edu, http://sapi‐
110 ens.wustl.edu/~ikorf), Lorenz Pollak (lorenz@ist.org, bioperl port)
111
113 BPlite.pm is copyright (C) 1999 by Ian Korf.
114
116 This software is provided "as is" without warranty of any kind.
117
118 query
119
120 Title : query
121 Usage : $query = $obj->query();
122 Function : returns the query object
123 Returns : query object
124 Args :
125
126 qlength
127
128 Title : qlength
129 Usage : $len = $obj->qlength();
130 Function : returns the length of the query
131 Returns : length of query
132 Args :
133
134 database
135
136 Title : database
137 Usage : $db = $obj->database();
138 Function : returns the database used in this search
139 Returns : database used for search
140 Args :
141
142 number_of_iterations
143
144 Title : number_of_iterations
145 Usage : $total_iterations = $obj-> number_of_iterations();
146 Function : returns the total number of iterations used in this search
147 Returns : total number of iterations used for search
148 Args : none
149
150 pattern
151
152 Title : database
153 Usage : $pattern = $obj->pattern();
154 Function : returns the pattern used in a PHIBLAST search
155
156 query_pattern_location
157
158 Title : query_pattern_location
159 Usage : $qpl = $obj->query_pattern_location();
160 Function : returns reference to array of locations in the query sequence
161 of pattern used in a PHIBLAST search
162
163 round
164
165 Title : round
166 Usage : $Iteration3 = $report->round(3);
167 Function : Method of retrieving data from a specific iteration
168 Example :
169 Returns : reference to requested Iteration object or null if argument
170 is greater than total number of iterations
171 Args : number of the requested iteration
172
173 _preprocess
174
175 Title : _preprocess
176 Usage : internal routine, not called directly
177 Function : determines number of iterations in report and prepares
178 data so individual iterations canbe parsed in non-sequential
179 order
180 Example :
181 Returns : nothing. Sets TOTAL_ITERATION_NUMBER in object's hash
182 Args : reference to calling object
183
184
185
186perl v5.8.8 2007-05-07 Bio::Tools::BPpsilite(3)