[Bioperl-l] Fwd: Problems with HPSTableWriter

Steve Chervitz sac@bioperl.org
Tue, 14 May 2002 23:55:37 -0700 (PDT)


Andy,

All of the issues you report are indeed fixable. I've seen the "all zero's" bug
before, and I see where the frame reporting is going awry. The only worrisome
bug is strand info on some but not all HSPs. Perhaps you could send me a blast
report or two that illustrate the problem, so I can be sure we're on the same
page.

Thanks for the bug report!

Steve

--- Andy Nunberg <anunberg@oriongenomics.com> wrote:
> >Date: Tue, 14 May 2002 11:01:13 -0500
> >To: sac@bioperl.org
> >From: Andy Nunberg <anunberg@oriongenomics.com>
> >Subject: Problems with HPSTableWriter
> >
> >Steve,
> >thanks for your reply.
> >I tried the HSPTable writer with default columns(all) and I get all 0's for 
> >results.
> >When I specify columns I do get data, except for frame(query frame) and bits
> >parsing a tblastx blast report using ncbi blast 2.02.12 (I am 
> >calling frame,bits,score in columns). The score value printed is actually
> the bit value
> >I am also missing subject strand info on some but not all of the HSP's.
> >
> >Similarly when parsing a blastx report I am missing bits and score as well 
> >as frame info.
> >
> >I tried using the HitWriter calling the same columns as your old table_tiled
> 
> >in Bio::Tools::Blast.pm
> >Here it looks good except I get no bits returned when parsing a TBLASTX
> report.
> >
> >Is this fixable?
> >Andy
> >
> >ps. Below is the script I used for HSPTable, its essentially the script 
> >found in the bioperl/examples
> >use strict;
> >use lib '/u11/bioperl-1.0';
> >
> >use Bio::SearchIO;
> >use Bio::SearchIO::Writer::HSPTableWriter;
> >
> ># These are the columns that will be in the output table of BLAST results.
> >my @columns = qw(
> >		query_name
> >		query_length
> >         hit_name
> >         hit_length
> >         rank
> >		expect
> >		score
> >		bits
> >         frac_identical_query
> >		frac_conserved_query
> >         length_aln_query
> >		length_aln_hit
> >         gaps_query
> >		gaps_hit
> >		start_query
> >		end_query
> >		start_hit
> >		end_hit
> >         strand_query
> >         strand_hit
> >		frame
> >		hit_description
> >		);
> >
> >
> >print STDERR "\nUsing SearchIO->new()\n";
> >
> ># Note that all parameters for the $in, $out, and $writer objects are
> optional.
> ># Default in = STDIN; Default out = STDOUT; Default writer = all columns 
> ># In this example, we're reading from STDIN and  writing to a STDOUT
> >my $in     = Bio::SearchIO->new( -format => 'psiblast', -file => $ARGV[0] );
> >my $writer = Bio::SearchIO::Writer::HSPTableWriter->new(-columns =>
> \@columns);
> >my $out    = Bio::SearchIO->new( -format => 'psiblast', 
> >				-writer => $writer,
> >				  );
> >
> >while ( my $result = $in->next_result() ) {
> >  #printf STDERR "\nReport %d: $result\n", $in->report_count;
> >  
> >  if( $result->hits ) {
> >    $out->write_result($result, ($in->report_count - 1 ? 0 : 1) );
> >  }
> >  else {
> >    
> >	print "Hitless Blast Report: $result\n";
> >    #print STDERR ($result->no_hits_found ? "\n" : "(filtered)\n");
> >  }
> >  
> >  ## For a simple progress monitor, uncomment this line:
> >  #print STDERR "."; print STDERR "\n" if $in->report_count % 50 == 0;
> >}
> >
> >printf STDERR "\n%d Blast report(s) processed.\n", $in->report_count;
> >printf STDERR "Output sent to file: %s\n",  $out->file if $out->file;
> >
> 
> *******************************************************************
> Andy Nunberg, Ph.D
> Computational Biologist
> Orion Genomics, LLC 
> (314) 615-6989
> http://www.oriongenomics.com
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l


=====
Steve Chervitz
sac@bioperl.org

__________________________________________________
Do You Yahoo!?
LAUNCH - Your Yahoo! Music Experience
http://launch.yahoo.com