NAME
Bio::Tools::BPlite::Iteration - object for parsing single iteration of a PSIBLAST report
SYNOPSIS
use Bio::Tools:: BPpsilite;
open FH, "t/psiblastreport.out";
$report = Bio::Tools::BPpsilite->new(-fh=>\*FH);
# determine number of iterations executed by psiblast
$total_iterations = $report->number_of_iterations;
$last_iteration = $report->round($total_iterations);
# Process only hits found in last iteration ...
$oldhitarray_ref = $last_iteration->oldhits;
HIT: while($sbjct = $last_iteration->nextSbjct) {
$id = $sbjct->name;
$is_old = grep /\Q$id\E/, @$oldhitarray_ref;
if ($is_old ){next HIT;}
# do something with new hit...
}
ALIGNMENTS
# This assumed that you have $db pointing to a database, $out to an output file
# $slxdir to a directory and $psiout
# note the alignments can only be obtained if the flag "-m 6" is run.
# It might also be necessary to use the flag -v to get all alignments
#
my @psiparams = ('database' => $db , 'output' => $out, 'j' => 3, 'm' => 6,
'h' => 1.e-3 , 'F' => 'T' , 'Q' => $psiout );
my $factory = Bio::Tools::Run::StandAloneBlast->new(@psiparams);
my $report = $factory->blastpgp($seq);
my $total_iterations = $report->number_of_iterations();
my $last_iteration = $report->round($total_iterations);
my $align=$last_iteration->Align;
my $slxfile=$slxdir.$id.".slx";
my $slx = Bio::AlignIO->new('-format' => 'selex','-file' => ">".$slxfile );
$slx->write_aln($align);
DESCRIPTION
See the documentation for BPpsilite.pm for a description of the Iteration.pm module.
AUTHORS - Peter Schattner
Email: schattner@alum.mit.edu
CONTRIBUTORS
Jason Stajich, jason@cgt.mc.duke.edu
ACKNOWLEDGEMENTS
Based on work of: Ian Korf (ikorf@sapiens.wustl.edu, http://sapiens.wustl.edu/~ikorf), Lorenz Pollak (lorenz@ist.org, bioperl port)
COPYRIGHT
BPlite.pm is copyright (C) 1999 by Ian Korf.
DISCLAIMER
This software is provided "as is" without warranty of any kind.
query
Title : query
Usage : $query = $obj->query();
Function : returns the query object
Example :
Returns : query object
Args :
qlength
Title : qlength
Usage : $len = $obj->qlength();
Returns : length of query
Args : none
newhits
Title : newhits
Usage : $newhits = $obj->newhits();
Returns : reference to an array listing all the hits
from the current iteration which were not identified
in the previous iteration
Args : none
oldhits
Title : oldhits
Usage : $oldhits = $obj->oldhits();
Returns : reference to an array listing all the hits from
the current iteration which were identified and
above threshold in the previous iteration
Args : none
nextSbjct
Title : nextSbjct
Usage : $sbjct = $obj->nextSbjct();
Function : Method of iterating through all the Sbjct retrieved
from parsing the report
#Example : while ( my $sbjct = $obj->nextSbjct ) {}
Returns : next Sbjct object or undef if finished
Args :
Align
Title : Align
Usage : $SimpleAlign = $obj->Align();
Function : Method to obtain a simpleAlign object from psiblast
Example : $SimpleAlign = $obj->Align();
Returns : SimpleAlign object or undef if not found.
BUG : Only works if psiblast has been run with m 6 flag
Args :
_readline
Title : _readline
Usage : $obj->_readline
Function: Reads a line of input.
Note that this method implicitely uses the value of $/ that is
in effect when called.
Note also that the current implementation does not handle pushed
back input correctly unless the pushed back input ends with the
value of $/.
Example :
Returns :
_pushback
Title : _pushback
Usage : $obj->_pushback($newvalue)
Function: puts a line previously read with _readline back into a buffer
Example :
Returns :
Args : newvalue