Bio::Tools::BPlite::Iteration.3pm

Langue: en

Autres versions - même langue

Version: 2008-06-24 (ubuntu - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::Tools::BPlite::Iteration - object for parsing single iteration of a PSIBLAST report

SYNOPSIS

    use Bio::Tools::BPpsilite;
 
    open my $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) 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